This just got bumped the hell up because I realized I can use ChatGPT as a productivity multiplier to create a massive amount of content and content relationships.
Uses a high-parameter layered version of the fractal maze engine to create emergent content. I'll explore this in its own post, but basically it creates a rich procedural world where areas that are similar are close together and subareas work the same way and are layered onto the existing one, such as sub-biomes, towns, town houses, etc.
Various areas are gated off metroidvania style -- you need clothing to enter a town, a torch to explore caves, etc. Resource collection is also gated, you need tools such as an axe, a pickaxe, fishing rod, etc.
The item system is shatterloopian and lootopian. Different plants will have different products that can be pulled from them in a very free fractal way, and will gain different game properties depending on type and maybe entity-based variance. The actual relevant properties are based on a cloud of tags that refinement processes can alter. You should therefore be able to do weird things like turn a grandfather clock into a sword by pulling out the required components of that recipe, refining and reassembling.
Resource locations are shatterloopian -- they're based on the location and limited. This leads to more emergent gameplay and encourages exploration to find additional materials.
Combat should work on similar principles as exploring -- like animals have a set of properties that vary as they or you attack, and then your weapons tie into that.
There are intense survival mechanics like with Wanderer however instead of dying, "instinct takes over" and you end up somewhere else, and probably outside of the current layer if there's no possibility for fixing that particular survival thing. Things like heat, cold, hunger, thirst, sleepiness and exposure are explored. Fights work similarly as instinct takes over and you automatically "flee".
Vague "biomes" that connect together where they naturally would.
Each biome has a cloud of properties that informs its generation and/or description in some way. "Rooms" are indexed by these, which are used as a seed for generating relationships to similar rooms.
Some of these properties are "distance to subareas", such as mesas in deserts. Properties can probably be appended, like I could imagine having access to both a black Mesa and a red Mesa, and them increasing the likelihood of spawning the other or whatever. In any case this kind of thing explicitly lets you "travel closer", which explicitly alters that property. At its maximum extent you can enter a subarea.
Subareas follow the same rules as areas except the layers above it has properties that are locked. Subareas have one-way exits into areas with the "subarea exit" property turned up to maximum -- these will have suspicious looking rocks or whatever.
Subareas have a couple things to keep them from being infinite -- mandatory exits at some levels of "depth" -- basically 10 numbers within the 10-20 or 20-30 etc range are chosen and 2 numbers are picked randomly. Or something like that. Additionally certain subareas (like houses) may themselves contain fixed depths.
Areas can potentially be hyperbolic but that's okay, it's all text anyway so no biggie.
This push will attempt to format the data I've gained into a rudimentary fractal engine. It'll probably be in Notes format and I'll work sans checklist for the time being.
Each subarea has a set of terrain tags that define it, and therefore each area room contains all of those tags as parameters. When the terrain tags reach a certain threshold, the subarea will appear at distance:far. Terrain tags should overlap. They should also be procedurally generated, however they should pull from some list that defines the area so the room descriptions make more sense.
Subareas are parameters with a distance which is far,near,at. Moving towards a subarea will obviously up the subarea parameter, but it will also up the value of its tags, which may cause other terrain to appear.
when a subarea is at "at" concentration, you have an entrance into the area -- entering it will set up the subarea as a new layer, and the same rules apply but the parent terrain won't shift.
there should be predefined "exits" within each subarea that lead back to the parent area. These keep the subarea parameter at "at" but vary other parameters very randomly. The amount of exits probably varies according to the room space, unless those are roughly constant -- in any case it's based on "depth", which is the amount of time you've spent in the subarea, regardless of where you are. To make things make more sense, the text should read something like "You notice a passageway" or whatever, rather than implying it's always been there. For each chunk of depth (say, 10) after some margin (say, 2 levels of depth), assign 2 exits to the numbers within it.
wildlife and flora areas will be additional layers into this engine -- they work similarly but they should work alongside it. Same deal with towns and caves. Biomes also have exits to other biomes via "transitional zones" -- these can occur in any biome, in whatever way makes sense. I guess chatgpt can figure out how to make sense from it when it creates room descriptions. Whatever the case, transitional zones are also additional layers rather than part of this main engine.