Sunday, July 21, 2013

Fonts, Menus, Missions

Main Menu

"About..." Screen

Some of the missions are too hard for me


So. I've been doing a few little things, and it seems like I've spent a lot of time, but not a lot of cool screenshots to show for it. So, as usual, the work in progress is up: 

From a "minimal functionality" perspective, I've made a working main menu, which allows you to turn sound on and off (in case you forgot your headphones when you play this at work), as well as the "About..." and credits menu. Also, when you select "Play", you fall into a mission selector, and the four missions are, in fact, somewhat different. Well, they're all "kill three waves of tanks without being killed", but the waves are separately defined. And the ground, sky, and tree colors are all different. Mostly different. There are some differences.

Probably the biggest thing, from a code side, was getting a vector font rendering, as well as generating the data for that font. It's legible, but I wouldn't want to read more than about one screenful of text. Being a vector renderer, I can scale the font how I like, and the font will still look about the same. This will be good for a score display - I think I will have a score, with positive points for each tank you destroy, negative points for losing your buddy tank, and a bonus that ticks down, which will reward the bold.

I also want the buddy tank to be able to send you messages, like "taking damage, bugging out!" or "I'm engaging the enemy". This also ties in to acknowledging orders, which I don't have implemented yet - neither issuing nor acknowledging.

So, looking back a few posts, there's still most of the same TODO list, which I won't duplicate here. Some new thoughts:
  • missions - not exactly new, but missions currently have 3 waves of attackers each. That's a start - I intend to have something like 3 different locations per mission, with a little cutscene as the tanks move from location to location. The cutscene will serve little purpose except to entertain me, and really, that's enough.
  • tank models - I think it's worth poking at the existing tank model inside Blender and saving out a variety of different tanks, mostly having different numbers and sizes of gun barrels. I want the various tanks to look different, once I start getting richer AI and different tank templates.
  • tank templates - I've got several tunable parameters that I could adjust, like armor, movement speed, firing rate, and detection radius. All I really need to do is make a file with all of this in it. Oooh, or I could put all of this into a spreadsheet, then write a script to convert a CSV into JS. That's almost compelling.
  • weather systems - now that I have 4 different battlefield appearances, I kind of want to do something with the weather. We'll see.
  • smarter AI - I expect this is something that I'll end up tweaking until the month is over. I've increased the tank detection radius, which means less opportunity for the player to sneak around, which is maybe OK - this is probably not much of a stealth game, anyway. As I put more obstacles in the world, I'll need to see what feels right. There's going to be a feedback loop between the enemy tank AI, the buddy tank AI, and the level design so that things feel appropriately challenging.
  • tank spawning - right now, all the tanks of a single wave appear at once. There should really be spawner objects (not rendered, just a part of code) that spit out a specified number of tanks per wave.
And there's a bunch of little stuff that's not entirely working; bits of the mission description structure that isn't correctly wired in, objects get moved around within a location between waves. I should set up a bug tracking spreadsheet. 




No comments:

Post a Comment