Trent Polack's site for cats, games, game development, and undeniably powerful sociological insight all with a healthy dose of narcissism.
Performance Issues, Source Code, and ASPLOSIONS!
Published on April 20, 2008 By mittens In Game Developers

Yeah, so, I'm releasing Asplode! now and such. And, along with the game, comes all of the source to the game.

I originally wasn't planning on releasing the source but as development winded down and I started to play the game for longer sessions I soon realized that the game became virtually unplayable on my machine after about seven-eight minutes. I thought this may have been a result of poorly-managed graphical assets so I took a couple days to optimize them (and, as a result, the VectorModel and VectorParticleSystem bits of the code are an absolute mess to comprehend). After I finished doing that I jumped back into the game and, while it ran better for a while, the horrific mid-to-end game performance was still very much a factor. I went through and tweaked and optimized bits of code in other places that seemed like they would cause issues and, still, the performance problems persisted. At that point I decided that, since I got the game to a playable state and I didn't want to devote a whole lot of time to what is, essentially, a Geometry Wars clone, that I would just throw a main menu screen on the thing, an end-game screen, and release the source code and call it a day.

So that's what I'm doing. Here's the game; tremendous performance issues and all.

The Game: Asplode! plays out pretty much like you'd expect; on the 360 controller the left joystick handles movement and the right joystick aims/fires bullets. There is a score multiplier which is slowly increased with every kill made up to and the multiplier reaches a maximum of nine; every time a player dies, the multiplier is reset. There are also three possible weapon upgrades. (which persist after death) which are awarded based on the number of asplosion combos -- any death with a red pentabomb involved. A player has only three lives; I thought about implementing a way for a player to earn more lives but, since I have no life, the least I could do is minimize the amount of life a player can have. So there's three. That's it.

The Source: Uh. Yeah. Just try not to learn anything aside from what never to replicate. Ever.

The Requirements: One of the issues with an XNA title is that there are a few necessary items to install to get one running. So, I'm sorry about that. If it wasn't such a beautiful creation, I wouldn't use it. XNA Redistributable (Included), .NET 2.0 Framework, and I believe a run of the DirectX Web Setup and/or Visual Studio SP1 Redists if the first two don't get the job done.


And now off to start the game which isn't a blatant clone.

No one has commented on this article. Be the first!