Quite a large update today. I'm starting what I plan to be about a month or two of basically going over every system, mechanic and piece of content in the game and giving it a complete overhaul and re-balancing.
As of July 22, this will be exactly one year since I started this project and I believe it will likely take about another year to get the game completed so this is pretty much precisely the midpoint of development.
Over the past year, I've added tons of stuff to the game and made a ton of a progress but oftentimes many of the additions were made without a ton of thought or planning since my focus was simply on getting the code working.
During the course of the past few months when I was investigating the direction I'd like to take the game in the future I realized how messy and incomplete much of the existing work was. The pieces are all definitely here and its actually working very well given the chaos of the dev process but I believe that this is a great time to take a step back and consolidate everything we've got so far.
So that's the plan for the next month or so. Basically go back, rethink each feature and push, pull and rework until everything is cleaner, more balanced and just generally working well together. The plan is that, at the end of this period, the entire game should basically be transformed into something much more stable and in line with my vision for the final product. From there, it should be much easier and quicker to move forwards.
In my experience on previous projects this is basically exactly where we should be. The first half of development tends to be quite hectic and messy but you get all the pieces on the table. Then around the midpoint you trim the fat, rework existing stuff and generally unify the existing mess until a solid center is built. Finally, over the course of the second half, you basically build out the game itself from that solid center. In my experience, its this second half where most of the actual content is developed so I'm quite excited right now since I believe once everything is cleaned up in the next month I should finally be able to really get to all the 'cool stuff' we've been discussing since Alpha.
I've got a ton of notes that I'll be compiling that describe roughly what I'm trying to achieve with this rework in regards to each system and also a ton of plans as to how to achieve that. I'll be posting these notes sometime in the next few days just to give everyone an idea of why some of these changes are been made.
Obviously this period will be quite messy with wild swings in balance and quality. The biggest challenge here and what caused so much trouble in the last month is that pretty much everything I'm trying to do right now is completely interconnected i.e. changes in one system completely depend on changes in many other systems in order to 'work'. So since I obviously can't just 'do it all at the same time', many of these changes wont 'work' until another change down the line is made. So just please bear with me, at least for the first few weeks here. I think once we get the biggest tangles dealt with, the rest of it will come apart at an increasingly rapid pace.
Update As mentioned above I'll be going into much more detail about the plan and rational in a few days but I should mention at least one critical assumption I'm making here. I definitely plan to grow and expand the game once this rework phase is over, but, within the context of this rework, I'll be treating the game as it currently is, with its current scope and length. So rather than balancing in anticipating of some future larger scope I'll be working with the assumption that the game is approximately one hour in length and mostly linear. Its my hope that, if we can get the balance correct within this context, any later expansions will be much easier since I can just 'spread' the balance out.
Leveling and Experience: The biggest change and one that will be adjusted as we go along is that I've changed the player level cap to 12 and spread out experience, talent, skill and attribute points accordingly.
Basically the issue here is that, given that the game is currently only about one hour in length, 20 level ups is just way to many. First, it breaks the game flow every 3 mins (approximately) and forces the player to fiddle in their character screen. Second, since there are so many level ups, the power gained from each level up has to be kept small to stop high end power creep. This creates the undesired situation where your constantly interrupted from gameplay to make choices that are quite inconsequential.
The goal will be to have a lot less interruptions (level ups), but for each level up to be much more meaningful. I'll be reworking the attribute, talent, and skill system accordingly in future updates, but this is a first stab at tackling this issue. As part of this rework a bunch of changes were made:
Smoothed out exp for enemies. Previously exp = monster level, so a level 1 rat gave 1 exp, a level 2 goblin brute gave 2 exp etc. Changed it to be 10 + level so that the level 2 goblin brute doesn't give x2 exp.
This smoothing then allows me to make weak, swarmy enemies like rats and maggots give 1/3 as much exp.
Just to give an example of why this makes a big difference. Previously a rat nest, with its 6 rats was worth 7 total exp compared to a level 1 goblins 1 exp. Since the previous spawn system would just spawn say 15 enemies on UD:1, you could get absolutely wild swings in the amount of exp per dungeon level just based on what was spawning.
Regarding the point above: the spawn system now spawns enemies so that their total exp is equal to some desired total based on dungeon depth. This will definitely need some balancing work to get the numbers right but basically this should fix a ton of wild swings in balance. It was previously possible say in the desert to have 15 rats spawn on a level in one run and then have 15 mummys spawn on the exact same level in another run. Not only did this create wild swings in difficulty, but the amount of exp the player would gain would also swing wildly.
Player Stuff: I'll be going into the 'why' of many of these changes in a few days. Much of this is basically temporary quick fixes or preemting much larger changes that will be coming later so these should be treated as temporary iterations that are part of a larger plan. I started trying to explain the rational for each change but it got to long so I'll just list em, and give a more concise overview later.
Reversed direction of passive talent bonus so that the small +2 bonus is first and the large +4 bonus is last.
Casters now start with power shot instead of attunement which has been removed for now.
Warriors now start with a hand axe instead of a short sword
Generally reducing the number of start talents (big reworks to the way the player acquires talents will be coming to fill the gaps).
Classes now start with -attributes in their non primary attributes rather than a bonus.
Gain 2 skills points per level instead of 1.
Charge can now 'crunch' enemies against walls for crit damage.
Protection can now result in 0 damage (basically makes protections more valuable).
NPC Stuff: About half of the big rework plan is in regards to the player, the other half will be a complete reworking of many enemies and their abilities. Will basically be going over the entire dungeon in multiple passes, working to make enemies more interesting to fight, adding new abilities or filling holes in the spawn table etc. Again, I'll be going into more detail as to the overall goal of these changes in a few days.
Orbs of Storm for enemy storm mages that chase the player and throw little sparks (has a limited duration like all summons and killing the caster will dispell it).
All archers now have 2 cooldown in order to reduce long range spam.
Reduces all mages projectile damage, again to reduce long range, unavoidable spam damage.
Reduced the cooldown significantly on orbs of fire so that fire mages toss them much more often. Reduced their AoE and damage accordingly.
Will at least note here, that a big part of the changes to NPCs will revolve around reducing a lot of the unavoidable damage (especially projectiles) and replacing it with stuff the player can dodge, run way from, dispell etc.
Elephants, yaks, goats can now charge (this needs better animation/graphics to make it clearer whats happening).
Reduced the hit points of most ranged enemies
Reduced the hit points of all spawners (if the player can get LoS it should be relatively easy to kill a spawner, rather than having to always tank through all its summons).
Storm mages will now use 'shocking grasp' instead of throwing spark projectiles.
Goblin brutes now go berserk as before.
Berserk now increases movement speed (since most berserk enemies are slow, this simply gives them 'normal' movement speed).
Fleeing enemies will now eventually stop (was annoying to chase them down).
Blink frogs have been made fast (the entire blink mechanic is gonna need a rework).
Removed the net portion of spider webs since it tended to just result in immediate, unavoidable deaths unless the player had some powerful consumable. So for now, the player is still unstabled on the web, but otherwise he still has his turn to act i.e. step off.
User Interface: Along with a lot of the balancing and reworking will be drastic changes and improvements to the games UI. I won't be focusing on this quite as much as general mechanics, but I'd still like to chip away at it. Completely reworking the UI and controls will likely be a future phase in itself.
Shift + Space defaults to rest
When resting, the popup text now indicates if you rested to full HP or full MP.
Mouse now highlights tiles on the mini-map
Popup text now indicates when abilities have charged (completed cooldown).
Enemies now show their ability damage on mouse over.
Clouds now show their damage on mouse over
Big top text now indicates where stairs will take you when standing on them (previously there was no indication when actually standing on the stairs).
When using < or > to fast travel to stairs, you will now get a dialog option when there are multiple stairs.
Alright, well that's it for now! Thanks as always for all your support and feedback! Will be posting some of my notes in the next few days.
Update 1.27.1
Just sticking with the small updates for this week, getting everything flowing smoothly again. Will be calling these 1.27.X for this week so that we don't end up with some absurd release numbers.
Definitely a ton of huge improvements, changes and additions coming a week or two from now that I'm very excited about. Most of its all completed on the dev-branch so the implementation should go quite smoothly. For now though, I'm just gonna focus on getting back to regular updates by keeping these small and unlikely to make a mess.
Quick note: you may need to reset your default controls occasionally as I make updates, particularly in the next few weeks when I'll be making some big changes to controls and interface. I don't think it crashes if you have keys bound to stuff that I've moved or changed, but if your keys don't appear to be working, just go into the options and do a 'restore defaults' and that should fix it.
Update 1.27.1:
Overhauled the popup text system so that they actually queue up correctly without overlapping.
Popup text now follows characters to keep it more obvious what the text is referring to.
Changed the way fire shrooms and traps generate so that they no longer block hallways and are more likely to spawn in large open rooms.
Agroed enemies will now remain visible even when out of sight. I found this just helps keep everything clearer by not having tons of stuff happening 'off screen'.
Quite significantly reduced the bonus on items from enchantment modifiers. +3 items were just absurdly OP, in particular weapons, and oftentimes the game was going from challenging to absurdly easy due to a single modded weapon drop.
Bug Fix? Shift + Space now works to rest just like shift clicking yourself. Not sure if this is a recent bug or if it never actually worked, but its working now :P.
Bug Fix: The players LoS was leaving behind 'visible' tiles which, amongst other things, was causing auto explore to indicate 'nearby danger' due to enemies standing halfway across the map on a 'visible' tile.
Bug Fix: Fixed staff damage scaling (I think I messed this one up with the previous update so its fixed now).
Side note with regards to enemies remaining visible while agroed:
A bunch of changes to enemy pathing will be coming (already on dev-branch) to fix issues that I noticed when I made this change. Specifically in regards to enemies not following each other down halls nicely (they think the path is blocked and so often take crazy long ways around). This is a big issue with bolt spells, where narrow hallways should be one of their best use cases but due to this odd pathing its hard to get a good line up. This is the same issue as auto explore getting blocked, so I'll be catching all of these soon.
Feeling much better in general, now that I'm back into the regular swing of things. Just wanted to give a big thanks to everyone for being so supportive and understanding during this period, it was definitely a struggle. I learned a lot though and am eager to get back at it.
So about a week of little micro updates like this, then I'll sit down and figure out which of the many large changes or additions I'd like to bring over first.
Update 1.27 - Finally!
Hello everyone!
After driving myself crazy this past month trying to incorporate the hundreds of changes and improvements I'd like to make to the game, pretty much all at once, I've finally decided to just back off, start small, and get the ball rolling again.
In order to reestablish a routine and try to get my schedule back to something approaching normal, I'll be focusing on just tiny little updates for the next week or so, just little things that I have no excuses for procrastinating on or agonizing over.
Once I've gotten back into the swing of things I'll start work on incorporating the larger, more substantial changes and improvements I've got sitting on the dev-branch. So to kick things off:
Update 1.27:
- Improved sprites for a bunch of monsters, cleaning up graphics and trying to narrow in on a more unified art style.
Status Update #2
Hello again everyone! Its looking like this update will actually be coming on Friday. Again apologize for the unexpected delay, my goal is to get through this shaky period and hopefully we won't have interruptions like this in the future.
Just to give a brief explanation as to whats taking so long. Pretty much from the beginning of the whole Rogue Fable series of projects I've been able to make progress on the games in a sort of ad-hoc manner.
Until now, I've managed to make decent progress by just focusing on details and short term improvements with only the most general plan as to how everything is going to work together in the final game.
This lack of longer term planning is apparent in both the design of the systems and content in the game and also in the underlying code and tools I use for development.
About two months ago (when this sort of experimental period began) I sort of realized that this was no longer going to work since the game had reached a level of both complexity and size that would require a bit more planning and conscious design.
So the last few months have really just been a wild adventure of really taking stock of everything I've built so far, the direction I'd like the game to go, and coming up with some sort of plan and schedule of how to get there. Since this is by far the largest project I've ever worked on, I'm pretty much learning as I go which makes it difficult to estimate how long things are going to take.
So over the past few months I've been spending a ton of time really taking the time to analyze the game in its current state, identify the problems and issues I have with it, trying to define what sort of long term vision I'd like to achieve, and trying to figure out how to move between these two states.
I've been going over literally every aspect or system in the game, most of which have just sort of accumulated over time, and really taken the time to figure out how I'd like them to work. In many cases (such as opening up the structure of the world), the changes I'd like to make are quite drastic and will hopefully lead to pretty massive improvements.
Doing this has involved not only a ton of design work, but also lots of experiments, on the dev-branch, which have left it a complete mess full of dead ends and abandoned or altered ideas.
I believe this experimental phase was critical at this point in the project, since I now have a much clearer idea of the final vision of the project, and many of these ideas are now present in some embryonic form on the dev-branch.
The current delays are just me fighting with this giant mess, trying to strip out all the bits that are not working while polishing and debugging the bits that are in order to get the game back to a playable state.
If everything goes according to plan, I think I can get this mostly done by Friday with the merge back with the main branch coming a week or two after that, and then its back to normal development, now armed with all the knowledge and experience gained from this phase.
Just as a warning I should point out that my current plan is actually to strip back the dev branch as much as possible, basically bringing it much closer to the 1.26 version, though with some massive changes, improvements, additions and re balancing.
Basically, I'm thinking of these last few months as a bunch of experiments and prototypes that helped locked down the long term vision of the game and expose all the stuff that will need to be implemented to get there. Due to the mess, dead ends and false starts, I'll be stripping back a ton of stuff to get us back to a point of relative stability (1.26). From there, I hope to be able to use the prototypes and experiments as a guide in order to gradually grow the game into its final form.
So yeah, to bring this long rambling explanation to a close:
Thank you everyone, for all your support and encouragement. Its been a tough few months but I think we're nearly past it. Update to the dev branch should be coming this Friday (July 05) with the update to the main branch coming a week later.
Status Update
Hello everyone! Just dropping by to confirm that everything is fine on my end, since I know some people were getting a bit worried.
I've been very busy working on the next update which should be out on Monday morning and be very substantial. If everything goes according to plan we should basically be ready to launch it to the live branch by the end of the week and we can return to our regular update schedule.
Until then, I'm still a bit buried in dev and design so I'll be working away on that until the Monday update.
Thank you everyone who was checking in on me, I really appreciate your concern and support!
Update 1.30
Hello everyone! Sorry for the late release, got sick in the middle of the week and it set everything back a day. Will be on Discord tomorrow at 2:00pm. Couple of announcements first off:
Accessing the Test Version Since we're currently going through a series massive updates that make the current version quite unbalanced and unstable I'm using a beta branch for development in order to keep the mess out of the default version. To access it:
Right click on the game name in your steam library and at the bottom of the drop down menu select 'properties'. Then under the 4th, 'Betas' tab enter the password 'secretpassword' and it should give you access to the test-branch. Please let me know if you have trouble accessing it.
I believe we're currently on schedule for finishing this messy phase of development and so this beta branch should be set live i.e. default by the end of June and we will be able to carry on as usual.
Changing to a 2 Week Release Schedule: I'm going to be switching to a release every 2 weeks from this point forward due to a number of reasons. First off, these updates are getting much larger and more complex, and it just takes a lot more time to get everything working. There are a lot of tasks on my list that simply can't be easily compressed and will be better tackled given this longer period. There's also the issue of what happened this week, where a single bad day can cause me to miss the release date and through everything off. Finally, and most importantly, upon review, I've found that I'm spending way to much time doing 'admin' type stuff in order to release so often and I'm not getting enough time to actually do actual development. My week currently looks like the following:
Mon - Wed: actual development on the update
Thur - clean up, testing, debugging, prepping the release
Fri - more release prep and the actual release (if I'm not behind schedule)
Sat - hotfix to fix any issues that crop up from the release and discord meetup.
Sun - planning the next weeks update
So looking at that, I'm literally spending more than half my week just doing 'admin' surrounding the actual release. By moving to a 2 week release schedule I don't really have to do any more of this admin stuff but I gain a ton of days of actual dev work. This should result in much larger, more substantial updates i.e. much more than I would get done in 2 updates given the current schedule.
So 1.31 will be coming out 2 weeks from now and should be a pretty big one. I've got some cool stuff in the works that I'm quite excited about. I'll also be moving the Discord meetup to Sunday at 2:00PM following the Friday of release just to give us all (myself included) more time to actually play through the update.
Now, onto the update!
Completely New World Layout: Did a ton of iterations on paper to try to get something that was less linear, with less dead ends and back tracking, more loops and shortcuts. Generally its much easier now to pass between zones from any point in the world. Also I'm trying to follow a 'all roads lead to Yendor' plan, where, no matter which way you go, you should always be getting closer to the end game content.
We're still missing the z-axis which will definitely change things around a bit and there are some new zones I still need to add but I believe this is definitely a step in the right direction. There is a lot more room now as well for a lot more of the randomize sub-zoning I intend to work on in the future.
Zone Changes: Dark Temple Remove/Split The Dark Temple is being removed/split with much of its content getting merged into Yendor. I've got tons of notes going right now on theming zones that will become important in a month or two when I start actually going over the various areas and really giving them some attention and The Dark Temple was just to close in theme to what I'm intending to go with for Yendor.
The Palace of Brass: Mostly just a stub at this point but this will eventually be the end game fire themed dungeon with a magic sub-theme. The Core is going to slowly be worked in appearing as a massive, multi chunk volcano with a huge lava lake in the middle. The Palace of Brass will be floating in the middle of this and will be home to one of the games major bosses. Some dark elves from The Dark Temple have been moved here to populate it.
The Glacial Rift: Again, mostly a stub at this point but will eventually be the end game cold themed dungeon with a light melee / range sub-theme. Home to a primitive but powerful tribe of gnolls and their beastly pets. Will be the location of another of the games major bosses.
Goblins Thematic Rework Though not really part of this update, the world layout at least has brough the Bloodpick Mines, The Swamp, The Sewers and The Iron Fortress into closer proximity to each other. Based on feedback from I believe MechWarden who had suggested the relationship between these areas, I've decided to unify the goblins in the dungeon thematically. Basically the goblins are the 'clever' race that are running things in The Iron Fortress where they oversee the construction and maintenance of their army of clockwork automatons. There will be little oil rig platforms in the swamp where they are gathering oil to bring to the Fortress and the Bloodpick mines are where they are mining ore.
I had previously been going with a more tribal, primative theme for them, but since this is just to cool of an idea to pass on, I'll be reworking the Bloodpick mines to be more techy in nature with mine carts, cranes, refineries etc. As part of the rework in world structure, the Sewers now empty into the swamp and contain a 'secret' backdoor into the Iron Fortress. This will become more important later on when there's more gating in the Inner Caverns which are currently underdeveloped as this will act as an alternate path into them.
Fountains of Knowledge: These will be replacing the previous bookshelf rooms and will provide skill points, talent points, randomized skill points and randomized talents. For the randomized skills and talents, these will be based on the zone in which the fountain is found i.e. places like The Orc Fortress will have a much higher chance of giving Melee based skills and talents. They are visible from the world map and provide a nice counterpart to the Attribute Fountains.
Though not yet implemented, the occasional tomes the bookshelves used to drop will be replaced by little mini libraries that can spawn in zones that will contain tomes specific to that zones theme. Another key advantage here is that I can finally use variations on bookshelves as dungeon dressing which will be really useful in a few months when it comes to the per zone overhaul, especially for places like The Arcane Tower.
Treasure Rooms Those little side rooms full of gold, potions, scrolls etc. are now controlled from the global world level and are visible from the world map. These will eventually be upgraded to be much more zone specific ex. lots of gold rooms in mines, little armories in fortress type zones, potions might be in some kind of alchemist hut vault in the swamp etc.
Crystal chest rooms are also now controlled in this manner and will be changed in the future to feature a much higher chance of containing zone specific equipment rewards.
A lot of these changes are, like many things, laying the foundations for future work. The idea is generally to cluster rewards into thematically appropriate 'clumps' that are visible from afar on the world map so that players can seek them out. A similar approach will be taken to big challenges, either unique enemies, or big densly populated areas like a guard barracks. Basically rather than an endless sea of evenly distributed challenges and rewards I'd like to have these big 'spikes' that players can see from afar and either seek out or avoid. There will need to be various means of 'scouting' i.e. things like scrolls of mapping, actual maps, some kind of NPC that can 'reveal' map chunks so that the player can do this scouting from afar.
Glyph Rooms and Drop Walls: These are also now controlled globally (though not visible from the world map). Same sort of idea as above i.e. controlling the distribution of big challenges. In the future many of these will become custom 'vaults' with zone appropriate enemies and layouts.
New Uniques: As in previous updates, these are mostly pretty boring at the moment but will be improved in future passes over the zones. I'm just trying to keep a steady output of them in order to fill the world and get a basic idea of how things will eventually look. They'l all eventually get their own unique vaults as well, likely with a gang of minions.
- The Ancient Polar Bear in The Ice Caves
- Alazar The Magnificent in The Sunless Desert
- The Corrupted Forest Master in The Under Grove
- The Centaur Huntmaster in The Under Grove
New Monsters - 4 x Dark Elf types moved into The Palace of Brass. I've got a list of abilities that these guys need that have yet to be implemented.
- 3 x Gnolls in The Glacial Rift. Same as above, still need new abilities and a few more types.
New Talents: The trouble of solo dev is there's just never enough time for all the cool stuff I want to do. I've got tons and tons of notes on massive improvements to combat that I'd like to do in the future to generally make it 'punchier', more dynamic, and just generally easier (and faster) to control. So, while working on all this big world stuff, I can't help myself but to make little tweaks and changes along the way to combat.
Shield Bash This replaces 'Shields Up' as the warriors default starting talent. The player uses his shield to smash back enemies in an arc standing in front of him dealing damage based on the ENC of his shield modified by your melee power. This effectively does the same thing as Shields Up since the enemies now miss their next attack in order to move towards you but is easier to understand since its proactive rather than reactive. You can also use it to bash enemies into pits, onto traps etc. In the future this will also work well with the knock back damage rework i.e. knocking enemies into walls deals damage.
Changes to Charge Charge now knocks the enemy back and the player will take his place. If the enemy was up against a wall this will now 'crunch' him causing critical damage.
Mechanics and Balancing: Slowed EXP/Leveling Rate: Still just roughly adjusting things here. Generally speaking levels should be quick early on and take longer later. This will be mirrored by the world becoming increasingly non-linear. The end game levels should take quite a while in comparison since the player will likely want to hit up at least a few of the end game dungeons and bosses before tackling Yendor.
Static Recovery Rework: Regen rates adjusted to not scale based on the players max hp / mp (actually how it was before). Fountains and potions now recover a set amount of HP and MP. The idea here is not to doubly reward characters with high HP / MP by also increasing the rate at which they recover (we dealt with this a lot in early Alpha). Rather recovery rate should be a separate stat that is improved independently. This means there is effectively a fixed amount of recoverable hit points and mana in the dungeon based on the number of fountains/potions + the time restrictions on resting due to world events, which is going to be a big part of the games 'Meta' i.e. where the player chooses to 'spend' these resources will become increasingly important, particularly in the end game.
Added Encumbrance to Weapons Part of a huge future rework to the way that wielding works that I won't get into here. I'm adding it in now mostly just due to that fact that I was getting annoyed at how easy it was for my caster characters to just casually wear plate armor without suffering any consequences.
Passive Talent Rework: All passive talents now scale with player level i.e. they get stronger over time. This helps to keep new talents found in books useful even in the end game.
Talent Books Click to Use Something that I've been meaning to do for a long time. Helps to keep your available talent list from getting flooded (we still need sorting and filtering), and lets you sell books you don't intend on using.
Non-linear Enemy Scaling: Another thing I've been intending to do for a long time. The old version worked as follows (numbers just for example): A level 1 enemy would have 10 hp and for each level they would gain +2hp. This means that a level 2 enemy is 20% stronger than a level 1, a substantial difference. This broke down though at high levels where say the difference between 19-20 would be something like 48HP vs 50HP, a tiny difference.
The new scaling system for damage and hp is now exponential (with a small base), so that the differences are now 'constant' i.e. enemies would continue to be say 10% stronger each level, right up to the end game. This effectively makes the early game a bit easier and the end game quite a bit harder which I believe mirrors what we've always observed when looking at game record stats i.e. you either die early on or live long enough to completely overpower everything in the end game.
Obviously there's a ton of balancing that still needs to be done with this but I believe this is a step in the right direction overall.
Misc: Generally just a ton of bug fixes, particularly with chunk generation creating impassable areas or simply not spawning something they were supposed to spawn. I'm sure a bunch of other little things that are buried in my notes and I can't find right now.
Conclusion: Well that's it for today! Once again, I'll be on Discord tomorrow at 2:00PM and thank you as always for all of your support and feedback! Hope you all enjoy the rest of your week end!
May-24-2019 - Update 1.29
Hello everyone! A big content update today with a bunch more tweaks and changes. Continuing to do some very rough balancing along with the new content just to try to keep things sensible. Based on where we're at right now I think we'l definitely be able to have something reasonably playable by the end of June ready to finish the transition phase as planned. To recap how to access the dev branch version of the game:
Right click on the game name in your steam library and at the bottom of the drop down menu select 'properties'. Then under the 4th, 'Betas' tab enter the password 'secretpassword' and it should give you access to the test-branch. Please let me know if you have trouble accessing it.
I'll be on discord tomorrow as always around 2:00pm PST to take any feedback or questions. Here's a link to the discord since it hasn't been posted in awhile: https://discord.gg/3waKpjR
UPDATE 1.29: As always, much of this content is placeholderish in nature and will be gone over in more detail once we've established the world and meta game more firmly.
NEW UNIQUE NPCS: Each with its own unique item drop.
- Ancient Mummy Stormologist
- Ancient Mummy Necromancer
- The above two are on a random rotation with the existing Cylomar unique.
- The Cat Lord: summons cheetahs like a beefed up rat piper.
- Orc Warlord
- Orc Blacksmith
NEW NORMAL NPCS: - Fire Giant
- Fire Giant Warrior
- Ice Giant
- Ice Giant Warrior
- Note: these giants would be a perfect first example of characters that really need to be multi-tile eventually.
- Minotaur
- Ice Golem
- Wolf Spider
- Dark Elf Cryomancer
- Corrupted Druid
- Dervish Magi
- Orc Axe Thrower: high damage ranged w/ physical damage type
- Orc Dark Knight: heavily armored tank
- Orc Slaver
NPC CHANGES: As part of trying to unify The Orc Fortress as a dungeon high in physical damage types, weapons and armor, the following changes were made:
- Orc Storm Mage => Corrupted Druid
- Orc Summoner => Dervish Magi
I also got tired of the reealy ugly orc graphics so redrew them to be more in the style of the recent graphics. I'll be slowly going over old sprites and giving them this same treatment. I'm definitely trying to establish a basic look and style for at least the humanoid characters. Still not sure how I'd like to handle the animals and other critter stylistically. As mentioned above, we'l almost certainly be moving to multi-tile enemies in the future for giants, dragons, big boss types etc.
WORLD: - Changed The Core to only generate cave type levels. There will be a fire themed dungeon after this (possibly The Iron Fortress).
- There is now a one-way door from The Blood Pick Mines => The Under Grove.
- Based on some further consideration, this Blood Pick door should really go to the swamp and a door from Orc Fortress should lead into The Inner Cavern. In this way these two dungeons are connected Tier II => Tier III just like the Grove and Desert.
- A locked gate now bars entry into the Inner Crypt with the key spawning somewhere outside. This is a proof of concept of sorts just testing that I can add 'structure' to a dungeon. I can see using switched, levers, teleporters, draw bridged and various other elements in the future in more complicated versions of this.
- Barbarian Village in The Ice Caves: this will be greatly expanded on later on and will act as a balance of sorts to The Library in the desert. For now the weaver guy here will take giant beards and sew them up into light weight resistance armor for you (a proof of concept of basic quest mechanics).
NEW TALENTS Will be drastically increasing the total number of talents eventually, so figured I'd just start knocking a few out now.
- Shroud of Wind: storm magic sustained ability that grants projectile reflection.
- Arc Lightning: storm magic high end damage spell. Pick one end point, and then another and ZAP!.
- Flame Strike: fire magic high end damage spell. A big cross shaped explosion w/ smite targeting i.e. don't need a clear shot.
MECHANICS AND BALANCE: Just generally unifying or simplifying stuff along with some rough early balancing. One of my major goals is to keep the game streamlined, transparent and just generally intuitive to play, even with the new content and scope.
- Renamed protection to Armor Class just since that's how I always read it in my head anyways and 5AC on a piece of armor is basically universally understood.
- Unified the resistances stats w/ armor class i.e. they run along the same values (approx 0 - 20+), and mitigate damage in the same way. This is really just for sake of simplicity.
- Removed the clarity / regeneration from fountains effect and went back to our previous normal rest mechanics. This was just too weird for now so I'll pull back to something we know works.
- Resting was shortened to compensate so it now takes 1HR for full mana and 2HRs for full health.
- Increased the nukers damage and added a 1 turn cooldown, as they were behaving similarly to archers. I'd still like to avoid having high, undodgable attacks getting thrown at the player so will be continuing to fiddle with this one.
- Removed the tiers from talents so they only have one level now. This is partially experimental and may lead into a number of things I've been considering. For now its just generally simpler (always a good thing), it helps to reduce late game power creep (where the PC becomes unkillable), and it encourages me to really work at making each talent feel unique and impactful.
- Slowed the gain of exp across the game quite a bit. Still not sure what we're going to make the max level cap (likely higher than 20), so for now, I've just slowed down exp gain a bit to better suit the larger, non-linear world.
- Smoothed out the difficulty progression of the outer caverns level chunks (basically adjacent chunks shouldn't differ by more than 1 level).
USER INTERFACE: Still just experimenting here. Went through several iterations of some of these features in this week alone.
- Small, local, world map now visible on game HUD that shows nearby chunks and their contents. Click an adjacent chunk to fast travel to it.
- As part of regen/rest changes the rest menu is now disabled. R, shift + space and shift + pc click will all now perform the same extended rest as before.
- World map will now display unvisited chunks in a darker color so that you can easily tell where you have been. As a note: I'm still working on getting the 'contents' of the chunks i.e. unique npcs, enchantment tables etc. to update on the world map once killed / used.
- World map now differentiates hostile vs good features in chunks by color.
- Added goto health fountain and goto energy fountain buttons to world map (hotkeyed to 1 and 2 respectively).
- Finally, was experimenting a bit with adding damage indicators when targeting, so this is left on for some attacks / abilities.
CONCLUSION: Yeah, so lots of stuff again :P. The plan for next week is pretty much more of the same. Some rough goals:
- A bunch of totally new zones I've been planning, spread across the world.
- Implement z-level so that we can rearrange the world map a bit by burying some of the dungeons.
- Continue adding the unique npc + unique item + unique vault / map 'features'.
- Continue with very rough game balancing.
So as mentioned before I think we're well on track to being stable and playable by the end of June, ready to merge back onto the main branch. I anticipate at least 3-4 more weeks of this messy sort of rapid building followed by a week or two of balancing and general clean up. Once everything is stable and merged, then I'll switch back to a workflow where I can narrow in on one little area of the game at a time and really give it some care and attention.
Welp, that was another long announcement. Thanks as always for everyones support and feedback! Take care for now!
Justin
May-18-2019 - Update 1.28
Hello everyone! So I've realized that a simple, once a week, release schedule is going to work out much better for me. There's a nice structure to my week when I can leave stuff messy and half implemented throughout the week and then clean it up at the end.
So from now on releases should be coming out every Friday (I messed up this week since I got a bit carried away with play testing yesterday). I'll continue to be on Discord each Saturday at 2:00PM PST in order to discuss and get feedback on the changes.
So onto the update, lots of stuff this time.
I'll be trying to give some brief explanations as to what I'm intending with some of these changes and I'd be happy to answer any questions you guys may have. I was planning on spending a lot more time documenting this stuff, but honestly, at this point I think its faster to just 'show' rather than 'tell' i.e. I'll be spending most of my time just getting stuff implemented. My hope is that in about 3-4 weeks we'l have enough of a foundation that we can actually start to take an honest look at how things are working.
All of this is, of course, still very rough and basically guaranteed to change in the future as I slowly hammer this thing into some sort of reasonable shape. I'm also doing a lot of experimentation here so some of these directions may not even prove to be fruitful. IMO paper design can only go so far, eventually the only way to really know how something is going to work is to implement it and give it a try.
TIME, REST, AND THE PRESSURE CLOCK: A quick note: from now on, when referring to 'time', I am almost always going to be referring to in game time i.e. turn count. Speed running will be a completely separate issue.
One of the major guiding principles of the project is to have a high level meta or strategic element in which the player makes decisions as to what zones to go to, in what order, when to back out etc. In order for this to work, the world needs to be very large i.e. contain much more content than would be required to build an end game character.
Now, if this was an open world RPG, this would be fine as it is, the player could 'choose' to grind away for hours and clear the entire dungeon. But, given that this is a rogue-like with permanent death, there is an enormous pressure on the player to play safely i.e. given no other constraints, the optimal strategy would be to perform this long, tedious, grindy dungeon clear. I think its critical that the design does not encourage this sort of game play but rather rewards time efficiency and risk taking.
This is what is motivating the inclusion of a 'pressure clock' i.e. some method of encouraging the player to play optimally and efficiently. With that in mind, update 1.28 now includes a rough implementation in the form of demon spawning events in Yendor.
Yendor Events
5 new demon types
Yendor Events that occur at fixed time periods i.e. after 3,4,5... etc. in game days.
The exact event you get will be randomized each game.
This is basically just a 'stub' for future expansion. My long term vision includes much more sophisticated, i.e. interesting events.
For now, when an event occurs, the Vault of Yendor chunks will all spawn 5 high level demons of the specified type.
So given the time constraints created by the Yendor Events the next question to answer is: how to handle time in the dungeon?. Here's my first stab at tackling this issue:
Very Long Rest So the idea here is that relative to gameplay (moving, attacking, traveling between zones etc.) resting takes a very long time. I'm hoping this will do the following:
At the micro-game level: I never want the player to be counting turns while exploring/fighting. The game should encourage the player to use every clever tactic in the book, regardless of how many turns it takes.
At the macro-game level: I want the player to feel free to move back and forth across the world many times, in order to take, what he believes, is the best route through the dungeon. The player should never find himself in a situation where strategically he should retreat, and go somewhere else, but doesn't do this due to 'time constraints'.
By making resting take a very long time relative to normal movement we get the interesting mechanic wherein the player can strategically move about the dungeon freely, use whatever tactics are most efficient in combat and generally focus on playing the game as optimally as possible from the perspective of strategy and tactics, given the constraint that he never rests, or rests very rarely.
In fact, by making resting 'expensive' it should actually massively encourage good, skillful, game play since the player is doing everything possible to not force himself to rest. The idea is that, once properly balanced, this system should allow an experienced player to beat the 'pressure clock' by resting only rarely. With that in mind the following systems have been implemented:
Rest Menu: now toggled by R
It takes 8 Hours to regenerate from 0->max HP
It takes 4 Hours to regenerate from 0->max MP
ctrl + R is a shortcut for 1 Hour rest
There is now a guaranteed healing and energy fountain in each map chunk.
Healing and energy fountains will now also fill your Clarity and Regeneration pools. These are pools that deplete when you are injured / low on mana in order to quickly replenish them. The idea here is that, besides the various other methods of restoration, a player is trying to survive, chunk by chunk, on fountains and their lingering restorative effects.
The +regen and +mana regen properties on items now increase the max size of your regen/clarity pools.
Once again, it goes without saying, the above is just a first stab at tackling this issue and we may iterate over many different systems before we find something that works well.
DAMAGE BALANCING Another major goal of the project has always been to avoid stupid or unpredictable deaths for the player. With this in mind a number of changes have been made to try to remove sudden unexpected 'spikes' in damage.
Monster Damage Type Rework: I noticed that caster type characters had their main, non-avoidable attack (projectile or bolt) on a 5 turn cool down dealing 'high' damage. This was causing sudden, massive, unexpected spikes in damage every 5 turns that was very hard to predict. Furthermore, when compared to the archer type, the casters actually had a significantly lower average turn damage. This gave them the odd duel property of been both a low DPT (average damage per turn) class, while at the same time, having sudden, unavoidable spikes. With that in mind, I've currently rebalanced NPCs to based on the following rules:
Archers: very low damage
Caster (unavoidable attack), fast melee, swarm melee: low damage
Standard Melee: medium damage
Slow Melee: high damage
Caster (avoidable attack): high damage
Basically, the more predictable and avoidable an attack form is, the higher its damage. Obviously this is more of a guideline than a rule but I think roughly adhering to it should make the game a bit less unpredictably difficult. Just as an fyi, based on my testing last night, the new casters are now very nasty, with a high damage output that makes them a high priority target.
Damage Mitigation Rework: With the same goal of avoiding unpredictable spikes in damage, both protection and resistance have been changed in the following ways:
Damage blocked now runs 0.5 -> max instead of 0 -> max. This just generally makes the damage blocked much more consistent.
Damage can now be blocked to 0 i.e. you can actually tank through a swarm of ankle biters while wearing plate and emerge mostly unscathed.
MISC: Monster Agro and AI Lots of work still to do in this area. Big changes to stealth coming. Lots of new 'quality of life' features to make movement and exploring quicker without constantly attracting attention.
Significantly reduced the chance for enemies to start fleeing (its annoying to chase them down).
Fleeing enemies will now stop fleeing and unagro once they have broken LoS for a few turns.
Enemies will not 'chain-agro' quite so much.
Player Character Balance:
Slightly reduced the damage of many caster spells. Was getting out of hand at higher levels even without putting additional talent points into them (theres a big rework coming soon on this front).
Staves now use the average of their associated spell power + range.
Casters now start with power shot in order to give them a cool down ability. Power shot, may interact with staves differently in the future, giving unique, per element bonus.
Raised casters starting mana to help them out given the new rest/time system.
Generally reduced the number of 'normal' item drops in the dungeon since A) the game is much larger and B) unique drops are getting added all the time.
Interface: Tons of work to do on this front next week, particularly in regards to quickly traveling across the world, to nearby fountains, etc.
Centered the small scale mini-map on the current chunk in order to make orientation easier. This is not yet an acceptable solution imo.
I should just mention here (since I didn't last time). The world map is accessed with [m]ap or [g]oto keyboard shortcuts and will eventually contain all sorts of quick travel options. For now, the east, west, north south options don't work particularily well (they get blocked easily) but they are triggered with the WASD keys in the corresponding direction.
NEW CONTENT Focusing on getting more zones, sub-zones, unique vaults, unique monsters and unique loot implemented. As a side note, in the future, a great deal of the proc-gen will involve the swapping in and out, reordering, and rearranging of content from this high level, top down, perspective.
Blood Pick Ice Shaman
Blood Pick High Shaman Rotation. One of ice, fire, storm per game. Unique vault, npc and item drop.
Cylomar now has a vault and a unique drop.
Ruins of Tranis sub-zone in the desert full of undead (will eventually contain entrance to a sunken pyramid dungeon beneath the sands).
Orc keep at the back of their fortress w/ the king who now has a unique drop.
Orc Guard captain unique w/ vault and drop.
Spider queen now has vault and drop.
Whew, well that's it for now! Took longer to write then I had intended and now I'm late for the discord meetup. So next update should be the coming Friday. Take care everyone!
May-11-2019 - Update 1.27 - Finally...
Hello everyone! The day is finally here. I’ve been procrastinating and stressing out about releasing this for over a week now since its basically a giant mess but I figure that ‘giant mess’ is going to be the ongoing theme of this entire transition period so I might as well get it over with now.
Apologies if the following is a bit rambly and incoherent, I'm at that fun stage where I'm exhausted from pushing hard these past few weeks and at the same time, the only thing I want to do right now is keep working at it :P
So first off, lets just reiterate what we’re doing here:
Given the enormous amount of ideas I have to continue expanding this game (my own and those suggested by you guys), I’ve decided to quite drastically increase the duration of the project and the planned final scope of the game. For an overview of the direction we’l be heading see link
Early access will continue for another year and a half or so with a tentative final release date some time in late 2020.
In order to most efficiently work towards this larger final vision of the game, I think its critical that we get a bunch of the major components and changes working as soon as possible so that we have lots of time to work on the details.
With this in mind, we’l be passing through what I’m calling a ‘transition period’ where I’ll be forking updates to an opt-in beta branch while leaving the default branch as it is.
The test-branch will be a place of chaos, extreme lack of balance, and hopefully, very rapid development.
When the transition period is complete i.e. the game is not a complete mess, I’ll merge it back onto the main branch and we’l carry on our merry way.
I’m expecting this transition period to take about 8 weeks with the goal being to get the game back to its current ‘playable’ state by the end of June with the rough details of the expanded scope filled in.
Transition Period Overview: The defining plan for this period will be rough, fast, and fluid! I’ll be cutting every possible corner, using placeholders wherever possible, leaving every detail unpolished and just generally focusing completely on the big picture at the expense of the details. I want to be able to add content quickly, move big globs of 'stuff' around, and just generally work at a very high level.
I like to think of this as sketching where you keep everything quick and loose so that you can focus on getting the major ‘gist’ of the whole thing worked out while leaving lots of room for iteration and changes. The goal of this period is to, as quickly as possible, get the major ‘skeleton’ of the whole expanded scope figured out and working. The period will be complete when its possible to start narrowing in and getting into the actual details. With the in mind I have a number of ‘rules’ I’ll be trying to follow during this period:
#1 Completely ignore variety between games, randomness, proc-gen etc. Focus on getting a single, balanced, working example of the world completed. This completely eliminates the hassle of trying to analyse and adjust in the face of constantly shifting proc-gen. It also allows me to very rapidly create content, adjust it, move it around etc. Once a single working world has been achieved, its much more managable to start varying and randomizing the individual elements.
#2 Completely ignore details. Wherever possible, sketch in the bare minimimum required to capture the ‘essential essence’ of a feature, piece of content, region of the game etc. Theres no use going into detail before the big picture is firmly established.
#3 Completely ignore micro balance. Avoid fiddling with stats and trying to get combat balance perfect at all stages of the game. Rather focus on the big picture, macro balance of the game.
#4 Spend a ton of time on quality of life features. This sort of contradicts the points above, but I believe in this case, its absolutely essential to spend a lot of time getting this stuff right. The world is going to be getting very big very fast, and its critical that its easy, intuitive and not annoying to navigate it.
Furthermore, most of the changes really come down to adding a high level strategy layer to the game and in order for this to work, we need a lot of information to be presented clearly in order to make strategic decisions. I don’t want a messy user interface to be obscuring whats actually going on mechanically in the game.
Update 1.28: To access the test-branch of the game you need to right click on the game name in your steam library and at the bottom of the drop down menu select 'properties'. Then under the 4th, 'Betas' tab enter the password 'secretpassword' and it should give you access to the test-branch. Please let me know if you have trouble accessing it.
This update is essentially a technical proof of concept which includes a lot of the underlying bits of code that will be needed moving forward. Its basically a direct translation of every bit of content, generation, and mechanics that we have so far into a non-linear format with very little adjustment. So obviously this means it doesn’t really ‘work’ as a game yet, but its definitely a solid foundation from which I can now quite rapidly start building so updates to the test-branch should be very frequent moving forward.
To be clear EVERYTHING is basically a placeholder at this point and is subject to drastic change, removal or replacement. I’ve done a ton of design work on paper so I feel like I have a pretty clear picture now of where we’l be going and how I’ll be evolving the game to get there but theres definitely going to be some weird transitory steps along the way that might not make much sense. With future updates I’ll be doing my best to explain my thinking along the way, both to explain what would otherwise be ‘wtf is this?’ moments, and also since you guys have always been super helpful with feedback, suggestions, critiques etc.
For now though, its getting past midnight, and if I don’t finish this announcement quickly I’ll likely just put off this update again. Moving forward though I’m planning on updates very frequently i.e. every day or two, and I’ll be trying to give as much information about whats going into the game, and more importantly why, along the way. Definitely tomorrow I’ll likely have another update along with some more details about the current content and mechanics that have been implemented.
Thanks as always for all of your feedback, suggestions, and support!
April-26-2019 - Announcement!
Hello everyone! We've been chatting about the following changes for the past week on discord so I figured I'd post a nice summery here for those of you who arn't in the channel.
Based on a number of factors which are described in more detail in the page linked below, I've decided to expand the scope of the game I'm ultimately trying to make with this project. A brief overview:
The total time in Early Access will be around 2 years. This means the game will be officially released some time in late 2020.
The goal is to ultimately make something of comparable scope to the genre classics i.e. NetHack, Crawl, ADoM etc.
The core design principles will remain the exact same as before: we're making a bigger game not a different game.
There will be a transition period with rapid changes and generally a lot of mess in which development will move to an optional test branch, separate from the live version of the game. You will be able to opt into this test branch from the steam client.
The transition period should take about 2 months after which the game should be stable and balanced enough to be placed back on the live branch and development will then proceed as before but with a significantly expanded foundation, giving us much more room for future growth.
A much more detailed description of the above is available on the following page: Link
Given that this project is now going to be quite a bit larger and more complex I will be regularly updating the above page with more details regarding plans, features, core concepts etc.
I've already gotten quite a bit of work done on the initial transition stuff and so will be getting the test branch setup sometime in the next few days with an initial prototype. This first build will really just be a 'tech demo' of sorts with everything from the current game transferred over onto a large, seamless, scrolling map. Though it won't really be 'playable' per say it should at least give a visual idea of what some of the above document is describing.
From there, development on the test branch should be proceeding extremely quickly over the next 2 months so expect much more regular (though much rougher) updates there.
As always I appreciate any feedback and particularly questions you guys have. In this case questions are even more important since A) I want to make sure I'm explaining everything clearly and B) I need to make sure I'm actually considering everything clearly. I'd like to at least have a vague idea of how 'everything' is going to work at this point before we get to deep into this.