Categories
Geek / Technical

2012 Ludum Dare Gift Exchange

The Ludum Dare Gift Exchange is in its third year, and this time I’m joining in.

The 2012 LD Gift Exchange is kind of like a Secret Santa, but it involves the international Ludum Dare community, so it is very likely that you’ll be shipping a package to the other side of the world, or at least somewhere you can’t easily ride your bike to.

Here is the quick timeline:

  • subscribe to the event
  • go shopping. Buy a present from your local area that you think other people overseas might like, because they can’t get something like that over where they live.
  • Pack it all up
  • Wait for your email with the address of the fellow person you will send the present to
  • Go to the nearest post office and send the package overseas
  • Wait until your very own overseas present arrives and be happy

It’s fun seeing all of the interesting deliveries get opened, with pictures documented online.

Categories
Politics/Government

Vote to Ensure You Get Political Mailings Next Time

US Election Day is tomorrow. It’s supposedly a tight race, and a lot of us will be glad when it is over if only so we can stop hearing about how close it is.

Of course, every election cycle, there are those who don’t vote. They don’t vote because of a number of reasons, some silly, and some well-reasoned.

But Seth Godin insists that by not voting, you lose any say at all about what you want to see more or less of. In Why vote? The marketing dynamics of apathy, he argues that by opting out of the process, no one has an incentive to make their approaches more pleasing to you.

The goal of political marketers isn’t to get you to vote. Their goal is to get more votes than the other guy. So they obsess about pleasing those that vote. Everyone else is invisible.

Steakhouses do nothing to please vegetarians who don’t visit them, and politicians and their handlers don’t care at all about non-voters.

In 2004, there was a lot of talk about “values-based” voting. Suddenly everyone was bending over backwards to let you know that they were all about values.

In 2008, it was change and hope. Suddenly, every candidate was trying to insist that they were the real “change” candidate.

Today, we have a President who insists on moving “forward”, no matter how slow the pace seems to be, versus a candidate who hasn’t explained how his so-called plan is any more than a list of goals (“A goal without an action plan is a daydream” –Nathaniel Branden). They both insist that they are there for the middle class. And they’ve both been courting voters hard.

If you didn’t vote in previous elections because you don’t find the options appealing, is it any wonder that today’s candidates aren’t appealing to your interests? And why don’t politicians ever express concern for the lower classes? Probably because they are less likely to vote.

A friend has a quote from Plato as a signature in his email:

“Those who are too smart to engage in politics are punished by being governed by those who are dumber.”

I consider myself to be a smart person, and I’m voting tomorrow, if only to help tip the numbers back. B-)

Categories
Game Design Game Development Geek / Technical

The 2012 0h Game Jam

For a lot of people in the world, it is time to set the clocks back an hour. Thanks, Benjamin Franklin.

During the daylight time change, there’s an hour between 2AM and 2AM on Sunday, but due to the fact that it looks like no hours have passed, the question remains: can you make a game in 0 hours?

You can check on the hashtag #0hgame to see how development has gone around the world. Europe has finished their 0h Game Jam. You can see completed games at http://0hgame.eu/games.php. In 0 hours, you can expect some simple yet off-the-wall stuff to be made.

The “keynote” is a bit odd as well:

I’m getting ready for 0h game development by seeing Wreck-It Ralph tonight. Even if it doesn’t help provide any inspiration, it should be a fun time with friends.

Are you participating? How are you preparing?

Categories
Game Design

Breaking Down the Design of Final Fantasy 6

On Google+, Todd Barchok (thedaian) shared a link to a critical analysis of Final Fantasy 6 (or Final Fantasy 3 for those of us who played the SNES version and refuse to assign it a different number out of stubbornness). The author also held a successful KickStarter to critically analyze Chrono Trigger earlier this year.

Years ago, Greg Costikyan wrote Game Criticism: Why We Need It and Why Reviews Aren’t It. It was an article in response to the idea that game reviews (“they give you three stars. Good or bad, that’s all that reviews are concerned about”) and game criticism (“an informed discussion, by an intelligent and knowledgeable observer of a medium, of the merits and importance (or lack thereof) of a particular work”) are the same thing.

