Categories
Games Linux Game Development

GOG.com Finally to Offer Linux-based Games

GOG Offering Linux Games

Some of the big news this past week was that GOG.com games will soon be available for GNU/Linux. At least 100 of them by fall of this year, in fact.

No specific games are announced, but it seems after all of these years of dismissing what has been the biggest demand by their community, GOG is finally ready to support games playable on Linux-based devices as official and supported offerings.

Is the decision due in large part to Valve’s recent pushes onto the OS?

No matter what the reason, I welcome the news. Perhaps it will be followed eventually by Unity offering its editor on GNU/Linux as well.

I posted in the past about a mistake I made purchasing a game on GOG because I didn’t realize there wasn’t a Linux-based version available until it was too late. Luckily, the developers provide indie-level support, but I’m looking forward to being able to go to GOG.com to get any updates easily.

What do you think about the news?

Categories
Game Design

Plot Ignored + Unfinished Games = Useless Effort?

Each time I logged into Twitter this week, I’m reminded that I’m not at GDC.

Thanks go to each of you who post about what’s happening. I live vicariously through you.

As for what’s happening, a colleague forwarded this article that covered the talk “Death to the Three Act-Structure” which mentions research by Microsoft that claims players can’t remember the plots of games.

Combine this information with the statistics that show most gamers don’t finish the games they play, and you can imagine how futile it feels to be a game developer trying to create a very intricate interactive story.

Of course, there has been a number of people pointing out that making games is not the same as making movies or books. The more you try to make your game like those other media, the less you rely on the strengths of games.

Games are less about specific details of plot and narrative and more about the experience the player has. You can guide it, you can influence it, but you can’t author it.

It’s 2014, and it sounds like people are finally figuring out that writing for games isn’t the same as writing a novel.

What was your takeaway from the talk?

Categories
General

Merry Christmas, Indies!

I’ve been enjoying time with family, including my nieces who have introduced me to what’s going on in children’s television these days. The oldest one wanted to play with apps on my phone that let her “build, build, build!” I found a very basic Lego app, but if anyone has any better suggestions for a 4 year old, I’d appreciate hearing them.

I hope you’re enjoying a great holiday. Merry Christmas from GBGames!

Categories
Game Design Game Development Games Linux Game Development

November #1GAM Entry: Raking Leaves

November’s One Game a Month entry is uncreatively-named Raking Leaves, a leaf raking simulator chock full of leaf-raking action!

Download Raking Leaves for Linux 64-bit (1.2 MB tar.gz file)

The object of the game is to rake all of the leaves into a single pile. The wind will blow the leaves around, however, and if you lose too many leaves off of your lawn, the game is over.

I had a lot going on this month, and so I didn’t dedicate a lot of time to making a game. Still, I wanted to make something for #1GAM. What could I make?

I recently bought a house, and with home ownership comes the oh-so-fun task of raking leaves. I decided to make a game out of that experience, and raking leaves is usually done in the Fall, which goes along with the optional theme of “Change”, so it was a perfect concept.

I started out making leaves and randomly throwing them about the yard.

November #1GAM

I then added a rake, which replaces the mouse cursor:

November #1GAM

I wanted to capture the frustration of raking leaves, and so when you click and move the rake, the leaves will move, albeit a bit slower than the rake. This means you have to go rake the same leaves over and over to move them a long distance. I was pleased that it was working as well as I had planned.

November #1GAM

I had some funny bugs, such as this accident which features the level resetting over and over, except it wouldn’t reset the number of leaves but merely add to them. It looks like a giant set of orange hedges.

November #1GAM

Another funny moment was after I added wind. I wanted early levels be less windy, while later levels would get more wind. Here is what it looks like to rake in a hurricane:

November #1GAM

Wind affects leaves in a radius around it, and the farther away the leaves are from the center of the wind, the less of an impact the wind will have. It works very well, but out of curiosity, I set the level to 1,100, which has over 20,000 leaves in it and has winds every second. It resulted in some cool visual effects, as you can see in this video:

Eventually I think I achieved a good balance, complete with a scoring system to let you know how well you’ve done compared to your best raking.

November #1GAM

Considering I worked less than seven hours on this project, I’m pleased with what I came up with. I had plans for rocks, bushes, trees, and other obstacles, as well as a child running around jumping into your pile and scattering the leaves. Having sound would help, too, but for now, I think I’ve got one of the best games about raking leaves out there.

