There's really nothing visual that I can point to with this chunk of work, so no screenshot here. But, go ahead and play the game, that's where the pudding is at.
Stuff I did:
- game modes refactoring - I've got this pattern that I've been using, or motif, or code habit, I call it "modeMgr", and it's a convenient way to break up pieces of gameplay. Often, I implement it hierarchically, so, modes can be part of a stack, and sometimes I don't bother. But a mode has some basic drawing and updating, and when its done with what it's doing, it tells the modeMgr to swap to a different mode. I had a sort-of implementation of this going on, but today I cleaned it up a bunch, and now I have several more modes, and they don't have a lot of JavaScript cruft in them. Some cruft, because I have to leave myself some cleaning to do over time.
- title screen / menu - this is the other half of the push and pull of game mode refactoring; now when you get to that "game over" screen, you can go back somewhere, and play a new game.
- missions - it's not impressive yet, but I've set up a data-driven mission structure. Right now, there are three waves of tanks in the one mission that you can get to.
Stuff to do:
- tank templates - different missions will call for different kinds of tanks. The first mission will generally have easier tanks, and later missions will have faster, tougher, smarter tanks.
- smarter tanks - at this point, the game's not challenging, because it's easy to stay out of sensor range and snipe. I have a few ideas:
- longer detection range if they're facing you - as though they could see out the front of the tank, not just pick you up on a radar display
- dynamic paranoia - as player actions effect the tanks, they ought to notice. A bullet hits us? Hm, maybe we should turn in the direction that it came from. A tank just blew up? That's not normal. Let's see about that.
- Chrome crashing - Chrome has been complaining about WebGL having problems occasionally. I had thought this had to do with sound, but now I wonder if I'm doing something weird in my shaders that's not cleaning up properly.
- main menu - the main menu will give you a few buttons to click on. Or at least prompts to do stuff. Maybe I'll just make them keys, that's easy.
- sound toggle - not everybody wants to hear my fancy 2 minutes of screwing around in Audacity sound effects.
- mission menu - select a mission and away you go
- buddy - about time to get a second tank in the mix and see how that changes the feel of the game
- mission interstitial scenes - once you clean out a location, it's time to go to a new location. I intend to have a brief cutscene of you (and your buddy) driving to the new location. Not super long, just enough to sell that you're going to a new place.
- secondary wave spawning - right now, each wave cleans out the level and puts you back where you started. This doesn't feel right when you're already in the location.
- model exporter / normals / dynamic lighting - that thing I keep talking about doing to make the tanks look better.
It feels like there's a lot of stuff left to do, but it's good stuff (even the menus). I think I've increased the scope of the game this weekend - there are enough pieces working that some of the stuff that was just barely good enough before no longer seems acceptable.
No comments:
Post a Comment