This branch makes a couple of fundamental changes to how the world works in the Agony Engine.
The world now has a fixed size. Don't worry, it's still very large. Just shy of 105 million possible rooms. That's a smaller number than the number of tiles roguelike games tend to have, but keep in mind that a MUD room is much "larger" than a roguelike tile.
There are three layers of simplex noise that work together to determine which biome a room should be, modeling two layers of elevation plus rainfall.
The layout of biomes is determined by a random "seed" which is configured in application.yml. Changing the seed number will give you a different world. I will probably also expose several of the other parameters via configuration in the future to give some actual control over it.
Each room within the world can have its biome computed independently, and the result will always be the same so the value doesn't need to be stored.
The biome by itself does not contribute to the room description and will ultimately be more or less invisible to the players. In the current code it does nothing but change the room name.
Going forward biomes will be used to determine which plants and animals like to live in that room because it can be used to derive a lot of information about the climate in that area: general temperature range, availability of water, average elevation, etc. Room descriptions, on the other hand, are specific and detailed rather than general. The biome will determine which things want to be in the room, but the description will be built from the things that are actually present in the room.
This branch makes a couple of fundamental changes to how the world works in the Agony Engine.
application.yml
. Changing the seed number will give you a different world. I will probably also expose several of the other parameters via configuration in the future to give some actual control over it.Each room within the world can have its biome computed independently, and the result will always be the same so the value doesn't need to be stored.
The biome by itself does not contribute to the room description and will ultimately be more or less invisible to the players. In the current code it does nothing but change the room name.
Going forward biomes will be used to determine which plants and animals like to live in that room because it can be used to derive a lot of information about the climate in that area: general temperature range, availability of water, average elevation, etc. Room descriptions, on the other hand, are specific and detailed rather than general. The biome will determine which things want to be in the room, but the description will be built from the things that are actually present in the room.