Categories
Game Design Game Development Linux Game Development Personal Development

October #1GAM Entry: Candypreneur

October’s One Game a Month entry is Candypreneur, a candy tycoon game inspired by the classic Apple II game Lemonade Stand.

Download Candypreneur for Linux 64-bit (432 kb tar.gz file)

I wish I had dedicated more time to this project. I had surgery and wasn’t able to work on it while I recuperated, and when I was able to spend time on it, I squandered it.

Still, I learned some things, such as that a best practice for representing money in software is by using integer values to represent cents rather than using doubles to represent dollars.

October #1GAM

October #1GAM

I wish I had time to theme it up a bit more. Some candy icons would have helped.

Also, the economics model is too simple. I managed to add random events that can impact the number of prospective customers, which you can sometimes prepare for if you check the reports screen for the upcoming month.

For this project, I had a much more complex simulation in mind. I wanted competitors, suppliers, customer moods, storefronts, candy ingredients, and research & development.

Even when I scaled down, I still didn’t put in things such as the rising cost of advertising or the ability to take out and pay back bank loans.

I’d say this is probably the project I’m least happiest with. I feel like there isn’t enough there, although some last minute additions make it less certain you’ll sell that candy.

Categories
Personal Development

What Do Early Risers Do Better?

Magical Clock

Early to bed and early to rise makes an indie healthy, wealthy, and wise.

While many programmers and game developers might be happy working late at night, some choose to wake up early to get the same benefits: no one else is around to distract you from your work.

Getting more done by 8AM than most people do by noon is just one of the perks of getting up early, but what other habits do early risers get to take advantage of?

From 5 Things Super Successful People Do Before 8 AM:

  1. Exercise.
  2. Plan the day.
  3. Eat a good breakfast.
  4. Visualize success.
  5. Get the most important and difficult stuff done first.

While you might think that you can just time-shift everything in the list, there are incredible benefits to doing them first thing in the morning.

For instance, you probably don’t want to exercise before going to bed at night, as your body is now full of energy. Wake yourself up with exercise instead. On top of that, high quality exercise is something that gives you benefits throughout the day. It’s like having a bonus multiplier on your metabolism.

What do you do first thing in the morning that contributes to your success as an indie?

Categories
Game Design Games Linux Game Development Personal Development

September #1GAM Entry: Hextrap

September’s One Game a Month entry is a clone of the NES game Yoshi.

Download Hextrap for Linux 64-bit (410 kb tar.gz file)

I’ve never made a falling block puzzle game before. I had more ambitious plans, but with ISVCon 2013 taking up a lot of my time, I ended up doing most of my game development hours on the four planes I rode to and from Reno, Nevada.

I started out with creating the four stack platforms, and a swapper which the player controls.

September #1GAM

I created shapes to act as the various pieces: circles, triangles, squares, and pentagons. Hexagons were special. If a top hexagon piece is over a bottom hexagon piece, the pieces in the middle were consumed and the player got bonus points.

September #1GAM

I think what put this project in jeopardy was that I wanted some particle effects. It didn’t take long to implement, but I could have spent my precious time on the game play.

September #1GAM

But it came together quite well, even if I think it feels kind of hacked together at times.

I think the only thing missing is an issue involving the interaction of a swapping stack that is higher than a falling piece. Right now, the falling piece stacks on top, whereas it should flip around to a different stack.

Oh, and sound effects and music would be nice.

The scoring is also much simpler than in the original game.

Enjoy!

Categories
Geek / Technical

Live-action Glitchiness

I saw this amusing and well-done video about a glitch going out of control in the video game world today, so I thought I’d share. I think Alex Meyers would enjoy it in particular.

Do not watch if you are a kid or if it is too early in the morning to process the lack of realism. That glitchy Mario face is creepy.

Categories
Geek / Technical Marketing/Business Personal Development

Shipping Beats Perfection

Ben Kamens is the lead dev of Khan Academy, the incredible free resource for education, recently explained “shipping beats perfection”, one of the organization’s development principles. It’s good reading, plus has pictures of a smiling dog, so you should go read it.

From their principles page:

Scope features down to their core before getting started. Iterate outside of the code. Use mockups, design discussions, and anything else that helps you cut out the nonessential before diving into the 1s and 0s.

