Sunday 21 January 2018

Yard

The structure generation of Cornucopia is ready, but still needs some tweaks like room types and interior generation. Maybe the smallest room size could be 5x5 rather than 4x4, because smaller rooms tend to squeeze themselves into strings of rooms which don't always look that great.


The green rectangles are yards. It's a feature that can come after a room (as the yard of the room) or as first feature. I think it's a rare, well, feature in roguelikes to have yards in the dungeon.

After those tests I added two different room types randomly to make it more colorful and it does work quite nicely, when you have more room types than just one. At the moment there are only three features: room, yard and corridor, but I think it already looks nice. The interior is more important than the "shape" of the feature anyways.

This routine is probably going to replace 'small room' routine used in various level themes and I like the idea of "layered" generation starting from basic dungeon and then adding stuff like this.

If there is one thing that bugs me it's that backyard in bottom right corner of the screenshot. It doesn't seem to have a door connection which could be some kind of rarely occurring bug. So maybe it would be wise to create important stuff like stairs only to the basic cave area.

Saturday 20 January 2018

Frost

It was somewhat cold this morning (-15C) but also foggy which is quite rare at least in here. It's creating some spectacular looking frost on trees:

As imaged using my potato Fujifilm X10. Frost is like strings of crystallized snow which I guess is formed when that warm foggy air is attached to end of the string in wind. Or maybe I'm just guessing.

About that Cornucopia generator. I've fixed double walls which is generating quite nice looking rooms, since some of them become irregular (not strictly rectangular) and also made the corridor creation. In that I realized you can't create corridors before the next feature is made so corridors need a special routine to allocate their space with Restricted mask type. The only things left are different sizes for each feature type which has complicated the routine somewhat, but in the end it will be useful to have, and then determining which kind of rooms the generator is creating.

Friday 5 January 2018

Cornucopia

Finally starting to get somewhere with the feature creator which there is a class Cornucopia for it, because my naming skills are perfect. I had problems with reverse connections and the way next feature is adding a connection to previous feature later. I have two examples to show with rooms as features. Later features can be anything, but mostly corridors. The minimum size of rooms are 5x5 tiles, but they could be as small as 3x3 to squeeze them in smaller spaces.


This first example is actually a very rare "failure", because it has five starting points (rooms) as feature parameters, but no clones at all! I was amazed when I saw this, but it's possible that rooms are made in a place where they can't clone, because they can be only made in a solid rock, not on top of the basic dungeon which is a drunken walk generated cave. However, when you increase starting points it's less likely for this to happen.


This second example is more from extreme end where almost all free space is used by clones that all started from five starting points. It's possible to reduce this kind of generation by giving each feature less than 3 exit points to only clone from 1 to 3 directions randomly. Also the percentage value of created floor tiles can be a limit to the amount of features.

Sadly, this routine is far from ready. One problem seen here are double walls between rooms which are the result of features looking for free space without generating over the existing room walls. But it's possible to remove double walls later and expand the space of one of two rooms sharing a wall.