Last week I initially worked on the combat calculations and managed to make some good progress on overhauling and optimising the way the calculations were handled. Then I inevitably kept thinking about the navigation and got drawn back into it.
So, let me talk (hopefully for the last time) about navigation once more. I never know how technical I should get in these updates, so I will try to keep it sensible here as well. When I talked about setting up graphs (mathematical representations of the terrain) before, I mentioned that they were both used for villagers to be able to “see” the world and calculate where to go, as well as a range of other things (e.g. validating where the player orders a soldier to go, colour of the map, etc). My ideal solution used a very cleaned up graph to do all of these - but there were many issues with actually creating or cleaning up a graph as the system wasn’t built for it to be updated manually.
My alternative solution was to find a middle ground between good pathfinding and addressing the other considerations - which would have worked for now, but sort of left a bad taste in my mouth for being very half-finished and not ideal on any one function. However, I now decided to essentially use 2 graphs to do what I wanted - one to validate orders, etc, and one for the actual pathfinding. This means that I needed to adjust quite a bit of the code, but as a result, we have a reasonably clean setup now, which should take no time at all to switch over to the ideal solution if that becomes viable - while performing pretty well on all functions.
Once this was set up, I switched the rest of the game to using the new solution (so plants and buildings would be recognised by the graph, etc), and things are working very well already. I’m sure there will be a few things I will have to adjust over the coming few days as I remember that they need to be switched over, but for the most part, performance of the villager and soldier pathfinding is much faster than it was before.
The new system also gives us much more flexibility for further optimisation and improvement if and when we need it, so I am overall very happy with where we have gotten.
Over the next week, I will hopefully finish the optimisation of the combat calculations - As usual, I will keep you posted.
It has been a while. I took a short break from Dungeon Maker to make a tutorial series on YouTube, went on vacation, and then got a horrendous cold, thus the long delay in updates.
However over that time I did work on the game here and there, and have released some updates and features.
Bug Fixes:
I fixed a glitch where on the map maker when testing the map the origin point would block light regardless of if an object was there or not. Turns out this was due to a placeholder item I needed to make things work in the editor being on the wrong layer.
Also fixed a glitch introduced to the map exporter in the layers update where the first layer of fog was visible to the exporter and made the exported image blurry. I moved the camera's z-axis position during image capture so now it does not include the fog layer.
Another map exporter glitch sometimes caused part of the image to duplicate onto another part, ruining the exported maps. Somehow my debugging scripts were causing this, so getting rid of them seems to have fixed the issue.
Feature Fixes/Changes:
In the map town generator the generated roads now reach the edge of the map, instead of ending one tile inside.
Generated roads in the town generator will also no longer generate into the walls of buildings.
Reduced the map item count from 7000 to 5000 since during testing it was found that the messaging system is unable to sync maps with more than 5000 items to the players. For anyone who has made larger maps, you will need to remove items from them to get under the new limit in order for those maps to sync to your players.
New Features:
Added a random forest generator. This generator can make random forest scenes with trees, rocks, and plants of your choosing, and can also generate paths and clearings. You can also select the size of the generated forest.
Encounter flags can now be placed in the map maker, allowing the DM to transition directly between maps without having to first exit into the campaign map during play.
Added a background image to the main menu that I made myself. It's been a while since I've done digital painting, and I know I'm not great at it, but I wanted to give the artwork a shot. I will be creating more artworks for the game in the future, and intend to make it so the DM can go to an art screen during play as a briefing area for their playgroup, as suggested by a user.
I also added new items and categories to the map maker for you to place.
Ancient Dungeon ea0.1.2.0 has been released! The main part of this update was the time consuming port over to OpenXR as well as a huge code cleanup and rework to make many interactions less buggy and the gameplay more stable. PCVR players can look forward to playing with shadows to make the game look a lot more beautiful. The Insight system has also been reworked to lay the groundwork for more Insight related additions in the future. There have been tons of improvements under the hood, many of which can be checked out in more detail by looking at the previous devlogs!
The port over to OpenXR has been a challenging and time consuming task. We are pretty satisfied with how it turned out, however there can still be issues that our testers might not have spotted. So if you notice any issues (especially with more unknown or lesser used headsets) please let us know in the Steam discussions or our discord server. We will be closely monitoring this release to make the transition seamless for all players.
Now that the huge undertaking of porting the game over to OpenXR is done, we can 100% start focusing on new content. We have a lot of exciting stuff planned, and will post a new devlog soon!
additions: - the Insight system has been reworked! Players now also collect additional Insight for spending money in shops, killing enemies, and completing floors. Hard mode also now gives a multiplier on collected additional insight. Collecting Journal Pages, Milestones and Items now gives more Insight than before. The amount of Insight depends on the difficulty of the milestone or the item tier. - a rework of the Insight Board, which now has more Insight upgrades in different categories. To ensure a smooth transition to the new system, all your bought Insight upgrades will get refunded on update. - PCVR now has point light shadow support and graphics settings (more settings to come in the future). Be aware, that shadows can cause a huge performance impact. - picking up a mark pickup will drop an already equipped mark on the ground instead of voiding it - 2 new Insight upgrades
changes/fixes: - updated the Project to Unity 2021.3 - With the change to OpenXR a lot of interaction issues have been fixed because the whole movement, climbing and interaction system has been rewritten from scratch! - The player stats have been reworked in a way that makes item combos more consistent in how they calculate damage (no matter the order in which they have been picked up) - several items now have extra sound effects when they activate (Deafening Bell, Dented Gold Chime, Discarded Door Chime, Gaping Totem, Glowing Orange Spot, Needle of Oroborous, Packrat Mandible, Pit Friend, Silver Spoon, Swollen Dragon Lung, Tarnished Silver Chime, Tress of Silken Hair) - lots of physics improvements: movement or weapon stutter should not occur anymore - hard mode now spawns more enemies - optimized several parts of the world generation algorithm to reduce the amount of lag spikes - doors will not pop up anymore during generation when entering a next floor, the floor is already generated one the player gets there - improved performance should result in a smoother framerate (especially on Quest) - increased render resolution on Quest 2, which should result in a much sharper picture - seeds are now completely consistent in the world generator - this includes podest rewards, slot machine outcomes, enemy drops, shop selection and more - be aware, that depending on your progress in the game, the same seed can still look different. For example, players that have secret rooms unlocked will have a different dungeon layout than players that don't have them unlocked yet - improved the hold angle settings system - your UI pointer can now be used on both hands - cracked mirror now reduces your luck a lot more in exchange for better stats - myopic lens has been reworked - assassins mark now deals damage to bosses according to 25% of their max health - befouling sludge now has a chance to deal crit damage - enabling and disabling the ingame console without running a command will no longer block achievements for the run - grinning totem now gives luck based on the amount of coins and keys that have been reduced - Experimental versions now have a big warning in the main menu - If a mod is broken, it will now show a big warning in the main menu - fixed glittering orb and some items not working in hard mode - fixed gaping totem not showing damage increase in stats when having coins - fixed damage inconsistencies with NG+++ - reworked abacus bead - fixed some items / progresses not having the correct behavior in NG+ and beyond - fixed vial of blue blood + ruptured dog eye + glass cannon killing the player - lobster bib now takes into account which type of food you are eating - fixed shopkeeper boss hitboxes - fixed challenge runs having hard difficulty when it was selected in the run preparation screen - increased the length of the player sword and dagger by one voxel (to offset the more realistic holding position) - increased bullet slime spit distance - fixed hedges and potentially some other objects not getting cleaned up when the floor is completed - better handling of pickups stacking their effects - some visual improvements for the ingame console - reworked the potion system which should fix most of the potion related bugs that have been reported - fixed an issue in NG+++, which did not kill the player when DONT_SCALE_NEWGAME damage was applied (for example Packrat Mandible does this type of damage) - reworked business senseless insight upgrade (now always gives an item, but only 1) - Calcified Pustule now deals a small amount of extra damage instead of dealing less damage
modding additions: - It is now possible to create custom weapons via modding (this feature is not fully developed yet, more improvements are coming in future updates) - It is now possible to create overrides of items (the new weapon system already uses this to give items weapon specific changes) - A mod settings menu where mods can create custom settings to toggle specific features of a mod on or off
modding changes: - GetEnemiesInRadius and GetLivingInRadius have been changed to take a Vector3 instead of a Transform - New Stat system TODO: write change tutorial - renamed BlockChance to EvasionChance, renamed ShopPriceMultiplier to ShopDiscount (ShopDiscount now works the other way around compared to ShopPriceMultiplier) - renamed SwordDamage to PrimaryDamage, renamed KnifeDamage to SecondaryDamage - renamed SwordCritChance to PrimaryCritChance, renamed KnifeCritChance to SecondaryCritChance - removed IncreaseEvasionByRule, because it is now automatically calculated via the Stat System - droptable.AddToDroptable now also has hardmodeProbability as a parameter - reworked the potion/orb system to take care of a lot of things automatically, like keeping track how often the player has been affected, which enemies have been affected and vignette effects. - ChangeRandomPlayerStatsSlightlyUnique and ChangeRandomPlayerStatsSlightly now take a key value as their first parameter because of the new stat system - UpdateWeaponColors does no longer need an array of strings of which weapons need to be colored. Instead there now is UpdateWeaponColorsPrimary, UpdateWeaponColorsSecondary, UpdateWeaponColorsAll, UpdateWeaponColorsMelee, UpdateWeaponColorsRanged - SetTrailColor and SetTrailEmission have the same behavior now - Exposed many new Types - renamed AmountPickupFoundDuringIn to PickupFoundInRun - renamed AmountTotalPickupsFoundDuringRun to TotalPickupsFoundInRun
Addition: - Stage 2 "Butterfly Cage" - Achievements related to Stage 2 - Stage select
Change: - Recovers melee stamina when the player kills an enemy. - Slightly increased the duration of the dash attack - Cost reduction for ranged attack - Player recovers stamina and concentration when she hit.
Fix: - When a player performs a dash attack, the player gets stuck on the wall.
Expedition Improvements Added : New Expeditions Added/Balanced : Expedition Milestones Added/Balanced : Town Building [Adventuring Party] effects Changed : Removed "Rare Material Gain Chance" from expeditions because it's not implemented yet CAUTION Since I changed some codings for expeditions to improve and balance more, this patch will reset the current expedition team. Please update to this patch AFTER you finish and claim the current progressing expeditions.
Additions Added : a new general upgrade [Equipment Inventory Slot] Added : Area Mission Milestone for more than 100 clear Added : Slime Bank upgrade [Gold Gain] (unlocked by Slime Bank building Rank 2) Added : Toggle [Enables holding Shift+F key to show full costs] in settings tab - To prevent the game performance from getting worse, it is limited at most x100 Added : New icons for enchant scrolls Added : Tips for Capturable Monster Level in trap's tooltip Added : Rebirth button's tooltip
Balance/Changes Balanced : Reduces the cost of Tier 2 Rebirth Upgrade [ Skill Rank Cost Reduction ] and increased the level cap Balanced : Alchemist’s Hut building effect Balanced : General 2 Upgrade tab is now unlocked through Global Quest [Tutorial 4 : Upgrade]
Bug Fixes Fixed : Tooltip size display bug when you click something Fixed : When you do Area Prestige Reset, its area's clear # also wrongly reduced Fixed : Holy Arch wasn't affected by equipment's skill level+ effect Fixed : Other minor bugs/typoes