The log that records the player's observations. Eg who bit who. After hectic turns the player can go back and review everything that happened. In the UI it will be a list with a scrollbar. It'll only store a certain number of events, or events for a certain number of turns. This TODO item is in progress.
This is more of a TOTHINK. I was planning on making all skills kind of powerful/useful to the player, not just attribute or combat modifiers. Here are five skills I was thinking about.
- Hearing. This is an active skill that gives the player the ability to focus on hearing things. If they use the skill there will be a chance of detecting nearby things (that make noise) which are out of visual range. If something is heard then it will appear in the message log. Eg the message "you hear the soft padding of large feet to the North", or "you hear water to the east". Improved level of this skill might increase the chance of hearing things, the range, and make the information more specific.
- Clairvoyance. Magical skill. Similar to hearing except it allows you to sense events much further away, even potentially on the other side of the world. This will be a passive skill however. It provides a chance of detecting certain events in the world and putting a message in the log. For example "you feel you are being stalked". With higher levels of the skill the chance could increase plus the information more specific, eg "you feel you are being stalked by a big creature", "you feel you are being stalked by a big creature to the north", "you sense a bear to the north is stalking you".
- Possession. This would be an advanced magical skill. Allows you to temporarily switch control from your character to another creature. You can then control that creature as if it is you. You can shift back at any time. While doing this your own character is stationary and vulnerable to attack. If the creature dies under your control you shift back into your real character. If your character is attacked while you are possessing another creature you automatically shift back. There would probably be a range limit on how far you can walk the possessed creature away from you before you lose the link. Also probably a time limit. Although with an exceptional level of the skill it would be nice to control the creature permanently with unlimited range.
- Empower. This isn't really so much a skill. It basically sacrifices your vitality for magical ability (perhaps mana). Increasing this will reduce attributes like health, strength, speed, etc in exchange for massively increasing magic ability. Therefore if you want to be a wizard type you can go partially down this route (I want to avoid fixed "classes"). Going fully down this route though will leave you largely immobilized (at which point the possession skill would come in very handy).
- Bind. This allows you to bind some of your power and attributes into a wearable item of some kind. The downside is if you take it off you lose those attributes and power. The plus side is much better - if you die you will live on in the item with the attributes the item has. Anyone who wears the item will become possessed by you. After you die there is a dice roll. If you lose that roll the item is never worn (perhaps it's destroyed or thrown in some chasm) and you die - game over. If the role succeeds you are "reborn" as a creature unfortunate enough to have put the item on. You can even put your eggs in multiple baskets by splitting your powers across multiple items, increasing the chance that one of them will be worn and you will play on. Although in that case to regain your full powers you must then seek out and reclaim all the other items which may have by then been scattered through the world.
Equipment screen - It'll be like the inventory screen but with slots in helmet, boots, gloves, etc positions. Need to make some test wearable equipment for this.
Pathfinding - At some point I'll need A*. Should be fairly easy to implement but I need to allow calculations to be made over multiple frames to support really long paths, or just cheat.
Random Map/World Generation - The game is going to be kind of sandboxy so the world is randomly generated. I am going to have a surface world which will need to have random towns and stuff. I'll probably look up how other people do it.
Sound - not a priority. My headphones have broken anyway (that old one side doesn't work problem)
Giant Multi-tile Snake - just for fun. I've always wanted to make a snake that trails 20 or so tiles. In the game it would be what I would call an "unfightable" class of creature you just don't want to meet. Ie you need to just run. If you even try to fight it in melee it will just swallow you. There might only be a handful of these in the world somewhere and you'd just have to be unlucky to encounter it. It won't be the worst class of creature though, I have another class planned I call "unsurvivable" (there are always ways though...)
Shadow Weed - another for fun creature. It's a plant that feeds of darkness and spreads destroying everything in it's path. It's only barrier and it's weakness is light.
Character Attributes - currently they only have health and speed
Combat System - it'll be very simple. Not going for realism, just simple attributes and combat.
More UI work - bah UI work is the most tedious.
Lighting - proper lighting system to support "dynamic light" from placed torches, etc.
Content - So far I have just been implementing things and moving on. Eg one monster, two types of tiles, three animations. Eventually I need to start adding more tile types, monsters, etc. Looks like there are months work left. Due to being familiar with my underestimate ability I would say there is a year work left at least (the above plus other undiscovered features).
Quest - Another TOTHINK. What is the point of the game? The story? I thought about it a bit and decided the story of the game is you are being chased by a powerful group of mages. You escaped from them through a portal to another world, which you find yourself in now. You have limited time until they follow you. The ultimate point of the game is to build up your powers to the point you can face your pursuers down, but you won't have enough time to do that in the world you spawned in. Instead your sub-objective is to "find a way out" of the world itself. Either through building a portal, finding a portal or by some other means. When you exit the world you find yourself in a different randomly generated world. You can keep jumping worlds like that until you think you are ready at which point you can build up defenses (traps, monsters) etc and face them down (and if you fail you can of course duck into that portal you have ready).
XP - I am tempted not to have forward facing XP and leveling system. The player would develop their character through acquiring/improving skills and acquiring better weapons/armor and ultimately they would have to construct a defensive "lair" for the final showdown.