Reviews are about making you an informed customer. Do you want to purchase this game? Is it worth your time?

Criticism is more than whether or not a game is a good purchase. Costikyan says that there are many valid ways to critique a game. You can compare a game to others in the same genre. You could compare the game to others in its series. You could think about the game’s mechanics and whether or not they succeeded in the way the designer intended. You could analyze how the mechanics support a certain play style.

As Ian Schreiber says in the Game Criticism and Analysis level of his online Game Balance Concepts course he ran in 2009:

I have mentioned before that an important game design skill to have is the ability to critically analyze other people’s games. I think about half of the reason why I am as far along as I am in my career, personally, is that I have the ability to play a game and offer direct constructive feedback that is useful to another designer.

When I play a game, I find great enjoyment in pulling back the curtain and figuring out how it was put together. I’ve learned that I should make sure that the person I’m playing a new board game with knows this beforehand. Otherwise, it can be very frustrating for them as I nitpick and dwell on the “Why?” of a particular rule. To my wife: once again, I apologize. B-)

The last major analysis I did was about Jason Rohrer’s Gravitation as an artistic game back in 2008. It helped me not only appreciate the game more, but helped me see just how purposeful a game’s design can be.

I enjoyed reading Well Played 1.0: Video Games, Value and Meaning since it was full of articles discussing about games done well . The book is a series, and I realize now that I should buy the next two volumes.

When was the last time you critically analyzed a game?

Categories
Game Design Game Development Games Geek / Technical Linux Game Development Personal Development

LD24: Evolution Game Post Mortem #LD48

My last few Ludum Dare entries have missed the main compo deadline and had to be submitted to the Jam, but my entry for Ludum Dare #24 was finished in time to get judged along with the other 1,000+ entries. That was a big win for me, since my game development in general has felt quite slow.

The theme for LD24 was Evolution, which always makes it to the final round and has never won as a theme until now. I ended up creating a simplistic side-scrolling shooter. It definitely wasn’t my best entry, but health problems made it difficult to do better in the 48 hours.

