This week was content week, putting the procedural prefab and related systems a bit more to the test, nothing too exotic though, just a culmination of work done up to now.

New prefab areas

  • Lean-to. This is an outdoors structure, one side is wall and has two columns in the open corners. It's generally empty (for now). The area outside contains a few crates and a campfire.
  • Lean-to example 1
    Lean-to example 1
    Lean-to example 2
    Lean-to example 2
    Lean-to example 3
    Lean-to example 3
    Lean-to example 4
    Lean-to example 4
    Lean-to example 5
    Lean-to example 5
  • Camp. This is an outdoors area, exactly like lean-to but without the structure.
  • Camp example 1
    Camp example 1
    Camp example 2
    Camp example 2
    Camp example 3
    Camp example 3
  • Spring . This is a small outdoors area that contains a body of water and more-than-usual wildlife around it.
  • Spring example 1
    Spring example 1
    Spring example 2
    Spring example 2
    Spring example 3
    Spring example 3
  • Oasis. This is an outdoors area that contains a big body of water, it's surrounded by trees (but still allowing access to the water) and lots of wildlife are around as well, and other "decoration" which might map to desert-themed flowers/grass etc.
  • Oasis example 1
    Oasis example 1
    Oasis example 2
    Oasis example 2
    Oasis example 3
    Oasis example 3
  • Stone circle. This is an outdoors area where we just have big stones forming a pattern (pentagram, hexagram, square, others). At the moment I'm using statues because I don't have any good cairns, oh well.
  • Stone circle example 1
    Stone circle example 1
    Stone circle example 2
    Stone circle example 2
    Stone circle example 3
    Stone circle example 3
  • Ruins. This is an area that contains ruined buildings. It's configurable if there's cobblestone in the area, or just whatever biome ground there's underneath.
Ruins example 1
Ruins example 1
Ruins example 2
Ruins example 2
Ruins example 3
Ruins example 3
Ruins example 4
Ruins example 4
Ruins example 5
Ruins example 5

More flexible lakes

I needed to add a bit more control on how lake bodies are generated. Previously I just had a "coverage" parameter between [0,1] but that was not enough. Now it's also parameterised on if we want the water clustered all together in a single lake, or have multiple smaller ones. All this was done to be able to make a nice oasis. Below are some example lakes.

max coverage, max clusters
max coverage, max clusters
max coverage, min clusters #1
max coverage, min clusters #1
max coverage, min clusters #2
max coverage, min clusters #2
med coverage, min clusters
med coverage, min clusters
med coverage, med clusters
med coverage, med clusters

Debugger Drama

That was a "fun" one. I got some weird placement behaviour and I thought I'd use the Visual Studio debugger to see what's going on. Long story short, I ended up stepping through code like:

if(value)
    do_something();

So, debugger pointer was on if(value), value is false, then I step over, and it goes to do_something. And I started question my sanity. Long story short, the debugger is unreliable in some cases (even in debug mode) and the pointer is over lines that are not necessarily executed. Solution? Look at the disassembly! Easier than it sounds like, and it was pretty clear what was going on. Lost an entire afternoon on this nonsense.

Next bit of work, probably low on imagery as it might take a bit, is fixing up the C# side so that the dungeons are playable with in-game graphics!