Motivation

December 1, 2010

I’ve been working as a game developer since the summer of 1989 when I started out working on games for the Atari 7800.  I have a degree in Computer Engineering and have held the role of a programmer throughout my career.  When I was younger, I had a strong interest in game design and I had a number of ideas about what it was that made games better.  I was even lucky enough to do some design work on a game or two.  In the last decade or so, my interest in design has waned a bit, mostly because of the way video games have evolved over the years.  It’s not that I think games have gotten worse, but I think they have gotten a lot more complicated.  My old hypotheses about what made a good game don’t seem to be valid anymore (if they ever were); modern game designers and implementors seem to go against my hypotheses and still produce high quality, commercially successful games.  I still have a nagging feeling that I have some good ideas, though, but it’s not really practical to work against the tide of the modern game industry in my day job.

Maybe it’s possible to test out my old ideas by working alone in my downtime on some little mobile games.  That’s what I hope to find out with Inertia 360.  In addition,over the years I’ve had a number of ideas for game mechanics that I always wanted to try out to see if they’d be fun.  And I always have ideas for running a project efficiently, but can’t really test them out at work.  So Inertia 360 gives me the opportunity to try out a lot of things.

Advertisements

Progress

November 30, 2010

In the last couple weeks, I’ve fleshed out a couple levels and added a second boss.  At this point, I think there’s enough content to call it Alpha (all the functionality is implemented, but not all the levels are in place.

I’ve been working on writing scripts to automate the build/package process so I can automatically create a package file and back up all the source data to make it easy to go back to a given version.  I wrote a Python script to do it all.  This is the first time I’ve used Python for anything serious, and it works pretty well.  In the past, I’ve used Perl for things like this, but I thought I’d give Python a try this time.

My build script interfaces with Mercurial to grab the latest copy of the source code and to generate a version number.  It then builds the executable using gnu make,strips the symbols for the final build, copies data files to a staging directory,then uses Palm-provided batch files to create the ipk file that’s used to install the app to the device.  The script makes a backup of all the necessary files so I should be able to track down a bug in an old version fairly easily.

I’m planning to put the game up on the Beta feed shortly, when I work out whether I can use my current Palm developer account or not.  I’m going to avoid putting my name on the game, but I set up my developer account with my real name.  So I need to see if I can change it or if I need to set up a new developer account.

I just need to finish up putting the credits into the game to fulfill the requirements of the Creative Commons Attribution license under which the art and audio assets are distributed.

Without any marketing effort, I don’t expect many people to see this version of the game, but I’m hoping there are some people with webOS devices that check the Beta feed regularly and might be interested in trying out a new game.

Game Assets

November 30, 2010

The game assets (artwork, audio, etc.) for Brand Name Space Game are all either free,using a Creative Commons license that allows commercial use, or created by me.  This was pretty much the only way I could achieve my budget goal of $0 (that budget excludes my time,of course).

A number of talented artists and sound designers have made assets available to anyone, even for commercial use, via the Creative Commons Attribution licenses.  See creativecommons.org and specifically http://creativecommons.org/licenses/by/3.0/ or http://creativecommons.org/licenses/by/3.0/us/for information about the license.  It allows works to be used by anyone as long as the work is properly attributed.  My game has several credits screens that supply those attributions along with links to the creator’s pages.  I’ll put up attributions on the inertia360.com web site also.

There’s a treasure trove of great scifi-themed pixel art, free to use, at lostgarden.com.  It looks like there’s a some other fantasy-themed art there, too, but I haven’t look at that much.  The scifi stuff is what I use for just about all my artwork in Brand NameSpace Game.

There are a ton of sound samples available under the Creative Commons Attribution license at freesound.org.  It takes a while to sift through all the sounds and settle on ones that sound good, but it’s well worth it.

Free Tools

November 16, 2010

I want to list some of the tools I’m using for the development of Brand Name Space Game in case anyone is interested.  My goal for this game is to have a budget of exactly $0, not counting my time.  To this end, I’m using a number of free and open source tools.

I use Mercurial for version control.  It’s free and it’s convenient to use, especially for a team of one.  Unfortunately, it lacks the ability to lock files, which is a necessity when you’re dealing with binary files that more than one user might edit.  So if I had a full development team with designers and artists, I’d have to come up with a locking solution external to the version control solution, or just use Perforce instead.

For issue and task tracking, I use the free “Student and Startup” version of Fogbugz that is hosted on their servers.  This has been very useful for tracking tasks and I hope touse it for bug tracking as well.  Its method of estimating schedules looks like it will be really useful too, given enough historical data.  I’d like to introduce this tool toa full development team to see if it would help putting together accurate schedules.

I use Gimp to do some light image editing and have found it to be powerful and convenient.I use it primarily to scale images, modify colors, and add transparency, so it doesn’t need to do an awful lot, but it fits my needs perfectly.

I use Audacity for audio editing, although I don’t do too much.  I usually just need to convert from stereo to mono or to cut out parts of sounds and Audacity works fine for that.  For sample rate conversion, I use the command line tool sox, which is great for doing batch processing on audio files.

I use the Tiled editor from mapeditor.org to edit 2D tile maps.  This tool has been great to use, especially since it transitioned from Java to C++.  It makes it really easy to create tile maps and the export format is convenient to use, although I did write a converter to take the XML and turn it into binary data that the game reads.

For text display in the game, I have my own font format.  I built some tools using FreeType 2(to render TrueType fonts to bitmaps) and DevIL (to convert bitmap data to PNG image data).

I use gnu make to build the webOS version of the app and Visual Studio 2008 to build a Windows version for testing.  I use the Visual Studio 2008 editor to edit source code.

Welcome

November 16, 2010

This blog is intended to track the development of Inertia 360 games.I started Inertia 360 to develop mobile games in my spare time.  I plan to blog a little about my background and development process, but mostly I’d like to share information about the game(s).

Check out the Inertia 360 website at http://www.inertia360.com.

I’m currently developing a space game called Brand Name Space Game for the Palm Pre,Pre Plus, and Pre 2.  I may end up supporting the Pixi and Pixi Plus but I don’t have a test device so I’m currently concentrating on the Pre series.

The current state of the game is pre-Alpha.  In this case, that means that I have an engine, some gameplay logic, and a few levels, but not a complete game.  It’s in a state where I’d like to start testing, but I don’t have any QA resources of my own.  My plan is to release it to Palm’s Beta feeds fairly soon.  I’d like to have the following implemented for the first release (which I’ll call an Alpha release even though it’ll be in the Beta feeds):

  • A training stage plus (approximately) 6 gameplay stages and 2 boss stages.
  • An auto-save feature that allows you to pick up at the start of the level you left off.
  • A website with information about the game, including screenshots, and discussion forums.
  • An issue tracking system in place.
  • A way for users to email feedback conveniently.
  • A way for users to email crash dumps.

I currently have all these things ready to go except a couple gameplay stages and a second boss.  I’m working on filling in some new enemy types and the second boss before releasing things.  When those are implemented, the game will have enough in it to get some meaningful testing (game testing and bug testing) done.  The levels are quite small, so there won’t be any more than about 10 minutes of gameplay.

After the Alpha release (hopefully someone will give some feedback on crashes or serious usability issues), I plan to release a Beta with a lot more levels and bug fixes.  I only get a few hours a week to work on the game, so the release schedule is going to be drawn out,unfortunately.

After Beta, I’ll release in the App Catalog if approved by Palm.  I don’t yet know if I want to release an ad-based free game or charge for it.  I expect it’ll be a small game, but I hope people find it find.  As Beta approaches, I’ll have to decide whether I think people will be willing to pay for it.