Author Topic: The Red Prison - roguelike based on 5th edition D&D  (Read 1979 times)

pat

  • Bishop
  • ***
  • Posts: 172
    • View Profile
Re: The Red Prison - roguelike based on 5th edition D&D
« Reply #45 on: July 18, 2019, 06:24:37 AM »


After a few weeks delay, a new version is finally up for download. The delay was because I embarked on a bit of a complicated arc of development and the build was too unstable in various ways to release because of these big additions to the codebase.

I've been spending the last couple of weeks playtesting and ironing out bugs and hopefully (!!!) the version that I've released is as bug-free as I can hope for an playable!

Here is a rundown of the big changes:

* Druids - new character class has been added. The big feature of this class is the level 2 ability to use wildshape! There is also a powerful selection of spells available from both the cleric and wizard lists and there'll be more custom spells coming over the next few months.

* Dynamic quests - I've begun the work on making dynamic quests which appear randomly in the dungeon and assign you different and often competing goals. The first step of this rollout is on some dungeon levels, there is a chance that two rival NPC groups will spawn. They are often very, very tough although their makeup is random. Both will task you with killing the other. It is planned that you'll get a big reward for doing so, but that hasn't been implemented yet. It's a bit experimental still although it seems to be working well apart from a hard-to-reproduce weird behaviour where the quest dialogue doesn't work randomly. I'm looking into it though.

* Map generation - with the addition of quests came the need to rework the map generator to set out special areas where these quests would spawn. I also took the opportunity to add special entry and exit vaults for levels so that stairs would spawn in more logical places rather than just randomly in some narrow corridor. So the dungeon generation should seem a fair bit different and more complex with a lot more variety hopefully.

Full change list:

* Fixed bug where casting bless caused a crash due to an error in the stats display code.

* Changed the way that druids get spells so they are now like clerics and instantly know all spells at a level they can cast.

* Updated stats display to properly display the damage type being used when in wild shape.

* Started work on dynamic quest system. Implemented quest object and start of work on generating quest givers and target throughout maps.

* Changed AI to not attack neutrals automatically.

* Made it so that neutrals don't provoke opportunity attacks.

* Built upon dynamic quest system. Added new long message function so that there are popup dialogue boxes to convey the quest instructions. Added quests object into saving and loading games. Ensured that quest objects are removed from general pool of actors when loading and saving and tracked through the quest system instead. Ironed out bugs with finishing kill quests.

* Made it so that quests and their goals spawn on the same floor to prevent what would be an excessive amount of backtracking. Dummy quest currently has two NPCs asking for the death of the other.

* Enlarged map size to accomodate quests on the same map but with targets at opposite ends.

* Added proper_noun flag to deal with oddities arising from wild shape and the name display.

* Added check for player to have blindsight to deal with scenario where player wild shapes into a bat.

* Added checks to make sure that wild shaped creatures can't pick up or drop items as well as not being able to cast, fire or open and close doors.

* Changed autoexplore algorithm to deal with wild shapes being unable to open doors.

* Fixed bug where followers weren't switching loyalty to new wild shape object (and back again) after transformation.

* Implemented preserving intelligence, wisdom and charisma and XP gains across form changes.

* Fixed display issues with wild shape, now it hides the player's true name, race and role and just displays the monster shape with no gaps in spacing.

* Changed map generation to make the complete map 4x3 vaults which is probably a better size and helps with generating times.

* Added new UI option to confirm whether player is sure they want to do an action. Linked this to attacking neutrals.

* Added make_hostile function which recursively works through monster list to check to see what other allied monsters need to be made hostile when player attacks.

* Created basic MagicMonster and RangedMonster AI's to use for non-companion creatures because that hadn't been implemented yet.

* Created new vault type for quests designed so that a tough NPC and followers can spawn there.

* Tidied up quests by removing references to different levels so that all quests occur within a single level.

* Changed sidebar display colours so that allies are green, quests are purple, neutrals are white and hostile are red.

