11/23/10

Some designing

So, as I learned (and I guess still am learning) from the platformer project, there's one golden rule for these projects - design before implementation. It's fun and all to dive head first coding and throwing in some ideas you might have, but if it isn't designed well enough, you'll end up knee deep in... well, you catch my drift.

Sleepless night tonight, so I decided I might as well do some designing and specifications for the roguelike. Some pretty rough ones, nothing too specific yet, but getting there slowly and steady. I might as well paste them here, I guess someone wants to read them. And if you have any ideas or suggestions, feel free to tell me!
http://www.goodfuckingdesignadvice.com/ proves to be always a good source of inspiration for designing.





General specifications
  • World map
  • Persistent levels (eg. once created for save they will remain for the lifetime of that save)
  • SAVE GAMES
  • NPC-characters (merchant(s), healers etc)
  • multiple types of monsters
  • multiclassing for PC (max 3 levels)
  • skill system
  • Aimed spells and projectiles
  • traps?
  • ray-like spells
  • multiple weapon types with multiple damage types (eg hammers – blunt, swords – slashing etc)
  • elemental enhancements to weapons and armors (all kinds of bonuses to damage, resistances etc)
Some thoughts about code
OOP should be the rule all the way.

Prime class for all creatures (NPCs, PC, monsters): should contain variables for all attributes (strength, poison resistance, defence ie) and skills and so forth.
Should contain methods for getting said variables.
PC class should also contain dynamic array (or vector) for inventory and method to return said inventory array/vector.
NPCs and monsters should have a method for declaring random loot drop equaling to their level and creature type (monsters) or predefined drop (NPCs). NPCs and monsters should also have some conversation options defined in case the PC wants to talk to them.

Class for items and weapons, should contain variable (enum?) telling the type of item (maybe subclassing could be good? Or would it just mess things up? Gotta try that to be sure), telling whether it's cursed, uncursed or blessed, and other statistics (damage, elemental enhancements etc etc).

No comments:

Post a Comment