I only have one new screenshot to show, but it's a very cool one.
So what's happening here?
I made a Junkyard Biome. All it does is fill the screen with random tiles from a collection of 32 tiles, and then carves out a vertical and horizontal path through the middle.
In my last post, I was commenting about how I ran into an issue with only having 256 unique columns. This screenshot shows a lot more! Each column is a series of 10 tiles, each randomly selected from a pool of 32 tiles. This means that each column has 1,125,899,906,842,624 possible configurations. Likely, every single column shown in this screenshot is unique, and the game still works.
How tho!Not all heroes wear green tunics
After my last post, Cyneprepou4uk
commented that there was no need to restrict myself and so I reached out to him. After some discussion back and forth, he came up with a great idea to make each column on each screen unique, and then wrote the ASM to make it work. It's a really solid implementation that makes writing to the rom much easier in my application and makes it a lot less bug-prone. The technical stuff (or: Skip this if you don't care)
He expanded the rom, adding 8 banks. Then with some ASM magic got rid of the column groups, column definitions, pointers, and basically re-architected the entire method the game figures out what tiles to place on the screen.
With 8 extra banks, four go unused, but in the other four, each bank is set up to define 32 screen layouts. Instead of having a layout reference 16 columns in another table by their group and id, each layout directly contains the 176 tiles for that layout.
The way that this is set up, I dont have to worry about setting Start Column bits, or Double Tile bits, or collecting columns into groups, redefining pointers to those groups, or encoding all the column data in the rom's funky format. But most importantly, I dont have to worry about space limitations!
So HUGE thanks to Cyneprepou4uk for making this possible!Moving Forward
With constraints out of the way, I am free to get more creative with Biome generation. Previously, I had no plans to make a Desert Biome because of the extra columns it would make, but now I can include them. I also have an idea to make a Wetlands Biome that will have a lot of 3x3 to 4x4 tile-sized lakes throughout it with rivers connecting them and bridges crossing over them.
Here's a little mockup of the Wetlands Biome:
I also want to design a bunch more Decor screens for each Biome and a handful of new Dungeon Entrance screen layouts.
I'm also open to ideas for Biomes or even layouts of Dungeon Entrance screens. A pretty easy way to make mockups would be to use Pyxel Edit
and use the template I created