* Added mobs of allies for quest NPC's. Made it so that allies of NPC's can't be convinced to follow player.

* Reworked dungeon generation algorithm so the game distinguishes between normal, stair and quest vaults and implemented all three with basic options.

* Reduced number of quest NPC allies to 1-3 rather than 2-5. It was too cluttered.

* Added a bunch of new stair and quest vaults.

* Added two new dialogue options for each stage of each quest.

* Added more complexity to the way in which names are printed to take into account whether there are proper nouns as names or not and whether a 'the' should be used or not.

* Reworked all messages to take advantage of new naming system.

* Reworked spell messages so that they aren't shown when a caster is out of sight of the player.

* Simplified AI when it comes to healing and reviving because it seems a bit buggy.

* Reduced ally chat by about half because it was happening too much.

* Hopefully fixed a bug causing hangs to do with quest NPC's AI.

* Fixed bug where crash would occur when more than 26 items picked up.

* Hopefully fixed bug where sometimes quest NPC's wouldn't talk.

* Made sure that arrow keys worked as input across the board rather than just some of the time.

* Updated display to show max HP for enemies and neutrals but not current HP.
« Last Edit: July 18, 2019, 10:10:14 AM by pat »

getter77

  • Protector of the Temple
  • Global Moderator
  • Chancellor
  • *****
  • Posts: 4874
    • View Profile
Re: The Red Prison - roguelike based on 5th edition D&D
« Reply #46 on: July 18, 2019, 12:31:24 PM »
Sounds like another fine leap forward~  8)
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

pat

  • Bishop
  • ***
  • Posts: 172
    • View Profile
Re: The Red Prison - roguelike based on 5th edition D&D
« Reply #47 on: August 09, 2019, 01:44:47 AM »
After a bit of a break from development, I've been back into the swing of things and have just released a new version.

The main features of this version are picking up a bunch of small big fixes and changes that I've been making slowly over the last few weeks (while notionally not working on the game) and a big development push into expanding the categories and variety of magic items available in the game.

These now include:

* wands of web, fireballs, lightning bolt and magic missiles;
* dwarven plate armour;
* dragon scale armour of all kinds;
* elven chain mail;
* mithral armour of all kinds
* oil of sharpness;
* rings of poison resistance, invisibility and protection;
* potion of giant strength (with different strengths for hill, frost, stone, fire, cloud and storm giants);
* potion of heroism;
* scimitar of speed.

There are two categories of magic items with common and rare having different chances of being placed in the dungeon. I still haven't finalised how items get distributed because there is new stuff being added all the time so you might find that magic items might prove too powerful and common in the current build and that'll be addressed in due course. Until then, it's probably a good chance to try things out!

One thing that I'm actively monitoring is the strength of wands - the rules say that you get 7 charges and they can recharge after a long rest. In game, this means that you might get, for instance, 7 fireballs each and every rest and this seems a bit too powerful to me. I'm thinking that I'll potentially turn off item recharging, maybe on a case by case basis because it's a poor fit for the game but I'm still undecided.

Next things on my list are to add more druid spells, add more magic items, expand on map generation, and maybe look at implementing barbarians and monks...

All feedback, bug reports or suggestions are more than welcome.

pat

  • Bishop
  • ***
  • Posts: 172
    • View Profile
Re: The Red Prison - roguelike based on 5th edition D&D
« Reply #48 on: August 09, 2019, 04:51:03 AM »
Here's a gif demonstrating the new magic items with the spawn rate turned up to 100% so I have a whole bunch of toys to try out. An unfortunate NPC party found themselves the test subjects:


pat

  • Bishop
  • ***
  • Posts: 172
    • View Profile
Re: The Red Prison - roguelike based on 5th edition D&D
« Reply #49 on: August 12, 2019, 12:10:36 AM »
New version with minimap:


pat

  • Bishop
  • ***
  • Posts: 172
    • View Profile
Re: The Red Prison - roguelike based on 5th edition D&D
« Reply #50 on: August 20, 2019, 11:13:53 PM »


