Tuesday, April 15, 2008

Current progress on "SDL-Rogue"

This is simply a repost of my own "Roadmap" that I have with the source code. Essentially it's my current achievements and goals document... if it isn't in here, I don't intend to implement it. Naturally I might decide to add stuff as I go along, but I usually plan them somewhere I feel it makes sense.

Anyway, the details.

Accomplished:
  • Tile rendering
  • Player rendering
  • Player movement (+ smooth movement)
  • Player collision
  • Camera implementation (+ border limiting)
  • Teleports (= visible or invisible staircases)
  • Upper layer (purely aesthetic drawing layer on top of player)
  • Performance increase + FPS Limiting
  • Doors
  • Popup Menu allowing player to "open door" and "unlock door"
  • Keys (with which locked doors can be opened)
To do:
  • Add stats to the player, render them in the sidebar
    - Name
    - HP & MP
    - STR, INT, DEX, CON, CHA, LUC
    - Keys
    - Money
  • Add Combat (with basic hardcoded weapon)
  • Add "Level up" functionality (stats change dynamically as you level)
    *Not sure how to do this yet, don't want to stick to generic experience/levelling system
  • Add carryable items
  • Add 'treasure chests'
  • Add item usability
  • Add carryable weapons (replacing the hardcoded one)
  • Add Spells
  • Have the following load from a file (instead of being hardcoded)
    > Specific objects (object[#][#])
    > The level (all the rooms)
    > Which tiles are collidable
    > Performance Optimization variables
  • Create a Main Menu, functioning as the program 'home'
  • Add Save/Load Functionality
  • Add ingame Config editting for major functions
  • Create "Random Level" routine to make it a true Roguelike game
  • Create a sepperate level editor to create rooms/levels/worlds
  • Create conversation system
  • Build a Singleplayer campaign
Obviously, there are a few things missing from this list... for instance... I have no idea where I will stick the 'different types of monsters' yet, I'm not even sure how I want to do that (computer generated, hardcoded, from a file) so that, among other things, is something I'll decide on when I feel it becomes necessary.

Everything else just outlines some things I want to do with this game, like a sense of direction. I want to have a singleplayer campaign at some point (because it's cool, and I get to show off my 'comedic conversation making') as well as being able to load a lot of crap from files instead of having that reside inside the program executable.

So it's by no means a complete list of all the things I'm going to do, and in what order I will do them, but it's a decent indication... especially when I'm going "Well... what should I add next?!?"

That's enough for today. I hope to have the stats rendering done by thursday, so that's what I'll be aiming for... now here's to hoping I can motivate myself to get off my ass and go and do that!

Until then!

No comments: