Shuruppak logo

Version plan

The following table outlines which features have to be implemented to reach the next development version of Shuruppak. 0.x.0 versions serve as something like milestones, and are good candidates for public releases.
At the same time, this table also serves as some kind of developer's log. If in the course of development some unexpected changes or additions become necessary, this may also be noted in the version plan.
VersionFeatures required for this versionState
0.0.0display routinesdone.
event handlingdone.
basic game structuredone.
player movementdone.
item placement and removaldone.
0.0.1basic monster AI:
 TRACK statedone.
ATTACK statedone.
GATHER statedone.
AMBLE statedone.
0.1.0basic entity statsdone.
basic combat systemdone.
cThing upkeepdone.

The main focus of 0.1.0 is to provide a very basic framework that is interactive enough to resemble a roguelike game.
0.1.1game interface:
 inventory/multiselect/multipagedone.
character display/slotsdone.
message displaydone.
string/integer inputdone.
confirm dialoguedone.
text browserdone.
0.1.2full item handling:
 pile splittingdone.
pile mergingdone.
0.2.0basic game command implementation:
 pick updone.
helpdone.
item actions:
 Equip/Unequip/Drop/Examinedone.
single item action selectiondone.
item list action selectiondone.

Version 0.2.0 version provides Shuruppak with the user interface required for the gameplay.
0.2.1basic level generator:
 room size check algorithmdone.
carving algorithmdone.
level connectionsdone.
0.2.2level flooding:
 time incrementsdone.
water spreaddone.
swimming damagedone.
0.2.3weighted random selection:
 random creature generationdone.
random treasure generationdone.
0.3.0some monsters to play withdone.

With version 0.3.0, the dungeon becomes somewhat more exciting, but most importantly, level flooding (and thus, the time limit) is introduced. This is Shuruppak's unique twist, and it might get interesting from this point.
0.3.1FOV/LOV implementationdone.
0.3.2light sourcesdone.
Use actiondone.
0.4.0advanced game commands:
 examine commandsdone.
walk modedone.

In version 0.4.0, the dungeon will become dark, and light sources of various kinds will be added, as well as some convenience commands.
Attempts are also made to increase the accessibility of the game.
0.4.0aWindows portdone.
0.4.0bSeperate console access module (curses, Windows)done.

Apparently, there is no working curses implementation available under Windows. This is quite unfortunate, and will mean some work...
0.4.1path findingdone.
Fleeing guard AIdone.
revision of AI states (see technical documentation)done.
0.4.2improved monster senses (see technical documentation):
 smellingdone.
sightdone.
infrareddone.
telepathydone.
hearingdone.
systematize body part attributesdone.
0.4.3noise emissionsdone.
limited visibility in shadowsdone.
extended monster descriptiondone.
0.5.0New AI state: EQUIPdone.
monster inventory use:
 Interestingly, equipping different item groups was quite trivial to implement. The real problem is to determine the best possible equipment. The method used in cThing.IsBetter () seems to work, but certainly needs more refinement.
armourdone.
weaponsdone.

Monsters will become somewhat clever by version 0.5.0. For the first time, they will hunt the player by sight, and additional senses will also be added.
Another new aspect is the introduction of some stealth aspects to Shuruppak. Loud noises alert enemies, while hiding in the shadows may prevent detection. This goes nicely with the monster senses.
0.5.1speed systemdone.
0.5.2interruptible actionsdone.
food system
 entity hungerdone.
entity eatingdone.
0.5.3long-term effects:
 confusionincomplete.
poisondone.
water breathingdone.
0.6.0different damage typespending.
resistancespending.

Up to version 0.6.0, the attributes of Shuruppak entities is probably just a basic system. The missing features will be added by this version.
Some additions to the internal structure are also made, things that should've been given thought to much earlier (long-term effects, long actions).
0.6.1additional dungeon features:
 trapspending.
doorspending.
lockspending.
0.6.2additional monsterspending.
0.6.3extended set of game items:
 weapons, armourpending.
magical itemspending.
toolspending.
0.6.4revision of dungeon generatorpending.
room selection algorithmpending.
0.7.0balance and general clean-uppending.

With version 0.7.0, some diversity will enter Shuruppak. The dungeon will get more varied, and many items will be added. This is a point from which additions will be more or less permanent, while features added earlier (monsters and items in particular) were rather proof-of-concept additions.

0.7.1missile combatpending.
0.8.0magic systempending.

Finally, missile combat will have been added by 0.8.0, at about the same time as the magic system, as both subsystems will probably have similar targeting routines.
0.8.1dungeon tree generationpending.
0.9.0additional dungeon typespending.

The dungeon will get branches and differently themed levels in 0.9.0.
0.9.1extended monster inventory use:
 magical itemspending.
toolspending.
0.10.0advanced AI profiles:
 Fighterpending.
Cowardpending.
Archerpending.
Mage
(and maybe more)
pending.

Just as 0.5.0, version 0.10.0 will end another version cycle focussing on the AI of the monsters in Shuruppak.
0.10.1highscoreincomplete.
winning/losing screenpending.
inter-level screensincomplete.
0.10.2complete saving/restoringbuggy.
0.10.3character generationpending.
0.10.4configuration filepending.
0.11.0game tutorpending.

In the versions leading to 0.11.0, the missing IO interfaces will be added, or template interfaces will be replaced by proper ones.
1.0.0first stable releasepending.

After an extensive bug-squashing period, 1.0.0 will be released without any new features, but a hopefully stable, bug-poor game experience.
1.x.0 (x > 0)artefacts and ego itemsconsidered.
group behavioursconsidered.
companion behaviours (not certain about the benefit of this)considered.
random quests (you got to have them, right?)considered.
...