What Went Right

  1. Leveraging existing tech

    Since LD#18 (“Enemies as Weapons”), I’ve been slowly building up a game engine for Stop That Hero!, my casual strategy game that lets you summon minions to fight heroes who want to put a stop to your evil empire. As I am using test-driven development to work on that game, I ended up with code that is relatively loosely coupled and cohesive. It was quite simple to gut out the STH! parts and leave behind a way for me to immediately create a menu, game play screen, and ending. Instead of spending the first six or twelve hours trying to get an SDL window to shut down properly, I could concentrate on more important things.

    My engine isn’t super powerful. People using Unity or Flash had a huge advantage since so many components are fully-formed and well-designed. Still, I had code that I was able to use in multiple games, and I knew how to use it. I was able to put together my game fairly rapidly.

  2. Better familiarity with tools

    My art program of choice is GIMP. While I’ve been known to doodle on paper since I was a child, I haven’t been very practiced with pixel art or image manipulation. I don’t know how to do 3D modeling very well, but if I did, I would use Blender.

    Over the years, I’ve learned how to use GIMP to create some decently functional art and ads. Selecting shapes, making use of layers, and knowing how to manipulate color goes a long way. What I create is not production-quality, but it works for an LD48.

    Evolution Game Play

    Sound effects were made using DrPetter’s sfxr. Even though it is really easy to use if you just want to generate random sound effects, knowing how the various parameters can be tweaked helps a lot in getting an effect to sound just right.

  3. Iterating fairly well

    My biggest victory came from iterating, even if I could have approached it more intelligently.

    After working out some ideas on paper, I had a basic design for a shooter.

    Initial Design of Evolution game for LD#24

    I wanted the controls to be simple. I came up with some different ways for how enemies would evolve, as well as ways the player’s tank might evolve.

    I wanted different kinds of enemies that came in different sizes, used different movement patterns, and attacked the player in different ways. I even had an idea for a boss character.

    Design Notes of Evolution game for LD#24

    I also thought of Evolutionary Upgrades, aka Power-ups, for the player. Some impacted the tank’s weaponry, such as a spread gun or homing missiles, while others affected the tank’s size or armor.

    Design Notes of Evolution game for LD#24

    Once I had an idea of the kind of game I wanted, I set to work. My initial list of tasks:

    – get the player’s character in the game
    – make it controllable
    – add obstacles (most likely boulders)
    – make collisions between the player and obstacles deadly
    – add an enemy
    – create a wave of enemies
    – create a way to modify the wave of enemies so each enemy evolves in some way

    First, I got a scrolling background. In hindsight, maybe this part could have been left until later. My next goal was to get a controllable tank on the screen, complete with the ability to fire bullets. Having something controllable that early meant that throughout the development of the rest of the game, I could get a feel for the controls. As the game came together, the tank’s controls were updated a few times. I originally had the tank’s movement a bit slow to accelerate, as switching a tank’s directions is probably really hard, but I found it was more annoying than fun. It felt too sluggish. I made it more responsive in the end, and it was better for it.

    Next, I added boulders, followed up with collision detection between the tank and boulders. Now tanks have to avoid obstacles, making the side-scrolling environment a bit more maze-like. In terms of the theme, however, perhaps these obstacles were not the best thing to add earlier, although I did have plans for enemies to interact with boulders by pushing them toward the player if they collided with them.

    Finally, I added killable enemies. The enemy was pretty basic. It moved in a straight line toward the player, didn’t attack, and moved through boulders.

    I realized that I was not going to get all of the enemy types and upgrades in, so I focused on making sure what I had was as finished as I could make it. I added enemy waves, which added more enemies and made them harder to kill as the player progressed. I added a score so you could see how well you’re doing, and I even had time to make some points visibly pop up when you kill an enemy. That last bit was a small aesthetic change, but I think it polished the game up quite nicely. Great bang for buck.

    Now, there are some things I spent time on that I could probably have left until later. The scrolling background wasn’t really necessary, was it? And the enemies were supposed to be the main focus of the design, so why did I work on boulders first? I definitely could have prioritized much better.

    Still, what’s key here is what I didn’t spend time on. I didn’t spend time making tank upgrades, which is good because I didn’t have a need to upgrade the tank. I didn’t spend time making lots of enemy types, which is good because I didn’t have the time to intelligently figure out how they should be introduced. I didn’t spend time to figure out boulder/entity interaction, which is good because who knows if it would have added anything?

    By getting something playable and iterating, I was in a position to reduce scope to finish the game by deadline. Along the way, I almost always had something playable that I could submit by the deadline.

What Went Wrong

  1. Dealing with Back Pain
  2. Shortly before the theme was announced, I was working to get the next release of my casual strategy game Stop That Hero! out the door. Between that project and my responsibilities as President of the Association of Software Professionals, I was sitting at my desk a lot, and it was taking its toll on me. I could feel some tightness in my hip, and so I decided to try to setup my environment so I was standing more.

    I placed a container under my keyboard, and it was raised to the perfect height to let me stand while I work. Everything was great, until I had to use the mouse for some reason, which was still on the desk. I leaned to the right to reach for it, and I didn’t realize I was going to be mousing like that for long. Standing in such an awkward way, coupled with the tightness I was experiencing from sitting for so long for days on end, I ended up with some very, very annoying back pain.

    The Friday before the compo, I went to a massage therapist since I figured it was just tightness that needed to be massaged away. After the compo, I went to a chiropractor because it clearly wasn’t getting better and in fact felt worse.

    But during the compo, I was taking a lot of breaks. I could sit or stand for a period of time, but when the pain started getting distracting, I’d go lie down on my back for a time before I could start working again.

    I lost a lot of productivity to that pain, and I’m still recovering from whatever happened to cause it.

  3. Being Uncool

    My entry didn’t get a rating. It seems that in the time since my last LD, there was a change that if you don’t have a high enough cool rating, you don’t get a listed rating. As I was a bit busy and couldn’t dedicate the time to reviewing other games post-compo, I didn’t get many reviews done. Reviews translate into coolness. With over 1,000 entries, people aren’t expected to review everyone’s games, but there is an expected minimum you should rate. I rated a few immediately after the competition, but between not being able to play Unity-based games and having other priorities, I didn’t get back to it. My only listed rating is Coolness, and I was ranked #986 with a rating of 22% cool.

    There were quite a few 100% Coolness ratings, and those people are awesome. Or they just have a lot of time. Either way, I’m glad they exist.

  4. Doing a poor job of including the theme

    Evolution is always a contender for the finals of theme selection, and I was caught off-guard when it actually won.

    I could have tried to design something involving random genetic changes in entities and seeing which one adapts better to changing circumstances, but it sounded too obvious and also too open-ended. I wanted to try to keep my entry simple and straight-forward since I wanted to submit an entry to the compo instead of the Jam.

    While I had some design notes that I called “evolution,” such as tweaking variables to create new enemy behaviors and types, it really wasn’t evolving so much as creating variations, the kind of thing you’d see in any shooter and most games in general.

    Perhaps I should have thrown a few more ideas at the wall before settling on this side-scrolling shooter. My wife suggested the idea of an “evolving door” which has the benefit of being pun-tastic, but I couldn’t find a good way to incorporate it into my existing design. Judging by the variety of entries, I could have been a bit more creative.