Sounds like Agile software development to me. You don’t code immediately after being told what features are needed. You find out what actually provides value. You learn how the feature will be used, which will inform the algorithms and design. You find out what isn’t needed. You’re more likely to deliver the right feature.

But Ben found more explanation is needed. Too many people hear “shipping beats perfection” and think “we ship poor quality.”

He boils it down to three phrases:

We’re willing to be embarrassed about what we haven’t done…

If there’s something missing, that’s temporary. Well, frankly, everything is temporary, but if something is missing, it can be rectified by creating it.

And creating it should only be a decision made if it turns out that there is a demand for it. Energy and effort aren’t expended on guesses at what provides value.

You could try to build everything at once, but more and more, people are realizing that it isn’t necessary. The Lean Startup by Eric Ries is the latest hotness that argues for building a minimum viable product. When you have something out in public, you can learn what the public wants, change your approach to meet the need, and constantly learn and improve.

In a way, you’re throwing spaghetti at the wall. You have something you’re making, but you don’t know how it should feel or look until you get some feedback.

…but not willing to be embarrassed about what we have done.

Whatever is shipped is high quality. It’s not counterintuitive at all. Quality is about what the customer receives. If you don’t build quality in from the beginning, you’re building your product on quicksand, and future work becomes a slog through past poor decisions.

Leave it better

It’s the idea that you never leave an area of code without doing something to improve it.

I’ve written in the past about how you’re responsible for your code. The quality of your code is a result of past decisions. Sometimes hacks are needed to get value out earlier, but eventually you have to pay down the tech debt if you don’t want it to slow you down later.

But how do you know when you’re over-engineering versus purposefully writing tech debt versus hacking?

What’s key is who is being served by your efforts.

If you are embarrassed by code you wrote, you hacked. You and your fellow developers weren’t served by it when you have to return to it later.

If you are embarrassed by what code you needed to change to, then it’s probably tech debt you haven’t gotten to yet.

If you seek out perfection in engineering, however, you have lost sight of the customer.

That last one describes my efforts in creating Stop That Hero!.

A couple of years ago, I wrote about the importance of speed. Getting games to market more quickly, getting feedback from players more quickly, finding the fun as quickly as possible were all things I was failing at. I wrote about how my development was much slower than I would have liked, and I got a lot of advice from commenters.

What a lot of it boiled down to was that my goals weren’t clear. If I was aiming to learn how to write code and how to build things from scratch, I was doing really well. I was practicing test-driven development. I was learning about artificial intelligence. I was even learning how to use the Gimp to create decent programmer art. I was building up discipline, skill, and knowledge.

If, however, I wanted to make an entertaining game for paying customers in order to make a living, I wasn’t doing a good job of focusing on value delivery. The biggest problem was that I didn’t know exactly who my customers would be.

So who determines what quality work really is?

As Michael Gerber explains in One Game a Month site. Are they perfect games? No. Are they commercially competitive? Hardly. But I am proud of what I was able to get out there, and it’s gratifying to hear feedback from actual players.

Khan Academy has internalized this idea of finishing and delivering value as a key principle: “shipping beats perfection”. I need to remember to internalize it myself.

Categories
Marketing/Business

Any Indies in the Reno Area Want to Meet? #isvcon

ISVCon 2013

Next week, I’ll be at Association of Software Professionals, of which I am currently the President.

It’s being held in Reno, Nevada from September 27th – 29th, at the Atlantis Casino Resort Spa.

It’s a great networking opportunity since you get to meet other independent software developers and business owners, discuss best practices, and learn some actionable tips and tricks as well as solid principles about running your own software business.

Also, for three days, there will be presentations and panels on a variety of relevant topics, such as a talk on expanding your business to multiple devices and platforms by Embarcadero’s David Intersimone. Evan Digby of SoftwareShield has a talk titled “Bridging the Gap Between Download and Sale” that I’m very interested in as well. There will be talks on SEO, how to properly setup your business to protect yourself, social media, Cloud and Software as a Service (SaaS), and more, all geared towards helping you improve your business. More details about the sessions are at http://www.isvcon.org/sessions.php.

Plus, I really liked the food and entertainment last year, so I’m looking forward to more. B-)

If you missed it last year, the video archives are up at http://www.isvcon.org/videos.php.

It’s not too late to register for the conference, which you can do at http://www.isvcon.org/register.php. If you plan on being in Reno, you should definitely stop by. I’d love to meet you.