It's been a while since I last updated... since then, I got the game to a state where it was playable and fun for a few minutes. I would need to add some more enemies/spells and spend an age balancing everything if I wanted to release it like that (and I'm guessing I can't just use all those MD3s without permission...). I can't really bring myself to spend time doing that.
So I decided to just press on in a different direction. I changed the camera angle to behind the player, and slightly to the right of him (trying to emulate what I've seen of Gears of War ;)). I also brought out an old 3DS Max exporter that I wrote, exported some geometry, and wrote some code to read that into the engine. Finally, I read through this excellent article and managed to implement collision detection for the character (which seems to work 99% of the time...).
So you can now run around in a little (un-lit) level, without going through walls. The rest of the game is still in there at the moment (although everything that was meant to be viewed top-down looks totally wrong when viewed from this angle, like the blood effects etc.).
I'm not really sure what I want to do with what I've got now; I'm pretty confident that I don't want to finish the game as it was (a clone of Crimsonland), but I'm still quite keen on having ultra-simple gameplay.
My current thoughts: keep it outdoors-based, where the player shoots oncoming hordes of enemies, but have little "towns" consisting of indoor areas, which the player can go back to occasionally. In the town(s) he can spend cash (buy items, etc.) that has been earned off killing monsters. So... very much like Diablo, except 3D, and without any of the dungeon/quest-type stuff.
Anyway, all of this stuff I'm adding to the engine is relatively reusable, so even if I change my mind about the above paragraph within the next few days, I won't have been wasting my time ;P. Next step will be to generate some lightmaps for this geometry.
Finally, a screenshot of some geometry with a single texture on it... the ground plane that I was using before is still sticking through there.
Not much new to report for the game, just been cleaning up code & fixing bugs. I've also been playing around with C# recently... seems really cool.
There was actually a point to posting this entry, however! I made two short videos of the game; they're ultra low-res; that's all Fraps can manage to output on my laptop, I'm afraid. Anyway, here they are:
video 1, just showing me running around and killing some doods video 2, showing spell effect pixel shaders
I spent the last day or so trying to work out why my game wouldn't run outside of Visual Studio. It ran fine in the IDE, no problems. Eventually I worked out that I could get it to run *sometimes*, if I linked with the multi-threaded CRT, as opposed to the multi-threaded DLL CRT. It's comprised of two parts, by the way... my engine, which is a DLL, and the game (which is an executable, obviously).
Finally I ran into this article, which suggests that I need to do some fancy stuff with exporting STL objects if I'm using a DLL. I don't know if that article applies to VS2005, though.. it seems to be targeted at VS 6.0, and other URLs such as this seem to suggest that if I'm using one CRT consistently (which I was already doing) in a post-6.0 version of VS, I shouldn't need to do anything special...
Anyway, I tried that for a while, without much luck. Eventually it dawned on me that I don't really need my engine to be a DLL, so I made it a static library and all seems (relatively) fine now.
At some stage during all this, I took a break and tried my hand at modelling a head in 3DSMax. Considering I've got very little artistic talent, I was quite pleased with the result. The head is still a bit oddly shaped, though. I might try fix it up later today, and then attempt to make a body for it.
So, I've added in a whole bunch of enemies. They have different walk speeds, turning speeds, amount of damage dealt etc., which at least keeps the game interesting for a few levels.
I've also been spicing up the spells system, with a spell tree with prerequisites. You can get "aura" spells now, which are passive and just deal damage to nearby enemies (each aura type deals a different amount of damage, within a different range). You can see in the first screenshot the brighter colours around the player... that's an aura ;P.
Finally, there are now bonuses which you can pickup (like in the original Crimsonland)... as you can see in the screenshot below, a progress bar appears in the top left, which shows how much longer that bonus applies for.
And the screenshots...
The spell tree, with a popup window giving information on the spell the mouse is over:
Have been mostly just cleaning up the code for my game today... it was getting ridiculously messy. I've also added in the rest of the spells, and have ripped a few icons from WoW for them. Before this I just had the spell name at the bottom of the screen, along with the hotkey associated with that spell... icons make it look a lot nicer.
The code clean-up has also made me think that it wouldn't be *too* hard to add a multiplayer mode to this thing, which could be loads of fun. I'll definitely give it a try once the single-player version is finished.
Tonight I'm gonna add in the rest of the enemies. It's pretty quick to add them, but I'm guessing balancing them with the gameplay is going to take some time.
So, this is my first journal entry... hi everyone. I'm gonna try to keep this updated with my progress on the game I'm working on, which is (for the most part) a clone of Crimsonland. It's different in that the main character and the enemies are all 3D, and "equipment" that you pick up are MD3 models (head, torso, legs)... so the look of your character changes while you play.
I'm quite far into development, and I'm hoping to have something complete-ish in the next few weeks. (the models are stolen from polycount, btw..)
Here are a few screenshots:
The "inventory" screen
Picking up items
Inventory screen again, this time with Sonic's legs
Some spells have pixel shader effects that go with them... looks better when it's animated ;p