One of the things that RPG's and especially roguelikes seem to do badly is traps. It seems pretty boring to just inflict a certain amount of damage by way of dart trap, arrow trap, spear trap, etc. There's a few deviations from the boring path with rolling boulder traps in nethack, gas traps in brogue and things like that, but I wanted to go in a completely different direction.

So I implemented more of an environmental trap system where when the player steps on a pressure plate, certain doors shut and other doors open changing the shape of the dungeon. The hope is that this will create some tactically interesting situations where the player needs to reassess the path they need to take in an unfamiliar situation and perhaps with allies being unexpectedly stranded outside of the room. I don't want to make these things automatically lethal so they're all fairly benign at this stage but I'm going to add in some dangerous ones next I think. The plan is that they'll be clearly signposted though, ie. the player will see an artifact on a pedestal in a really obvious vault with warning runes on the door. In that scenario the player shouldn't be surprised that when they pick the artifact up, walls open to reveal a group of skeleton warriors or something like that.

Anyway, by doing all this, I created a heap of edge cases where the player might end up trapped forever in a part of the dungeon and I'm trying to avoid this by reworking the situations where these traps can take effect. And the way I'm testing it is by turning off monster generation and running my autoplay feature for as long as possible to hopefully identify any weird situations like that. So the above gif is what my work screensaver for the day looks like.

pat

  • Bishop
  • ***
  • Posts: 172
    • View Profile
Re: The Red Prison - roguelike based on 5th edition D&D
« Reply #51 on: August 23, 2019, 11:01:02 AM »


New version has been released with the biggest changes being the introduction of all-new vaults with interactive features. Currently they are limited to pressure plates which open and shut secret doors, but it has the capacity to be expanded to all sorts of effects.

This is the way that I've decided to implement traps - rather than just a simple trap which causes damage without much other interaction, these traps cause the dungeon to shift around the player. Sometimes this will expose the player to unexpected danger, sometimes the player will find themselves having to survive without their allies for a while, or sometimes it'll just make exploration a bit more interesting.

The next biggest change was the implementation of a form of the cunning action trait for rogues. Thanks to some clever user feedback, the idea is to allow rogues to always withdraw from combat with provoking opportunity attacks through the use of this trait. What this means is that rogues don't have to be as careful when it comes to getting into melee range and it synergises really well with sneak attack. Now rogues can explore and scout without fear because they know that they'll be able to drop back without incurring too much damage to their allies where they can really dish out some damage!

Another important change for ease of use is the implementation of another premade character type - the tiefling druid. This will allow for quick starts for druids and will speed up play for those who just want to dive straight into the game.

Apart from that, here's the full change list:

* Changed the way that the game checked to see if player could see monsters doing certain actions resulting in messages. Hopefully will tidy up some issues to do with this.

* Added fog cloud as a level 1 druid spell.

* Began reworking field of vision calculations to take into account the necessity for some Effects to block sight.

* Added new pre-made character to help with testing - Tiefling Druid.

* Finished updating field of view calculations to take into account effects which block sight.

* Added new tiles for various magic effects.

* Added a non-diggable trait to tiles in special vaults so that set pieces can't be interrupted during mag gen.

* Fixed bug with using oil of sharpness on blunt weapon causing crash.

* Finished implementing special vaults with trigger squares causing walls to appear and disappear.

* Implemented possibility for multiple special vaults per floor.

* Put in a whole bunch of new special vaults including ones that mirror normal vaults to cause some surprises.

* Fixed a bug with healer pathfinding AI which caused a rare crash.

* Fixed aasimar racial charisma bonus to +2.

* Fixed potential bug with dying while in wild shape.

* Fixed potential bug with messy monster deaths.

* Implemented an always-on cunning action trait for rogues which allows them the unique class ability to withdraw from combat without drawing opportunity attacks.

* Reduced spawn rate of rare magic items.
« Last Edit: August 23, 2019, 11:11:37 AM by pat »