Wednesday, August 24, 2016

Markeen - Finagling

Today I did some more tinkering with Markeen. First, I made rare structures automatically be removed when they intersect with something already built. That effectively removes all generation of rare structures, but at least they won't be weirdly smushed against normal level parts.

After that, I noticed that the erase-and-regen passes were never running; I had basically commented them out. I re-enabled them after changing the eraser to not run when the retry loop is about to give up. So far, I'm not sure it's helped.

Then I started messing around with the mathematics of tile selection. I tried changing the devaluer of tiles with absent precedents to be independent of the profiling depth, but the only other way to write it that I could think of caused all the levels to be huge messes of all kinds of different things strewn about next to each other.

I noticed that a lot of the issues with the generated levels were from errors in the original ones, like platform inner tiles being exposed to air. I extended the command-line part of the utility to be able to edit profiles. Currently, it can only remove an arbitrary tile entirely or make two arbitrary tiles never appear next to each other, but it helped me get rid of some common problematic configurations.

I also experimented with the previous fill orders, but soon remembered why I wrote the current one. The others all produce suboptimal results, though the corner-expanding one is pretty good at making interesting pipe designs in the solid metal chunk it usually creates. Along the way, I fixed a bug in the current order that caused a hang after being restarted.

While trying to sort out the over-packedness from some of those orders, I tried introducing a change to the final tile selector that buffs the chance of air (tile 0). That had the interesting effect of producing swaths of blankness in some areas - usually around the center of the level - while not having too much of an effect anywhere else. It could still be a good idea if executed with a little more sophistication.

So that's all well and good, let's see some pictures!






I then, for fun, tried it on Keen 4.


You can see the "black hole" effect right in the middle. Keen 4 is already pretty spacious (compared to Keen 5 at least), so the air buff isn't really helpful. So I disabled it to take the following images.



These pictures are only the best levels that I saw, so there's definitely a long way to go yet. Perhaps I should have a system that completely excludes a tile from a level if another tile is present anywhere - that would drastically cut down on the bizarre fusions of platform styles.

No comments:

Post a Comment