Intel sponsors gamedev.net search:   
mittentacularBy mittens      

Sunday, April 27, 2008
For this update, my role in Asplode! was absolutely minimal. While I'm in the middle of a mild crunch for The Political Machine 2008 and then away at Rochester, New York for a Paramore concert, Josh was working asininely hard on version 1.2 of Asplode!. As started, my role in this update was purely peripheral as, in my spare time, I've been working on the start for Bipolar and taking some of Josh's code for his game and turning it into a more generic library that both of us can use in our current and future projects (the library is HardCat Library, obviously). Anyway, major changes:
  • Fixed a bug where the player's time alive, score multipliers, etc. weren't getting reset for successive game sessions.

  • Fixed a bug/leak related to game audio.

  • Complete rewrite of the particle engine's rendering (GPU-driven now).

  • Refactored the enemy code.

  • Now entirely functional on the Xbox 360.

  • Added an option for full screen.

  • High Scores!

Asplode! Installer
Asplode! Source




[Edit]: For some inexplicable reason, the XNA redistributable may still fail to install using the installer, so you may want to manually install it: XNA redistributable.

Comments: 0 - Leave a Comment

Link



Tuesday, April 22, 2008
On Sunday, I linked to the source/executable for my top-down, arena space shooter Asplode! and one of the things I wasn't really proud of was how terrible the performance was for the game. Well, one of my friends took the burden of fixing it up a bit and made an installer. He then passed all of this new fangled technology onto me and, in return, I edited a couple more of the source files, added him to the game's credits, and made a new, updated installer for the game. So here, ladies and gentlemen, is a far more proper release of the game.

This installer will execute the DirectX Web Setup, install the .NET 2.0 Framework if it isn't already, and the XNA redistributable, but it does not contain the source for the game. Like any XNA game, this will require Windows XP or Vista, and, at the very least, a graphics card capable of Pixel Shader 2.0.

Asplode! v1.1


[Edit]: I failed part of the installer, so the XNA redistributable will also need to be installed.

Comments: 3 - Leave a Comment

Link



Sunday, April 20, 2008
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.

Asplode!

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



Comments: 4 - Leave a Comment

Link



Thursday, April 17, 2008
I've been playing a very time-intensive game of musical chairs with various three-dee engines over the course of the last two-and-a-half weeks in an attempt to find the one that would be best suited to my particular development style and the kind of game I want to create. And I can safely say that, tonight, I have reached the ultimate solution. That's right, after toying around with things like TorqueX, Torque Game Engine Advanced, OGRE, Irrlicht, Nebula3, and, finally, PowerRender. The latter two of the list appeared to have the most potential, with PowerRender being the closest thing to what I was looking for, but the most recent iteration of the engine is still under heavy development and, what was the most troublesome, seems to be getting very infrequent updates. So, after all of the wasted time, I decided that I was going to dig out my old C++/D3D9/D3D10 framework and just rip out the D3D9 parts for use in a new framework which I could use in the future.

I got exactly an hour-and-a-half of work done on that last night before I realized that it felt way too much like the kind of engine work I do at my job every weekday. So now, and for realsies, I'm back with XNA. I'll be releasing Asplode! this weekend in its terribly-performing state (and open source) and, hopefully, everything I learned in the development of that will help me create a far more useful toolset this time around as far as memory management is concerned. The most important lesson I have with me that I learned from Asplode! is that the most important thing about memory within a managed environment isn't necessarily the allocation of memory so much as it is the deleting of it. Apparently the garbage collector is a wicked beast that must be appeased in order to maintain stable gameplay performance. I don't know. I'm still getting the hang of the intricacies of C#. When I was working on Asplode! -- and this will be readily apparent in the source if people peruse it -- I didn't know anything about C#. I simply coded as if I would code a game using C++ and, when code didn't compile, I read up on why the error occurred and what I needed to do/learn in order to fix it. Hopefully, this time around, I'm a bit more well-prepared. It also helps that Drilian and I are teaming up for some of the more game-independent stuff.

As a random note, I beat Final Fantasy 7: Crisis Core earlier this week. While I have the same issues with it that I do most RPGs (that the combat becomes asininely annoying by the end of the game), the game did the Final Fantasy 7 universe -- and FF7 is the only JRPG I've ever enjoyed (and loved) -- absolute justice. The story was incredible and provided a lot of great depth on Zack, the inner workings of SOLDIER, and the root for Cloud's identity disorder. And seeing Sephiroth function in more "normal" times and take actual solace in communication with friends/peers was cool. I'm just waiting for my copy of Advent Children to arrive so I can re-watch that. Now it's back to Wipeout Pulse, AoE3: The Asian Dynasties, and more Rock Band. And GT5: Prologue. Grand Theft Auto 4 can come out anytime now as well.

