Sunday, November 15, 2009

Okay I'm a Liar

Okay, so on reflection, I may have made a few misstatements last time.
Firstofall, the games is probably around v0.0.7 now; I forgot about making a menu system to initialize your character and level up and things. And implementing the menu system nudged me forth into finally rewriting the input system (more on that shortly).
Secondly, "Mechanics derived more from jRPGs" is probably a staight-out lie. Or at least a half-truth. Thing is, I am straight up tired of people just cribbing mechanics right from the d20 system and calling that their gameplay. So, a more accurate statement would have been: "Mechanics made up by me". I suppose this might constitute as throwing down a gauntlet, but for a genre consistently described as being the pinnacle of "gameplay over graphics", the mechanics tend toward similarity more often than not.

So, the new input system. Long story short, instead of each game state having to take into account keypresses, there's now an overarching input system that translates input into a string. Instead of having to say if(event.key.keysym.sym == SDLK_LEFT), I can now just say if(input == "left"). If shift is held down, it either capitalizes the letter where appropriate, or adds S to the front of it. If ctrl is down, C gets added to the front. If alt, M (for meta. Yes it makes perfect sense, just go with it). This simplifies things greatly when it comes to compund inputs. It also makes accessing items off a menus much, much easier programmatically. Instead of having to convert keypress inputs into an integer, then access the data at the right location, I can just iterate over the array and match the input letter with the item letter. It also makes editing the config files (which I will program sooner or later) much easier, as well as greatly simplifying the code for the "Help->Keybindings" command.

And now, in lieu of more content, screenshot time!

Human Warrior fights Goblins


Elven Mage faces off with a Goblin


Halfling Thief appreciates the randomly-generated level

The stats pane is deprecated. I'm probably going to put it on the bottom of the screen. And it isn't going to have every stat on it, but the more important derived stats (HP, MP, ATK, DEF), and XP  out of ToNextLevel (TNL). There will be a separate, more detailed stats page with a full report.
Finally, a list of things to implement before I consider the game v0.1
  • More monsters than just goblins (trivial, enemies already loaded from data file)
  • Menus: class choosing (on levelup, when starting a character), race choosing
  • Enemies attack you as well (trivial)
  • Levelup capabilities
  • Respawning, dynamically generated enemies
For v0.2, I'm looking to have classes unlockable as you level, a multi-level dungeon, and the save system, among other things. Yes, this is getting ahead of myself.

3 comments:

  1. Woot first post?
    Heh, that was fun. Now you have a comment, Jakey.

    ReplyDelete
  2. so tyler

    i'm a friend of jacob's in college and i'm just curious....what's the rest of that nickname? "jakey + ________" he's been hinting but he won't share. any help? :)

    ReplyDelete
  3. Never mind, we tickled it out of him ^_^

    ReplyDelete