Pre-Alpha Build 13: More NPC Variety, Ferny Ham Branch, Graphics


This has been a really productive week, and we're definitely racing towards Alpha! There's a full set of screenshots for this build up on Imgur.

Lua API (skills/spells)

  • New functioans: GetCharacterLevel, SpawnProjectileAt, ProjectLine, PlayParticlesAt.
  • Fixed a few uses of functions that returned an array but forgot to wrap it in `(i)pairs`.
  • New functions to query the player's gold and spend it.

Smart NPC Spawning

Previously, NPCs had always had a strict list of skills - defined in Lua. This was leading to a lot of redundant typing, and made things very predictable - e.g. an axe-wielding Merryman would generally go for your legs. So I added a new tag to the raws, BasePackage. When the spawner sees that tag, it looks up a starting package for the that class and applies it. It then spends skill points (based on level, just like the player) from the tree in a semi-random fashion - *heavily* favoring children of skills it already has. Since there are quite a few skills per tree, this leads to much greater variety.

It also both helps and hinders balance; it hinders in that I don't know for sure what a mob will do now. It helps in that it pushes me towards balancing the skills better by where they are in the tree.

So, combined with other elements, NPCs are really quite dynamic. Their equipment starts static, but they will equip any good loot with which they spawn (from various loot tables). If they have AllowStatVariation set, then attributes can be +/- a few points. If they have Variants defined, then they can spawn with different equipment and starting skill packages for each variant. So a relatively small description can give a big variety.

Ferny Ham

Ferny Ham, the first branch, is 95% complete. It needs a little more balancing (particularly towards the end), but it's working - and starting to look pretty good. This is a branch - so its optional. Completing it turns off the hunger clock (because you now have access to the halfling supply chain). Thematically, it's a "run the gauntlet" series of levels.

  • New models for halflings, so they aren't just a shrunk version of the farmers from earlier.
  • New characters: halfling sheriffs. They are resistance fighters on your side.
  • New enemies: human slavers, made to look quite yucky (they are working alongside the orcs).
  • Generally better appearance, with a significant performance boost from using smarter materials.
  • Better distribution algorithm; it's already divided by field, but now the fields are more interesting and themed.
  • Halflings are a little taller. It's not as "realistic" (in a much as a fantasy game can be!), but now they aren't underwater when in a rice paddy, and they are easier to see.
  • Corrected farm animal faction. They were hostile to everyone, including each other - turning lovely halfling villages into giant blood-stained abatoirs.
  • The upper stockade now has its own generator, focused on creating a difficult approach and a central tower area.
  • The Pit is now a prefab, a gladiatorial arena.
  • Ferny Manor is largely complete, complete with the boss - Prince Gunter.

To support the arena, there's a new type of trap: the spinner. It blasts an adjacent tile with fire every turn, with the target tile rotating around it. It's turn-based - no reflexes required - and on a strict schedule. So a bit of observation and timing lets you avoid it (and use it on mobs).

Damage Control

I almost finished fleshing out the damage system. There are a bunch of different types of damage (bludgeoning, slashing, piercing, poison, fire, ice, acid, etc.), and there's a rock-paper-scissors like minigame in which various mobs inflict (or are vulnerable to) different damage types. It takes a lot of work to master for optimal play. I've added in a few effects associated with different damage types (as well as better resistances):

  • Fire damage can give the target the "on fire" status effect if you don't resist it. This does fire damage over time, sets off any combustibles you encounter while on fire, and can spread. Entering water puts the fire out. Fire is viral, and can spread to adjacent entities (there's a resistance bonus, so it's less likely to conflagrate everyone). So it's a bad idea to set someone on fire and stand next to them!
  • Ice damage, if you fail a saving throw, plays a special particle effect and you are frozen for a short period.
  • Holy damage does double damage to Undead.
  • Acid damage does extra damage to your equipment, unless it is magical.

Skill Enhancements

  • Moved the spell-related raw files into a single file.
  • Zap now has a much more impressive visual set. I also gave it a damage bonus equal to your level to help it remain relevant as you progress.
  • Burning Hands has a similar damage improvement (it's fire based and melee range), and a nice fiery effect.
  • Fireball now has Burning Hands as a pre-requisite. It also gained some nicer graphics, feeling a lot more powerful.
  • Lighting ball is now lightning bolt. I was being lazy and treating it like other AoE ball attacks. Now it targets the highlighted target, plots a line, and keeps zapping in a straight line until it hits a solid tile. I didn't put reflection in (yet!). It also looks better.
  • Chill touch is now a child of "zap" on the tree, to make navigation easier. It has gained a slight damage boost, and better graphics.
  • Vampiric touch is now a child of "chill touch" on the tree, and has improved visuals.
  •  Removed rainbow spray, because it's too similar to the type of crowd-control effects I want to be in the Rogue tree - and didn't really "feel" like it belonged with the other wizard spells.
  • Fixed the duration on Enlarge, Faithful Armor, Holy Glimmer, Light and Blindness.
  • The various teleport effects now have nicer graphics.
  • Fixed *Flamestrike*.
  • Added some visuals to summoning food.
  • Improved duration and visuals for *Bless*, *Curse*, all the *Endure* spells, and *Flaming Weapon*.
  •  *Hold Person* now has a graphic.
  •  *Holy Word* was broken; it now works and is sufficiently impressive looking!
  • *Flying Kick* has better graphics, and is no longer busted.
  • *Whirlwind* and *Tornado* look like the spinning death that they are!
  • *Spinning Death* and *Dance of Doom* have some fx now.
  • *Behead*, *Hew Weapon* and *Hew Shield* look much better.
  •  All the blunt weapons skills have effects applied.
  • Fixed *Rain of Arrows*, and *Rain of Fire*. I like the effect of Rain of Fire - you really don't want that hitting you!
  • *Flaming arrow* looks better.
  • The various summoning spells have some effects.




Files

one-knight-in-the-dungeon-windows-alpha.zip 603 MB
Version 13 Apr 12, 2019

Get One Knight in the Dungeon

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.