Showing posts with label Todo. Show all posts
Showing posts with label Todo. Show all posts

Friday, 8 July 2011

In the next version....

I have a master list of items that comprise my "todo list". There are currently 138 items on it, comprising probably several hundred hours of development work. I'm currently combing through them, looking for achievable items to include in the next release.

So far, I have (typos, poor grammar and all):
  • Implement First level spells - have an array of ints to represent turns left for each spell effect
  • Change item generation so monsters drop more items and less are generated on the floor.
  • Corpses - some creatures drop corpses that can or cannot be chopped for food. Mainly humanoid or goblinoid or animal, or giant, but some are poisonous.
  • Reading a scroll or normal fighting or digging and opening doors produces noise - awakens any monsters within sight. Even ones out of visibility range e.g. "Something stirs in the darkness" a
  • Stealth bonus to stealth skill is reduced by wearing heavy or medium armour. Also thieves get class bonus
  • Add bonus to character stealth roll based upon distance to monster.
  • Monsters attacking makes noise
  • Monster morale? Some monsters flee if overpowered. Make an alert message to say this.
  • Thieves learn sneak much much quicker than other classes
  • Update item descriptions to make more grammatical sense. .
  • Add Elemental invasion gates. That occasionally pump out more creatures every one hundred turns or so so eventually the levels get filled up. Keep a count of the number of creatures killed - if none then allow the gate to be destroyed. Add count to dungeon object to keep track of this.
  • For monster pathing, if monster is weaker then set path to go through, and then swap them with message for pushing past - set other monster squares for pathfinding algorithim to small values equal to uncontested terrain.
  • When there is a unique present on the level, add a level feeling message like "a voice in the distance yells 'who disturbs the domain of blah the bleh'" - randomise the message slightly.

Sunday, 5 April 2009

v0.02 soon

v0.02 is not far off. Here is what is left to be implemented before I can release it:
  • Debug ProcessCreatures() to fix the problems mentioned in my previous post.
  • Add Milestones and Interesting Event Notification to the Character Log/Dump.
  • Keep track of play time. (not turns, but rather realtime spent in game)
  • Improve Vault Population Routines to select more appropriate monsters for the Vault based upon the environment the Vault is contained within (for example, not populating a Vault in the Plane of Elemental Fire with Ice Creatures)
  • Creatures generated as part of a vault should be marked as Vault creatures.
Not that much, eh?

Monday, 30 March 2009

Todo Lists

Every few days, I sit down and work out a new to-do list, which then gets added to the master to-do this. This is this mornings' list (along with priorities I've assigned to them, and estimated coding time):
  • Main Display - Integrate Minimap and Monster View into Main Window (HIGH - 2 hours).
  • Main Display - Fix initial viewport size to be x by x and resize main screen accordingly (MEDIUM - 5 mins).
  • Main Display - Change status bar to be on the right-hand side, above the integrated Minimap and Monster View (HIGH - 30 mins).
  • Main Display - Have an integrated hotbar, which allows shortcut keys for selected spells or items (potions or scrolls) (MEDIUM - 3 hours).
  • Main Display - Implement a priority message system which will display where the status bar currently is (MEDIUM - 30 mins).
  • Minimap - add viewport bounds frame (MEDIUM - 30 mins).
  • Minimap - add monsters as red icons (MEDIUM - 5 mins).
  • Minimap - spin the draw function off into its own thread if performance is an issue (LOW - 1 hour).
  • Inventory - make backpack entries one line in size but twice the width, and get rid of the striping and green colours (MEDIUM - 30 mins).
  • Inventory - instead of colour-coding based upon material, color code known items in inventory based upon quality (MEDIUM - 20 mins).
  • Status Bar - Change hit points and magic points to use a progress bar, green and red, use other colours e.g. yellow for poisoned (HIGH - 1 hour).
  • Gameplay - Implement alertness - add or subtract from the field of view up to a maximum of nine squares, minimum of four squares (LOW - 45 mins).
  • Gameplay - Write an InCombat function (an idea ripped blatantly from some variant of Angband) (LOW - 1 hour).
  • Gameplay - Expand out targeting modes from a binary function to allow targeting for digging, ranged combat, ranged spellcasting, 'walk-to' and more (MEDIUM - 3 hours).
  • Item Handling - Write a proper pluralisation routine for both suffixes and articles (LOW - 30 mins).
  • Refactoring - refactor the Input Handling Code and separate out non-Input code into their own units (LOW - 2 hours).
  • Refactoring - refactor out Vault handling into its own unit (LOW- 1 hour).
  • Refactoring - refactor out the ProcessCreatures() method into its own unit (LOW - 30 minutes).
  • Refactoring - refactor out Combat handling code into its own unit (LOW - 30 mins).
  • Refactoring - adopt a common naming scheme for all units (LOW - 2 hours).
  • Vaults - write code to flip and rotate vaults (LOW - 1 hour)

Giving a total of just over 20 hours of work added this just morning. And for my piece of mind, all this needs to be done before the release of 0.01e, never mind 0.02. This game is turning into a beast. I don't think I ever appreciated how complicated writing a Roguelike could ever be (way back in the mists of time, it was estimated that "2-3 years is about the smallest amount of time in which one can expect a really interesting game to emerge."

I think I'll take a break from coding for a week. Do other things.

But until then, here's a room on the first level of the Fortress Dungeon with a wand and some beasties guarding it (yes, the new monster display window is a ripoff from Crawl):