Coin App, LLC

Published September 16, 2009 by Oli Wilkinson, posted by Myopic Rhino
Do you see issues with this article? Let us know.
Advertisement
Panya Inversin answers questions about the development of the game "Max Blastronaut" which came second place in this year's Dream Build Play competition.

A video of Max Blastronaut is

">available on YouTube

How many people in your team and what role did they play in the development of your game?

Coin App consists of only 3 people:

  • Panya Inversin: Designer, Animator
  • Pat Bergschneider: Programmer
  • Dan Pratt: Artist, Graphic Designer

Describe your game to someone who hasn't played it before?

Max Blastronaut is a 4-player beat-'em up on miniature planets. Players can drive vehicles, shoot a variety of weapons, orbit shots around planets, and grab enemies to use as weapons against the invading Dredge Faction.


What inspired the idea behind your game?

The mystery of space and science fiction is a great opportunity to get creative with both design and art. Building off the classic button-masher genre, we've upgraded the combat system with some depth and humor. We've also added other elements to mix up the action, from different vehicles to weapons that enemies can react to in unique ways. Shooting or throwing objects are heavily affected by the planet's gravity. This "Orbit Shot" mechanic adds a further level of skill and strategy to the game.


What type of game development team would you class yourself as?

We're an Independent Developer, in this for the long haul.


How long have you been programming?

Not long at all! Pat, Coin App's main programmer, graduated from the University of Illinois with a degree in Computer Science, but had no official game programming experience until this game. Panya Inversin had no prior programming education or experience and started programming 8 months before Dream Build Play.


How do you feel about being one of the top games in the Dream Build Play 2009 competition?

It's exciting! We've been eager to show our game to the world and get feedback, and Dream Build Play was a perfect choice for us. Being in the top six is an honor, especially with all the great entries this year.


What does Dream Build Play mean to you, personally, as a development team?

For us, Dream Build Play was a way to gauge ourselves against the real world. It was a way to measure up against other independent developers, and to see if our game could stand out.


Have you ever entered Dream Build Play before?

No, this is our first Dream Build Play competition.


What encouraged you to enter this year?

We really wanted to show what we managed to accomplish with XNA. We got in some features that we're proud of, all running at a solid framerate. Our artist, Dan Pratt, managed to give the game a great signature style that helps it stand out a lot. The timing of Dream Build Play was perfect for us also, since it's at a stage where any early feedback would help improve the final game.


What do you feel that participating in Dream Build Play provides for the game development community?

Dream Build Play is a chance for younger developers to see what hobbyists and independent developers are creating, which helps spawn other ideas. The beauty of XNA, and the Indie Games channel, is that anyone can now have a game running on the Xbox360.


Did you design the game up front, or did you let the game idea evolve during development?

The game was originally all designed from start to finish, with a lot planned out. A few months into development, we realized that the design was extremely primitive and really wouldn't stand out from the competition. So the game eventually took a more organic approach, where we'd have spontaneous ideas that we'd think out, refine, and implement. This approach has benefited the design, but is unfortunately difficult to schedule.


What was the most interesting/fun part of the process?

The most fun part of developing Max Blastronaut was being free to explore the game design, and learn development on our own terms as an independent developer. We pushed ourselves hard, and forced ourselves to learn new things.


And the least interesting/fun part?

The least fun part was working without a pre-existing robust toolset. The power of using XNA and starting from scratch was nearly unlimited, but the chance for error was just as unlimited.


Did you have enough time to complete your entry?

Yes, but our entry was only the first level of the full game. We knew this going in to Dream Build Play, so we managed to get in everything we had planned for. We would've liked a bit more time to thoroughly play-test the game.


If you were writing your game again, what would you do differently next time?

Hindsight is 20/20, but we should've cut features sooner. We spent a lot of time on a free-roaming mode to the game because we wanted to start out with a relatively simple task (move a character around in space). The free-roaming mode was eventually cut, but it was a lot of development time we can't get back.


And what would you do the same way?

The organic design process, with all its downfalls, has helped the game greatly. Going forward, we'll still design as much as we can up front, but also we'll schedule time to explore the game universe and let it take us where it wants to go.


Have you ever used the XNA Framework before?

No, this was our first experience with the XNA Framework. Dream Build Play was something we had heard about early on, but entering the competition wasn't our immediate priority.


How did you learn to use the XNA Framework?

Lots and lots of time reading books, blogs like riemers.net and ziggyware.com, studying the Community Samples at creators.xna.com, and the only real way to learn: trial and error.


When developing your game did you use any third party components?