What I Learned

  1. Iterate like you mean it. This is where Agile software development experience really comes into play. If you can create the simplest bit of value, and then build on it, you’re going to ship. If instead you build up scaffolding code to prepare to provide some unknown, vague value, you’re probably going to get mired in delays.

    In previous competitions, I’ve found that I didn’t introduce basic interactivity until a bunch of other things were ready, and I’ve suffered as a result. By getting something player-controllable right away, I was able to not only get a game around it much more quickly, but I was also able to make small changes to the controls until it felt right.

  2. Having good tools and knowing how to use them is great for productivity. To iterate quickly, you need to be able to produce functionality quickly.

    I used to try to create decent art, but between not having much practice and not being familiar with GIMP, I would spend way too much time on art, and in the end, it still looked really bad. I wasn’t getting the return on investment.

    Now, my art skills are still not production-quality, but they are passable, and I am able to create decent programmer art in minutes when it used to take me hours.

    Also, experience counts in general. I write way better code today than I did just a few years ago, and I do so much faster. I terrify myself when I look back on earlier Ludum Dare compos and read through my code.

  3. I need to take care of myself. Up until the compo, I had been doing yoga and taking regular walks. However, poor posture in front of the computer and sitting for way too many hours at a time in those postures did me in. It’s over a month later, and I’m just now feeling fine enough to start stretching and taking walks again. Maybe I need to seriously investigate the standing desk option and even look into a much better office chair.

Summary

If I could do LD#24 over again, what would I do differently? I’d spend more time upfront trying to create a design better suited for the theme that is also simple enough for me to make. I’d make sure my list of tasks was prioritized so that at all times I was working on implementing something that served the core design. And I’d make sure that I had set aside time after the compo and Jam to rate other games. People worked hard on their entries, and with over a thousand of them submitted, it’s unfortunately easy to get buried. I think the coolness rating does a great job of making things fair, and the name is perfect. I want to be cooler next time.

Being able to get a game submitted is still a great feeling, though. In 48 hours, I created a game where there once wasn’t one. Next time, I should hopefully be healthier and able to focus more on game development, and my next entry should be not only minimally complete, but actually enjoyable to play. I’m still aiming for getting #1 in the Overall category, and while it feels like I’m a long way away from challenging other entrants for that position, I’m definitely way closer than I was when I was participating in LD#11 four years ago.

How did your LD#24 go?

Categories
Game Design Game Development Geek / Technical Personal Development

Join Me in the Weekly GBGames Game Dev Co-op Hour

Last week, I decided to try something new. Every week, I’ll do an hour of game development in a Google Hangout, and you’re invited to come along.

Synchronize Your Watches

