Build 7 - Stability and Making it Friendlier!


There's a lot of back-end updating in this build: a friend who works in AAA development gave me some pointers for getting around some of the issues I'd been having, and things are much faster/more stable now (and run-time memory usage is down to under 700 Mb consistently). If you are having performance issues, go to settings and graphics and use the "auto detect" feature - it gets it right on every system I've tested it with!

Visual Enhancements

  • Improved top-menu bar, to make it more obvious how to find features.
  • A bunch of small visual enhancements, and a few performance enhancements relating to how props had particles/lights and became visible or otherwise. Basically making effects/lighting a child of the parent prop, to make hiding/showing it easier.
  • Ceilings! This is harder than it sounds, because you *don't* want to show a ceiling in overhead view (so you can see the ground!), but without one dungeons look really odd in RPG camera. Reworked some broken old ceiling code to use instancing, which sped things up enormously. 
  • Proper walls are back in the sewers. 
  • There's an option to always show the grid, rather than just when aiming. I'm trying to gently embrace the grid-like nature of the game without overwhelming newcomers. 
  • Arrow projectiles now look like arrows, not laser beams. It's a flexible system, so instead of arrows it can be lightning, fire - whatever I want to attach. 
  • Level name is now visible below the mini-map. 
  • Fixed missing clouds in the sky!

Other

  • Finished up implementation on a bunch more skills. Wizard is still incomplete.
  • New web hosting address: http://oneknight.bracketproductions.com/
  • The targeting system is much smarter about picking your target (tab to cycle), and a display onscreen shows you your target's name in addition to the highlighting. I added a tooltip telling you how to cycle targets, so hopefully that'll be a bit more clear to players.
  • Both the AI and the auto-play test feature are better at using melee skills.
    * Autoplay test mode knows how to use ranged weaponry. 
  • Skill definitions are now decorated with tags telling the AI when they are appropriate to use. Mobs will once again use skills when they can (this broke when skills were redefined a while ago). 
  • You no longer have to press `>` to go down/through an archway to the next level. Surprisingly, the need to do this confused new players. I had to balance it with the idea that people might want to stand on the stairs and not travel - and decided that ease won out. Hopefully, I was right! 
  • Unless you configure it not to, the game shows you a story message on level entry. This goes away on its own after a few seconds, or you can press OK/hit enter/space/escape to dismiss it. This gives me an opportunity to let the player know what on Earth is going on! 
  • So it turns out I wasn't quite done with memory stability, finding a few more instances to fix-up in the theme code. Once again, it runs faster and uses less memory! 
  • Fixed an issue in which being bald could crash the game (your character, not you...)

Map Construction

  • MapBuilder refactor - a few functions that repeated themselves in the map builder code are now shared in a generic form.
  • Zonal spawning in open maps. Quite a few maps use a variant of cellular automata, which gives nice open area maps - but doesn't lend itself to room-based spawning. I like to spawn similar things together (to give localized themes). Previously, I was dividing the map into grids, counting available cells in a grid and spawning based on a frequency number (modified by distance from the path, if there is one). That worked, but it wasn't as coherent as I'd like. I've replaced the grid function with a function that makes "cell noise" (basically Voronoi) from the noise library - supporting multiple distance functions to allow for more interesting cell shapes. 
  • Zones have also gained a density parameter, which is the percentage likelihood that a cell will include something (except for vaults and groups). 
  • Zones have a sub-theme tag, which can override the tileset for a region. So a portion of forest overrun with Undead can have a different look to a lush woodland full of wildlife, and can look different from a ruined city. This is designed to give visual clues as to what's going on in a region. 
  • New Zone Types*: Vault and Group. A *vault* is a predefined map segment that can be placed inside a zone; a *group* is a set of NPCs that spawn together. The same vault/group won't ever spawn twice on a map, and also only if it fits in the available zone - so they can be quite rare. (There aren't any vaults in the new build; they will be in the next one)




Files

one-knight-in-the-dungeon-windows-alpha.zip 603 MB
Version 7 Feb 22, 2019

Get One Knight in the Dungeon

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.