Anyway, yeah, that's about it. I hope everybody has been The Daily GameDev.net news pieces I've been posting every weekday morning. They're almost asininely fun to write up but they do tend to take the place of dev journal updates at times, so if this thing has become a bit more stagnant than usual then that's probably the reason.

Comments: 0 - Leave a Comment

Link



Tuesday, April 8, 2008
I hate so many things about game engines. I spend all day coding graphics/engine stuff so, when it comes to my hobby projects, I would like as much of my work to be as gameplay-focused as possible. Yet it seems that the kind of game engines that would spring to mind first are the most annoying in a number of ways. GarageGames' engines, for instance, are either too immature/buggy/undocumented (TorqueX) or so filled with features and reliant on scripting that it's primarily useless for someone like me who wants as many components/features as possible to be handled from within code. Though Torque Game Engine Advanced, too, suffers from a lack of documentation except for what it has generated from XML comments within the source code.

Anyway, yeah, anger.

I'm looking at some other alternatives for my blob game now. It's very unexciting. And my cat is experimenting with varying orientations of his ears. It's alternating between cute and aerodynamic.

Comments: 1 - Leave a Comment

Link



Sunday, April 6, 2008
My mother and sister were in town this weekend and we went to Ikea. And my Mom brought down a box I had shipped to the house from the Valve Store. The images below are best served with a reference to what my place looked like in January.



It's starting to actually feel like an apartment instead of a glorified dorm room. I like it. Kitty likes it too.

Comments: 1 - Leave a Comment

Link



Friday, April 4, 2008
Last weekend as a result of being hungover after my first time drinking in over a year and waking up on a couch in the apartment of a gay nineteen-year-old friend of my friend's and the first thing I saw being a Hannah Montana poster on the ceiling above the couch where I was sleeping I bought a license to TorqueX Pro. I've used other GarageGames products in the past for various experiments and random fun, but I've never used one to make a full game. I thought I'd use TorqueX for my new game idea involving a depressively-self-abusive blob who resides in the center of a city and the player must build buildings to handle a thriving economy without making the blob too sad so that he hurts himself to death and takes the entire city populace down with him.

I'm calling this game Bipolar.

Anyway, once I found out that TorqueX now had support for 3D rendering I figured that was all I needed to tip my tepid interest in the engine towards a purchasing point. After browsing bits of the documentation and checking out the four included demos I was, on the whole, happy with the way that the engine was packaged and structured. I have never worked with an aggregate-based codebase before, so the concept of TorqueX's "components" was kind of new to me. The documentation seemed solid enough, though, so I wasn't too concerned.

Of course, I didn't realize that the documentation was really only solid for the 2D portions of the engine. The 3D documentation only existed in API form in an included CHM file and is, at best, spotty. I discovered this Monday or Tuesday night when I was trying to cobble together a minimalistic base codebase with some nice debug features. Over the course of the week I grew increasingly familiar with aspects of the engine, though, and I was finally able to get something working a couple nights ago. The problem, for me at least, is that I like developing my game in-code. The engine seems keen on having a great deal of things defined in an XML file (terrain, camera, skybox, and such in the starting package I chose) and I'm not a terribly huge fan of that. Since there aren't really any 3D tools for the engine -- or, at least, none that I've uncovered thus far -- adding things to an XML file is far more unnatural than just coding up my game in a number of C# classes and such (which is a method I enjoy more, anyway). Determining how to properly build up an object/component to act like how I want it to within my C# code took a great deal more effort than I would prefer it to.

The other problem I've discovered is that the engine is surprisingly buggy for a full 2.0 release. Thus far I've found that, though there was a field in the options for it, enabling multisampling crashed all of the included 3D demos. I was able to determine why that was happening without too much effort, but that seems like a fairly obvious error that could be fixed. Another rough spot I found was that the included refraction material (I quite like the material system) seems to have an error where it "blows out" at certain viewing angles as seen below:



On the whole, I like the features that the engine has, I just think it needs more polish and far more documentation. If this was a beta release, I'd be a bit more understanding, but I bought it a week or so after the Torque X Pro 2.0 announcement/release. Blergh.

Comments: 5 - Leave a Comment

Link


All times are ET (US)

The entries in this journal have all been posted, along with many more, at mittens' personal site at www.polycat.net.
 
S
M
T
W
T
F
S
1
2
3
5
7
9
10
11
12
13
14
15
17
18
19
21
23
24
25
26
28
29
30

OPTIONS
Track this Journal

 RSS 

ARCHIVES
August, 2009
July, 2009
June, 2009
May, 2009
April, 2009
March, 2009
February, 2009
January, 2009
December, 2008
November, 2008
October, 2008
September, 2008
August, 2008
July, 2008
June, 2008
May, 2008
April, 2008
March, 2008
February, 2008
January, 2008
December, 2007
November, 2007
September, 2007
August, 2007
July, 2007
December, 2006
July, 2006
June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
November, 2005
September, 2005
August, 2005
July, 2005