It’s been a busy week, but the work is now over and I hereby present to you “Devil *MIGHT* Laugh” coffee-break 7DRL:
Source & compiled linux binary: CLICK
It uses ncurses and pure c++, so it should be compatible with all linux systems. I do not know anything about windows and mac, because I don’t work on them at all.
What I did do:
- colors, lots of red – this is hell
- crude LOS – octant based but written by myself without even reading how it should work, so it shows sometimes a little more than should( diagonals )
- weapon system – that was easy and entertaining. weapons appear gradually so you can one-shot fodder on current level and still stronger monsters pose a threat
- messaging system – it was trickier but gives much freedom. I used the same structure for ‘l’ooking system
- looking – doesn’t leave the LOS and uses the message queue, didn’t play with descriptions, the environment is self-explanatory
- random climatic messages and dungeon features
- soul system – you regain mortal features while killing enemies and entering new levels. So from immortal soul stages you become wraith with soul-health pooled together, then an undead with soul-loss resistance but propensity to lose max health while damaged, then a fully soul/health mortal human. Stage advancement determines also the damage bonus and game score.
- three damage types: soul, physical and mixed with intangible stages ignoring physical damage( also from lava )
- healing – you have to rest or kill, resting heals you quickly and when you see an enemy die you have a chance to recover some of your health and soul according to its level
- flags – they are simple 4-lines, nothing fancy
What I didn’t do:
- allies – there are unfortunately no other damned souls you could recruit and use as meat shields. I was going to give the player ability to share some soul points to free them. Shame, if I were to rewrite with more time I would include it, but the current mechanics would make it hard( enemies lock only on the player and there are no target choosing functions etc. )
- clear code – it’s obscure and awfully messy. I started with the goal of coding something clear and readable but the time was chasing so I just sticked those “friend” statements and then even threw the encapsulation away at all. At the end there was a lot of improvisation. Without heavy use of constants( which I learned to love and respect ) it would be impossible even for me to understand what I wrote.
- saving – it wasn’t an option from the start
It turned out to be a REALLY fast-paced coffee-break RL. It isn’t really something you would come back. Can be literally finished in 3 – 5 minutes if you just take first stairs up all the way. But better grab some better weapon first and rest. Also killing monsters gives additional soul which translates to points and quicker advancement. I looks and feels much like easier version of AngelOfBerserk in DoomRL( I think ). Well, that’s it. Any constructive criticism is welcome and encouraged. Peace to all of you!
@edit: thanks to hmp for compiling it for windows: CLICK