It’s been a long time coming, but the next Chicago Indie Game Developer Meetup is here. Check that link for contact information to learn the super secret location.
It’s at Rohit’s place at 7:00 PM. That’s all I can say.
It’s been a long time coming, but the next Chicago Indie Game Developer Meetup is here. Check that link for contact information to learn the super secret location.
It’s at Rohit’s place at 7:00 PM. That’s all I can say.
For this week’s Thousander Club update:
Game Hours: 262.25 (previous year) + 75.5 (current year) = 337.75 / 1000
Game Ideas: 616 (previous year) + 12 (current year) = 628 / 1000
It’s the tail end of crunch at the day job, and I was in Ohio recently. No real development updates this week, which is frustrating. It is definitely not what a game developer would do.
For this week’s Thousander Club update:
Game Hours: 262.25 (previous year) + 75.5 (current year) = 337.75 / 1000
Game Ideas: 616 (previous year) + 12 (current year) = 628 / 1000
If you’re reading this, it is because I have been in Ohio for the past few days for a wedding and have not had a chance this weekend to update my blog. While I didn’t anticipate working on code during my trip, I might have been able to work on plans for my next project. The hours above might not be accurate, and if they aren’t, I’ll update them when I get a chance.
Before Friday, I was able to create and use multiple sound effects for my Space Invaders with Audacity. I’m pleased with my progress. It’s really starting to feel like a “real” game. B-)
Sometimes I find myself in an under-motivated mood, and I have to use motivational modifiers to get my motivation over the difficulty class for game development. Usually I just have to remind myself that there is a reason why I started my own business. The reminder that my business exists is sometimes enough of a bonus to my motivation checks to get me started, and then one of Newton’s Laws of Motion takes over. “Just 15 minutes of game development” can sometimes turn into three hours.
If the fact that I have a business isn’t enough, I post plenty of other reminders around me. My cell phone has a note that I see whenever I pick it up. My desktop wallpaper is an image of my current project with text reminding me to finish the game. If I had music for the game, I would probably try to find a way to get it to be my ringtone and laptop’s startup sound. I have inspirational quotes from motivational speakers, game developers, and historical figures printed out and taped to the wall next to my desk.
If your mind is constantly bombarded by certain ideas and images, you can’t help but think about them. Similarly, if you just let anything get into your thoughts by chance or accident, you won’t be focused. If you go to Wikipedia or YouTube and find that what seemed like five minutes of browsing has become five hours, you know what happened. You saw one thing, then saw another, and then another. Three hours of fascinating clicking later, and you realize that you have just wasted a lot of time, time that you could have spent doing something more important.
Like game development. I try to make my home into an environment in which I can’t help but think about game development. If game development is always in my mind, it is a lot easier to keep myself productive. If I ever catch myself about to make a choice between game development and something else, I ask myself, “Self, WWAGDD?”
What Would A Game Developer Do?
Would a game developer come home from a day job and watch television? Would a game developer feel much anxiety about sitting at the computer to work on a game? Would a game developer procrastinate on game development in favor of chatting online with friends or reading random articles online?
No. A game developer would BE a game developer.
Now, I’m not talking about developing games to the exclusion of family, friends, and hygiene. I just know that I don’t act like a game developer nearly as often as I should, and acting more like one would go a long way to getting games finished and ultimately selling. Why did I watch television after dinner instead of working in my office? Why did I hit my snooze button multiple times in a row instead of waking up and getting an early start on my day? Why did I check my AdSense earnings and blog comments 50 times in an hour?
Because I wasn’t making game development a big enough priority. Because I was allowing insignificant tasks to consume a lion’s share of my time. Because I wasn’t being a game developer. A game developer would spend most of his/her time developing games, and if I want to be serious about being a developer, I would do well to follow a game developer’s lead.
And since I don’t know too many developers personally, I just have to ask myself periodically, “What would a game developer do?” The question usually reminds me that I am a game developer, and as a game developer I should DO game development when I can. I can work on lower priority things another time. So far, I think it is working. I have worked about 10 hours a week for the past few weeks, which is relatively good compared to a few hours per week that I have historically been able to do. With those extra hours, I have been able to make great progress on my projects. The best part is that I still have much more improvement possible.
Oh, and having played Dungeons and Dragons in the past few months, I’ve found that rolling 20s for motivation is a lot easier. B-)
For this week’s Thousander Club update:
Game Hours: 262.25 (previous year) + 69.75 (current year) = 332 / 1000
Game Ideas: 616 (previous year) + 12 (current year) = 628 / 1000
I now have menus in my Space Invaders clone. I had two choices with the implementation. I could have designed it in a generic way so that I could use the menu system anywhere, or I could hack it together so that I can finish this project quicker. As tempted as I was with the first option, I knew it would probably set me back another week or month. I want this project finished as soon as possible, and so I went with the second option. I wrote two classes, one for the main menu and one for the pause menu, but they each had a lot of the same code, especially when handling input. I also had to do some hacks to get the code to run correctly.
Frankly, if I changed the way the input system works so that pointers to handler functions could be submitted, then the input system could simply call the appropriate handlers whenever a key is pressed or released. It keeps the input handling code in one location and leaves less room for error in the remaining code. I would not need to do strange tricks in code such as setting variables to certain values because of the way my current input system works. If I want to work with the menu system some more, I am going to need to make it easier. There is no point fighting it when I can make it do exactly what I want.
Also, I need to start working with audio. The game has been silent long enough. At the very least I should have sound effects. I am going to mess around with Audacity and probably search for free sound effects online.
While the game will be technically finished with the addition of audio, I would also like to “tighten up” the graphics. The game looks terrible. I could do better.
What you see there is my badge for the Great Games Experiment, the social networking community centered around video games. It was created by Jeff Tunnell of GarageGames fame as a platform to get game players and game developers together, solving at least part of the problem of finding an audience for your games.
Since joining, I have submitted a number of entries for the games section and have created one group. Jay Barnson of Rampant Coyote has done such a great job of submitting RPGs that he was given the title of admin of the RPG tag.
Maybe I’ll get the “Obscure games that people didn’t play when they were new” tag admin rights. B-)
In an interview with Jeff, he comments on the benefits for indie members of the site:
Having indie games presented side by side with commercial games should get more recognition for the indies.
Er, why are indie games not considered commercial? In fact, when I am entering information for new game entries, I always find the publisher section weird. The choices are “none”, “indie”, or “commercial”, and if you pick commercial, you get to input the name of the publisher. Why do indie publishers have to be anonymous? Why are indies considered different from commercial in the first place?
Anyway, I’ve found the Great Games Experiment to be a great way to interact with game developers and players. It’s still new, but it is much more relevant than MySpace. And much more stable.
For this week’s Thousander Club update:
Game Hours: 262.25 (previous year) + 60.75 (current year) = 323 / 1000
Game Ideas: 616 (previous year) + 5 (current year) = 621 / 1000
I spent a little over 10 hours on development this week, which is decent compared to previous weeks and considering that I did not put in development time for about half of the week due to all sorts of events. I managed to clean the existing code, fixing a few bugs in the process. I had to get functionality into separate functions so that the menu system would have simple function calls to make to do anything of importance. For instance, if I want to let the player restart a fresh game, I would prefer to call reinitializeGame() than to wrangle all of the appropriate variables. It also helps during development to simply be able to hit the ‘R’ key and have the game call that function. Restarting the game without restarting the application just makes testing that much faster.
My menu system has a stack of Menu objects. If there is a Menu in the stack, then the game is essentially paused and updates are passed through the Menu. Right now, I can pause and resume the game using the PauseMenu object. I can’t actually display choices or let the player pick among them, but I imagine it won’t be too much work to use the existing InputSystem to allow the player to choose among the selections. The menus I create for this game won’t be very general-purpose at all and will likely need to hard-code the choices, but since this project doesn’t need anything incredibly general-purpose, it will be fine.
Inspired by Andy’s words, I changed my desktop wallpaper.
As a lone wolf, I am not accountable to anyone but myself, so it is sometimes too easy to get distracted. It isn’t as if someone else will put together my games for me if I slack off. I am either making progress or I am not.
If I am not purposefully thinking about game development, then other things will start to fill my thoughts. Since I am almost always in front of my computer, having it give me a specific message can only help to keep game development at the front of my mind.
My cell phone doubles as my morning alarm, and I recently posted a reminder on my cell phone’s wallpaper. It simply says, “Why do I want to get up early? To get financially independent as fast as I can.” How can I hit snooze when my financial independence is at stake?!? I can’t help but want to get up early in the morning!
I am also going to change my browser’s home page to a list of projects and next actions. Are there any other places an indie game developer can use to place reminders to focus on development?
For this week’s Thousander Club update:
Game Hours: 262.25 (previous year) + 50.25 (current year) = 312.5 / 1000
Game Ideas: 616 (previous year) + 5 (current year) = 621 / 1000
I couldn’t easily add new code to handle a menu system, so I spent some time cleaning up and refactoring existing code. Things are definitely easier to modify now that they are in separate functions. For instance, I separated out the code to handle initializing the main timer, which means that when I put a menu system in and need it to start a new game, I can simply call that function instead of worrying about updating individual variables.
There are still a few more areas of code that need updating, but I can easily see how a menu system could interact with the game now that I have a few more functions to call. Starting a new game from a menu option is going to be much easier with a function called initializeNewGame(), which will be much easier to write when the individual components involved in initializing a game are also simple function calls.
For this week’s Thousander Club update:
Game Hours: 262.25 (previous year) + 40.5 (current year) = 302.75 / 1000
Game Ideas: 616 (previous year) + 5 (current year) = 621 / 1000
I do not have much to report for this week. I am not going to GDC, but I hope to read the reports from a number of people, including Arthur Mortega. This year, if anyone finds a Darwinian or something equally as cool, please pick one up for me.
Next year I know to get the Indie Pass as soon as I can.