This is just a document to outline what I want from the project, so it won't drastically change every month or so
## Data driven content
I want data driven content, ideally people will be able to share their worlds with other people and modded content will just Be Thereā¢, henceforth referred to as Content Packs
This, though, will come with a couple restrictions, for safety reasons:
- Content Packs cannot modify engine code, but can modify other Content Packs.
- Content Packs cannot access the file system.
- Content Packs cannot use `unsafe`, unmanaged memory, reflection, or native code
Items, blocks, fluids, and entities should ideally use an ECS or similar, allowing creators to modify the behavior of existing content.
## Lore and Game Feel
I want the game to feel mostly lonely, like it's you against the world
There could be stuff like settlements, but those should be rare.
There might also be abandoned structures, sort of like the jungle temple in Minecraft.
As you get lower down in the world, you should come across stronger enemies (but not too strong!), with the reward of more minerals.
The world is separated into multiple layers:
- The sky
- Think skyloft from Skyward Sword
- Flaoting islands you can explore
- The surface
- Basically the overworld from Minecraft
- The underground
- Caves and stuff
- The core
- Think undertale
- Giant caves
- The deep core
- Lava and ice clash
- Unstable ground
## Engine Tech
The game world should go from -1024 blocks to +1024 blocks, being 64 chunks tall.
Blocks and fluids should have separate "layers", allowing for better fluid-logging compared to Minecraft
Model animations should be able to be keyframed
Should run at at least 60 FPS on my old laptop
- Mobile Intel Whiskeylake i3 + integrated graphics
## Graphics and Art
One pixel should always be 1/16 of a meter (block)
Foliage should wave in the wind, along with stuff like wind chimes, and lanterns.
Foliage, such as leaves, should look "bushy" and not just a full block.
Clouds should look like they could be real in the context of the voxel world, not necessarily in real life. Some good inspiration is [Better Clouds](https://modrinth.com/mod/better-clouds)
Shadows should be calculated real-time, sort of like in most optifine shaders.
Colored lighting should be used, but we need to avoid it looking like a rave