What: Weekly GBGames Game Dev Co-Op Hour, an hour of game development with you, me, and anyone else who shows up.
When: Every Wednesday morning at 6:00 AM (Central Time) for an hour.
Where: In a Google Hangout. The link will be posted on Twitter and on my Google+ profile a few minutes before the hour starts.

It’s a bit early here, and depending on where you are in the world and your schedule, it may or may not be convenient for you, but I hope you’ll join me. We can discuss game design, talk about what you’re working on, or simply work silently together. I see this weekly hour of public-facing work to be an opportunity to connect with other indie game developers. We’ll laugh. We’ll cry. We’ll become better game developers.

Do you plan to attend the Co-Op Hour?

Categories
Game Development Marketing/Business Personal Development

The Third Ludum Dare October Challenge

Ludum Dare was originally a 48-hour game development competition. Given a theme, you have 48 hours to create an entire game using no pre-existing assets. In recent years it has grown into a huge phenomenon, expanding into a dual-event that occurs three times annually. There are also Mini LDs each month between the major events. And of course, there’s the awesome community that drives it that seems to get bigger and bigger.

Two years ago, PoV launched The October Challenge, which pushed developers to do more than simply create a game. Your task for this challenge was to take your game project, finish it, and put it on the market before the end of the month. Then, when you’ve earned your first dollar, you’ve completed the challenge.

The third October Challenge is here, and it’s a good opportunity for you to learn what it takes to “go pro” in game development.

When the first October Challenge was announced, it came at a perfect time for me. I had recently quit my day job to go full-time, but I had no real plan for how to proceed. I was thinking about how much time I should spend on any one game. Do I try to release lots of small games over the next year, or should I concentrate on making one or two really great games? I didn’t want to churn out crap, but I also didn’t want to put all of my eggs in one basket. After all, I only had so much savings, and the larger the game, the more time I would have to spend on it, which meant the more money I’d burn through. Where’s the optimal balance?

It was also immediately after August’s Ludum Dare #18. The theme was “Enemies as Weapons” and I had created my most ambitious LD48 game, “Stop That Hero!”

I really liked what I had come up with, even though it took me 72 hours to finish so I had to submit it to the LD Jam instead of the main compo, which meant less people played it. Still, the feedback was pretty good, and I was already thinking about polishing the game up and selling it as my first major commercial project. The question was how long I should spend on the updated/better version?

The October Challenge helped answer the question for me. I had a month to finish the game and get it out there.

Unfortunately, I made some major mistakes. I completely rewrote the game from scratch, attempting to learn how to create component-based game objects. I had never written a full-fledged game architecture before, and I was using up a big part of my month building an engine rather than a game. I was trying to make it as data-driven as possible, which made it difficult to settle on a solid vision for the game. And due to my lack of progress, I hit a real funk that I couldn’t shake for awhile. You can read more about what went right and wrong in the Stop That Hero! October Challenge post mortem.

I was determined to sell my first copy, but it clearly wasn’t happening that October. That month, 20 people submitted entries in which they earned their first dollar through pre-orders, ads, or sales. Over the next year, I continued to work on the game, and I sold my first pre-order and earned my first $1 on September 30th, 2011, one day before the next October. I’m still working on it, and you can try out (and purchase!) the current version of Stop That Hero! today.

It took a lot longer than I originally expected, but without this challenge, I don’t know how long I would have gone before figuring out my real strengths and weaknesses as a game developer. I clearly had a lot to learn, and I still do.

So if you’re interested in running your own indie game development business, I would highly recommend participating in this year’s October Challenge. There’s more to running a game development business than developing games, and this challenge is an excuse to find out what’s involved.

Are you participating?

Categories
Games Personal Development

Iowa Game Developer Meetup for October

It has been awhile, but I’ve scheduled another Midwest Mingle on October 11th.

If you’re planning on being in Des Moines, IA next week, come hang out with other game developers to play, demo, and talk games and their design.

Categories
Games Marketing/Business

Why Indies Rule: An FTL Purchase Mistake

Years ago, I had a girlfriend who loved The Sims. She had the original game, plus a bunch of expansions. It represented quite a financial investment at a few hundred dollars.

Then she got a Mac when her PC died. Fortunately, The Sims has a Mac port.

Unfortunately, EA didn’t do the Mac port, and she was told that she would have to repurchase the game and the expansions for the Mac if she wanted to be able to play on her new computer.

Suffice it to say, she decided not to go that route.

Another time, I purchased a copy of an Activision game through a used music store. When I got home, I found out that the game needed a key, and apparently my used copy didn’t have a key. Activision’s support said they couldn’t provide another, so I was apparently out of luck. Now, say what you want about whether or not buying the game used was a smart thing to do in the first place, but the point was that I bought a game and couldn’t play it.

Fast-forward to today. I’ve been seeing some great reports about the game FTL, a space-based roguelike by Subset Games. They had a successful Kickstarter campaign, did well in the IGF, and seem to have quite a fan-base. Jay Barnson mentioned FTL in his Innovation Spotlight series, and they’ve gotten quite a bit of press elsewhere, too.

And then on Google+, I’ve seen a few screenshots, and so I decided to get it myself.

I saw that they offer a few ways to purchase the game. You could buy it on the site directly, through Steam, or through GOG.com.

As Steam isn’t available for Linux yet, I opted to buy through GOG, as I have a bit of a library on that site, and I liked the idea that I could download it anytime I wanted.

Unfortunately, as soon as I submitted my purchase, I realized my mistake. While FTL is available for Windows, Mac, and Linux, GOG only provides the Windows version.

Nooooooooooooooooo! And I wasn’t the only one who made that mistake, based on this thread on the GOG forums: Request for GOG: Linux+Mac versions as extra

So what could I do?

Well, rather than cancel my purchase, I emailed the developers directly. I explained that I made a mistake and wondered if I would be able to get access to the Linux version. I thought that the worst that could happen is that I’d have to cancel my purchase through GOG and repurchase through the FTL site, but maybe there wouldn’t be a need for such ceremony.

The next morning, I woke up to find an email from one of the developers, who provided a link to get the Linux version.

w00t! Indies rule!

This is the kind of simple yet great service that indies can easily provide.

And so this first FTL death is dedicated to Subset Games:

My First FTL Game Over

Thanks!

Do you have any stories about great service from indie game developers?

Categories
Geek / Technical

Why Is It So Difficult to Submit Games to Linux Gaming Sites?

On Monday, I posted the official announcement that the next version of “Stop That Hero!”, aka the Sound Update, has been released.

Existing customers received an email with a link to their copy a couple of weeks ago. There’s a demo available this time, and I’m looking forward to getting feedback about this new version.

I wanted to submit the news to a few Linux-focused sites, but it’s been a bit of a pain to do so. For some reason, many sites don’t seem to handle form data correctly.

When I went to submit a news item to LXer.com, I had some difficulty with a difference between what I submitted and what came back when I previewed the item. It did get published, but the headline was changed by someone to “Announcing the Sound Update”, which makes sense on a site about the game, but isn’t so attention-grabbing on a site that publishes many posts each day.

I learned that The Linux Game Tome updated their forums this past summer, and now submitting or updating entries in their game database is broken. Since no new submissions have arrived since June, according to their main page, I’m going to assume that other people haven’t been able to do so either. I sent an email to the staff and am waiting to hear back.

SubmitANewsItem

And LinuxGames.com needs you to use HTML to format your entry, but if you click Preview, the page reloads and your text is gone. If you click submit, it looks like the same result, only it takes a lot longer to load, so hopefully it got through? You’d have no idea because the site doesn’t indicate that you’ve submitted anything.

And these sites aren’t the only ones with problematic submission forms. In some cases, I have no obvious way to contact the site owners, so I can’t even email someone to say, “Hey, I think I’m having trouble using your site.”

What gives?

It’s 2012. Haven’t best practices for HTML form validation been around for long enough? Why do your users need to be aware of HTML markup to correctly use your website? Why does it feel like there is some trick to it? It’s too bad because I really like these sites, but contributing to them is always awkward and confusing.

What has your experience been when it comes to submitting news of your game to enthusiast sites?