We referenced a few creator's club community samples for things like the lens flare and shadow mapping. For animation, we used a modified version of the KiloWatt animation library (enchantedage.com) from Jon Watte.


Would you consider making any of your code/libraries available on sites such as CodePlex for other XNA developers to use?

Our game engine is heavily influenced by the needs of Max Blastronaut as a game. Therefore, while we would consider making our code available to other developers, at this point everything we have is a bit too specific to our game to be of general help to other developers.


What did you feel, if anything, XNA Game Studio enabled you to do well when working on your game?

XNA Game Studio is the quintessential example of an independent development tool. With the exception of very primitive hobbyist systems in the early years of electronic gaming's infancy, XNA Game Studio is the best chance to date for regular people to create games and run them on their standard home game console. The same Xbox 360 that allows people to play triple-A, multi-million dollar major studio titles also gives them the freedom to dream up an idea and make it come to life. For our team, this was the key. Striking out on our own as a newly formed independent developer with no big names or big money backing us, XNA Game Studio gave us the ability to create our own game, run it on the Xbox 360 and be able to potentially show future investors or publishers that even though our studio is just three people, we can still make a beautiful, fun, console game.


Did you have any challenges to overcome whilst using the XNA Framework?

It seems that all games born of new ideas and started from scratch will be a challenge. For us, every line of code, every model, every texture, and every shader was brand new, so there were bound to be technical problems from time to time. In the development of Max Blastronaut, our biggest challenge was getting the game to perform well on the Xbox 360. The generational garbage collection used by the .NET framework on the PC gave us vastly different performance from the compact .NET framework on the Xbox 360. On the PC we never saw any slowdown from garbage collection, but our Xbox build had a serious framerate hitch every few seconds. We soon figured out that garbage collection was causing our framerate hiccup and went about eliminating all garbage generating code in our game. With the help of CLRProfiler, finding and eliminating garbage generation was fairly straightforward. The only minor snags in the process came from calls to various library functions that were quietly generating garbage. With the help of Reflector, disassembling various functions allowed us to analyze and re-write them in a way that didn't keep re-allocating heap memory every time they were called. After we had eliminated all garbage generation during run-time, the game ran quite smoothly at our target framerate of 30Hz.


Which XNA Framework version did you end up targeting (3.0 or 3.1?)

Our game is currently using XNA 3.1. One of the new features that we utilized was the native video playback system. Early in development we looked at and eventually implemented the Scurvy Media library which allowed us to playback video, but only as large file-size .avi format files. We had to scrap the idea and ended up not using Scurvy due to quality and file-size concerns. However, when XNA 3.1 launched with native support for small file size, high-quality .wmv playback, we were very excited. Literally the first thing you see when you start Max Blastronaut, our company's logo splash video, is made possible by the changes in XNA 3.1.


If you were to offer some advice to other game developers, what would you say to them?

If you haven't started and you're thinking about making a game, get to work! If you have already started, keep going! There's nothing holding you back and the sky is the limit. The XNA community: Microsoft samples on creators.xna.com, developer blogs, and forums provide such an incredible wealth of knowledge about game development. If you've got a question, chances are somebody else has asked that same question somewhere in the forums.xna.com community forum. Even if your team is just a few people or you're working by yourself, look at the great independent games that have come out in the past few years. Braid, Dishwasher Dead Samurai, Castle Crashers, N+, so many great, successful games have been made by teams of fewer than ten people! Take your idea, make a game, and share it with the world. XNA Game Studio gives you the chance to put your game alongside all the major publishers' AAA titles on the Xbox Live Marketplace.


Will you use XNA Game Studio to make another game?

We've been happy with it so far, so unless we target another console, we'll use XNA.


Would you enter another Dream Build Play competition?

If we use XNA again (which we probably will), we'll most likely enter Dream Build Play a second time.


Now that you've got a completed game, what are you planning to do next?

Finish the game! Our Dream Build Play submission was only a teaser of the final game. We still have the rest to finish.


Would you create any further games for the Indie Game portal?

Yes, Indie Games gives players the chance to try out some new, experimental ideas. It's all uncharted territory, and anybody with a Xbox360 can play or make these innovative games.


Cancel Save
0 Likes 1 Comments

Comments

mark07

Looks great to me. But I'm never was into gaming myself. Since my childhood, I always loved making money. I've been collecting and hand over the bottles for money since I was in the third grade. But lately, when I got myself the first PC, I was all about websites and web-development, especially eCommerce websites. I know a company that doing this kind of stuff. You can learn more about them on the following page.

November 30, 2020 06:03 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement