Show/Hide Show/Hide

The Red Prison

 
Finally... a new version of The Red PrisonMar 8, 2022 - Community AnnouncementsHey guys, firstly, can I apologise for the really long delay between new versions with the game. I was distracted by other projects and only just made it back to working on this game. There's actually a heap of behind-the-scenes changes, which I'll outline briefly, along with some important in-game additions, which I might actually start with because it's far more interesting. Additions to the game are merchants and guildmasters. In friendly settlements throughout the Red Prison world, you can find merchants who are stocked with various goods, ammunition and sometimes magic items for you to buy. Prices are affected by your charisma. Players start with some gold now as well, which is also affected by your charisma. There's even a unique merchant placed somewhere within the game (ok... he's in Cindemere), who has an inventory of powerful magic items to buy (or steal - more about that below). You can also sell items to merchants as well, for a far lower price than you'd pay to buy the same item, but the option is there. It's also affected by charisa. It's still in a state of flux, but currently, there's no reason why you can't kill and loot a merchant for their whole stock. And of course, merchants aren't particularly tough opponents. So I added bodyguards to make sure that it was a risky enterprise. If you feel confident of defeating the bodyguard, then the merchant is all yours. This might change in later versions if it's too easy to exploit, but that's how the game works currently. There is only one guildmaster at the moment, with more to come in the future. The plan is to create a roster of unique NPCs to potentially hire and to place them throughout the game. But for now, there is Ingefred the guildmaster in North Warren. She has a collection of hirelings who you can pay to join your party to flesh out your team and cover up and weaknesses. Again, these prices are affected by charisma. And now behind the scenes: a fair while ago I changed the game's code over from an old version of Python (2.7, I think), to the latest version of Python 3. This actually required a fair bit of rewriting, which was annoying, but it all seems fairly stable. That created other problems though and my workflow of compiling and publishing was ruined because I couldn't get the game to play nicely with my previous setup. So I switched my compiling over to a project called Nuitka. It seems to be working really well (after a bunch more headaches with compatibility). The benefit to this is that Nuitka apparently brings about some pretty significant improvements in performance, so I actually think that players might notice the game running a lot better than previous versions! All in all, things are moving forward well and I plan at sticking at it for a while yet and putting out regular updates. Any feedback is more than welcome!New version releasedMay 21, 2020 - Community AnnouncementsChangelog: * Added ability for warlocks to select pact of the chain. * Changed monster death functions to account for summoned creatures not leaving corpses. * Fixed bug with quest generation when starting multiple new games. * Allowed for warlocks to create bats as familiars for testing purposes. * Finished work on shared field of view with familiars. * Added monsters: stone golem, swarm of bats, swarm of insects, swarm of poisonous snakes, swarm of quippers, swarm of rats, swarm of ravens, tiger, triceratops, troll, twig blight, tyrannosaurus rex, vulture, warhorse, water elemental, weasel, werewolf, wight, winter wolf, wolf, worg, wyvern, yeti, young green dragon. * Finished implementing find familiar spell so that you have a choice of a range of monsters. * Made it so that familiar vision now works properly in all graphical modes. * Added ability for allies to describe their traits and proficiencies when asked. * Removed bypass of proficiencies for NPC's and added specific proficiencies for all NPC types. * Added metal property to every armour type so that druids can be restricted when they wear it.New version with overworld, quests, graphics update and moreJan 10, 2020 - Community AnnouncementsA new version of The Red Prison has been released which overhauls a lot of features about the game, but in particular there is now an overworld to explore with a number of dungeons placed over the map, friendly towns to investigate and quests to undertake on the behalf of unique NPCs! {STEAM_CLAN_IMAGE}/34962128/44f0d5999b3dd4f59efac063267943ecf1c07789.png The game plays almost entirely differently with these changes, and while it's all still a work-in-progress, there is plenty of new content to explore. The game will continue to develop from here with more quests, more NPCs, and the development of a story to discover while taking on the challenges in the many different dungeons. Other changes include a graphical overhaul of the world which makes things cleaner and a lot better looking.New version with variable move speeds for PCs, NPCs and monsters, and more!Nov 26, 2019 - Community AnnouncementsThings have been a bit slower for me in terms of putting out new releases. That's been because of a combination of real life commitments which needed to take priority over game dev work but also because there was some big ticket items which would need a fair bit of time to complete and to properly test. {STEAM_CLAN_IMAGE}/34962128/f6c2950477c756701d7ffe51f1f37fe2bdd90723.png This version is one of those big changes and the game now includes variable movement speeds for all creatures. While that might seem like a relatively small change, it required a lot of behind-the-scenes work to implement a kind of energy system for all entities and to translate that to work with each creature's speed. The big reason for the change was the intent to rebalance the game more in favour of melee combat and against ranged combat and spellcasters who spam offensive cantrips. I've always worked on the theory that each on-screen tile represented ten feet in terms of distance. That worked quite well in most respects until you think about the normal PC movement speed being 30 feet per turn. Without that aspect of the rules being implemented, spellcasters and ranged combatants effectively got 3 times as many turns to attack while melee fighters slowly approached them. That's all changed now. It's still a bit experimental because you'll see that when you're actively engaged in combat that other creatures can kinda jump towards you as they move multiple squares at once. That's deliberate and that's part of what I'm monitoring in terms of whether it's actually fun or not. From my own playtesting it feels pretty good, but I'm very open to ideas if someone thinks that movement speeds should be tweaked in any way. Full change list: * Fixed bug with opportunity attacks where a creature has died somehow (I think????) * Implemented constants for time to take actions and movement. Add cooldown variable to all objects to record this. Added method to record this value whenever actions are movements are made. * Finished implementing variable movement speed system - movement now takes 1/3 as long as other actions as base costs and these can be altered to reflect different speeds for each creature for each types of acts. * Changed order of attribute display just to suit my cosmetic preference. * Implemented movement delay of 50% times base value for hidden actors. * Implemented movement delay of 50% times base for wearing heavy armour without requisite strength (apart from for dwarves). * Updated movement speeds for all monsters. * Implemented numpy instead of standard python lists to deal with a number of arrays for map storage to improve speed problems introduced by new speed system... and then removed it because my poor programming actually meant that it was slower! * Did some tidying up of graphics routines to remove redundancies to improve speed. * Added custom time costs for resting, opening and closing doors and talking. * Fixed bug with heavy armour and movement speeds not cal...New version - warlocks, a proper endgame and much moreSep 8, 2019 - Community AnnouncementsI've just released a new version and there's some really quite significant changes: * Warlocks - a fair few players have requested this class be added to the game and the current build has them in there as an experimental option. You can quick-start as an aasimar warlock to try it out quickly. It required quite a bit of work behind the scenes to deal with the different way that warlock's spell slots worked - rather than having spell slots per level like wizards and clerics, they only have a single pool of spell slots to cast all spells from. There's still quite a bit of work to do - there aren't any eldritch invocations in the game yet but there'll be a few options being implemented very shortly and there's plenty of room for more spells. I also need to properly implement low level spells being used with higher spell slots. It wasn't a big priority previously but it's an important aspect of the way which warlocks use magic so I'll be taking a look at that as well. One of the big decisions to make was how to handle the warlock's pact boon. The Pact of Chains and the familiar that it grants felt like a bad fit for a game where fighting is most of the actions that you'll take. I'm still not sure how or if that'll work. Pact of the Blade is a possibility but I haven't implemented it yet, so all warlocks at this stage take the Pact of the Tome. Any feedback or bug reports for the new warlock class would be greatly appreciated - there was a fair bit of work done on them which changed some long standing features of the game so there may very well be something unstable created as a result. * A proper endgame along with balancing dungeon generation - previously the dungeon was of an infinite depth with ever-increasing difficulty the further you went down. That was always just a placeholder though and the intention was always to make a final level with a final encounter. So I decided to cap the dungeon generation at level 20 and implement that final boss, although that encounter will develop more as time goes on. The final boss on level 20 is an adult red dragon with a CR of 17. Considering that the level cap for players is 10, even with a few henchmen, you'll need a lot of luck to stand a chance. Because I picked an end to the dungeon's depth, it made sense to rejig the way that monster generation worked so that players saw a lot more variety as they went deeper. That's been done, but the side effect of that is that the dungeon is now a hell of a lot more dangerous. You'll start seeing tougher monsters immediately and level 1 is no longer a risk-free zone. Hopefully it makes for a much more tense and challenging experience right from the get go. Full change list: * Implemented arcane recovery for wizards. Created a custom menu to deal with this and allocating spell levels up to half character level divided by two but rounded up. * Added dungeon depth cap. Fixed issues with autoexplore and a lack of a downstairs when at max dungeon depth. * Added end game ...Inventory management for alliesAug 26, 2019 - Community AnnouncementsNew version has just been released which allows for the player's allies to be controlled in terms of what weapons and armour they use. This should let character builds who can't use heavy weapons and armour, for instance, to kit out their followers with these things so that they don't go to waste. You can use this feature by 't'alking to your follower and choosing the inventory management option. This will give you the choice to give the follower items to equip or carry along with making them give them back or drop them on the ground. Hopefully it's fairly self-explanatory. The 'l'ook command has also been expanded on so that you can use that to see creatures (which practically at this time is limited to player followers only) and what items they are carrying and have equipped. I might expand this system to giving a visual cue to the player as to when a monster has a special item equipped so that it's more obvious, but this will become more relevant once I introduce monsters using items, not just the player's allies. Along with this, there's quite a few bug fixes in this release as well.Dynamic dungeons with environmental traps, more powerful rogues and moreAug 23, 2019 - Community AnnouncementsNew 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.New version released with minimap!Aug 11, 2019 - Community AnnouncementsWith the latest version you'll have a minimap in the bottom right hand corner for all graphical modes. It shows the player, visible allies and enemies and marks the location of up and down stairs if you've found them. Hopefully this helps people navigate the dungeon a bit more easily and you won't have to change to small ascii mode to find the stairs!New version with wands, rings, potions and artifact weapons and armourAug 8, 2019 - Community AnnouncementsAfter 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. Full change list: * Hopefully (!!!) fixed bug where it won't exit properly in Steam. * Amended stealth formulas so that it should be much harder to spot a hiding creature. * Reworked item generation code. * Fixed long-standing bug where dropping an equipped item wouldn't properly clear the equipped status so it would be automatically equipped when picked up again. * Implemented ring of protection which gives +1 AC and +1 to saving throws. * Fixed crash bug to do with lighting going up levels. * Implemented system of damage immunities, vulnerabilties and resistances to be checked each time damage is applied. * Implemented system of remembering when an NPC has joined party previously. Implemented dismissal of NPC's, them returning to a neutral state but with a flag that they can always be recruited again. * Implemented ring of invisibility which grants on demand invisibility as an ability. Needed to add an adds_trait variable to equipment to give the fighter this ability which is potentially a bit messy if equipment is removed and equipped taking this into account. * Implemented wand of web. Requir...New version - druids, dynamic quests and a heap moreJul 17, 2019 - Community AnnouncementsAfter 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 and 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 siz...New version with six new playable racesJun 27, 2019 - Community AnnouncementsI've decided to widen the scope of the game a bit and expand beyond the original four races plus subraces and things got a bit out of control! Now there's six new races to play: half-elf, half-orc, tiefling, aasimar, kobold and bugbear. This opens up some interesting new character builds: * Kobold rogue - high natural dexterity makes a natural fit for a rogue, but the pack tactics trait synergises really effectively with sneak attack. When you and an ally are both next to a target, you get advantage on your attack from the pack tactics trait and the bonus damage from sneak attacks which becomes very powerful. * Bugbear fighter/rogue - the key feature of the bugbear class is natural reach on all weapons and bonus reach using weapons already with that trait. What it means is that you can be a great weapon fighter and use a polearm to hit monsters 3 squares away. Or you can be a rogue with a finesse weapon and sneak attack from 2 squares away. Both builds become excellent support fighters because you can always attack over the heads of your allies who can take the brunt of the damage for you. * Half-orc fighter - this build makes for a really powerful and direct fighter. The savage attack trait means that when you roll a critical hit, you roll an extra die of damage so you hit extra hard, particularly when combined with the fighter's improved chances at critical hits at higher levels. The relentless endurance trait gives you an extra buffer before being knocked out. Knowing that you can drop to 0 HP once and automatically be given 1 HP to keep fighting means that you're extra resilient in the front of a party. * Aasimar are still under development, but they are already useful support characters no matter what class you choose. The healing hands trait gives you a once per rest ability to heal damage up to your character level. It might not seem like much, but it can revive an unconscious ally during combat which can make all the difference. * Tieflings are also still under development, but a race with darkvision, fire resistance (still a work in progress but will be really helpful to survive enemy spells) and high charisma is a versatile choice for any class.New version released with two-weapon fightingJun 24, 2019 - Community AnnouncementsTwo-weapon fighting is now an option for all classes. although fighters have the ability to utilise the two-weapon fighting style. Without that fighting style, the player can wield a light weapon in both hands. Light weapons include: daggers, clubs, handaxes, light hammers, short swords, scimitars, and sickles. The weapon in the player's main hand works as normal but the weapon in the off hand can make a single attack per round as a bonus action only without any bonus damage from stats and the like. If a fighter takes up that fighting style, then both attacks are made with normal bonuses to damage. It hopefully adds a bit of flexibility to builds and weapon choice in the early game and it seems like it could really come into its own if you manage to track down two powerful light weapons to use together.Reach weapons, new encounter system and a bunch of other changesJun 22, 2019 - Community AnnouncementsSome pretty significant changes took place this week: Made reach weapons work. This was something which didn't really occur to me as being a core part of the game but it's something that a few players have gone looking for almost immediately so it needed to get done. They work via the ranged combat menus by pressing 'f' or 'F' with a limited range. You can select a target within range manually or just use 'F' to auto-target within range. It works alongside thrown weapons as well so that if you're at range, those commands will throw at the target and if you're closer then they will default to a ranged melee attack. Reworked entire encounter and monster generation system. Single monsters are still generated depending on dungeon level and CR of the individual monster. Mob generation was reworked from scratch with new classes for Encounters and Monsters within that encounter so that special types can be defined and mobs can be specified easily with combinations of monsters along with spell users and ranged fighters. It should prove to be easily extensible in terms of special features and new mobs. Full change list (apart from the above): * Updated menu options for ranged/reach attacks. * Updated display to show when wielding a reach weapon. * Redid the following mobs in the new system: bandits with captain; mix of low level undead; kobolds with mages, shamans and slingers; orcs with mages, shamans and chuckers. * Created new mob types: lizardfolk with a large number of weak lizards; single ogre with goblin followers; solo ogre mage. * Turned off seperate factions being generated for different mobs of monsters to experiment with no in-fighting. * Added extra customisation of monster types in mobs. Now individual stats can be specified along with character level so that casting levels can be simulated. Applied upgraded stats to all spellcasters already implemented. * Fixed bug where doors could appear on the outer boundary which let the player walk out of bounds. * Doubled food ration spawn rate. * Fixed issue where fighter's second wind ability took a turn when it should be a bonus action. * Added two different starting kits for fighters. If strength is higher or equal to dexterity, you start with one of longsword, battleaxe and spear and ring mail. If dexterity is higher, you start with one of scimitar, shortsword or whip and leather armour.New monsters, map segments, improved graphics and user interfaceJun 12, 2019 - Community AnnouncementsNew version released and here's the full change list: * Fixed problem with combining various enchantment names by adding a name_tail variable for '+1' and the like to go along with name_prefix and name_suffix. * Added new monsters: plesiosaurus, poisonous snake, polar bear, pony, pteranodon, quipper, rat, raven, reef shark, riding horse, saber-toothed tiger. * Fixed bug with misnamed hawk as blood hawk. * Added change so that when trying to cast spells or do ranged attacks, if the attack or spell doesn't eventuatuate because out of ammo or spells slots etc, no turn is taken. * Added number of new dungeon vaults with emphasis on wide corridors to enhance party play. * Added feature to autoexplore so it finishes on the downstairs. * Resized native tile size from 16x16 to 24x24. Previously I had every tile at 16x16 for some forgotten reason during development and sized these up or down as needed as I used them. This process through the bearlibterminal library had the effect of smoothing out the images as they were upsized which always left me feeling that they looked a bit blurry. Now that effect is removed on a trial basis to see if it feels clearer.New version - name changes for player and NPC's, poison reworked and new monstersJun 1, 2019 - Community AnnouncementsNew version released and the main things that happened this week are: * Custom names for player and for NPC's. During custom character creation you are still given a suggested name (and implied gender) but you can regrenerate this until you're happy or enter your own name. During the game, when giving orders to your allies, you can also choose to name them now as well. * Reworking of the poison system. Before this I just lazily created a 'poisoned' condition which applied 1 hit point of damage per turn for a set number of turns. This didn't really reflect how poison works in the rules where there are a number of different poison types which instead apply damage instantly with various dice rolls to determine this, along with the chance of saving throw against variable difficulties with differing results if you succeed... there's a lot to deal with there from a programming point of view! But it's all implemented now and each monster with venom follows the rules as written in terms of how it's applied, how much damage it does, and whether you have a chance at a saving throw or not and what chance that is. * New enemies: owl, owlbear, panther, pegasus, phase spider. The poison rework actually has been a sorely needed buff for the rogue class because they start with a blowgun and poisoned needles. Needles only do 1 hit point of damage, but on top of that you add the dexterity bonus along with a possible sneak attack bonus and a further possible critical hit bonus AND now a further 1d4 poison damage. The end result is that rogues can dish out quite significant damage against poison vulnerable enemies right from the start of the game and it's even possible (although very hard) to play an effective solo rogue without a light source and specialise in hiding and sneak attacking from the shadows.Download issues resolvedMay 20, 2019 - Community AnnouncementsIt seems that there was a weird problem on the Steam backend which meant the game’s download link wasn’t showing up. It’s now resolved and hopefully everything is working properly.