mirror of
https://github.com/Noratrieb/game-wip-dontplay.git
synced 2026-01-16 20:35:02 +01:00
More around design documents, add save design doc
This commit is contained in:
parent
06a0593b72
commit
7c3bfe373a
3 changed files with 13 additions and 0 deletions
79
design/design.md
Normal file
79
design/design.md
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
# Premise
|
||||
|
||||
- Evil source at bottom of playable map
|
||||
- Evil is surging upwards
|
||||
- Player is the one tasked with going to the bottom and destroying evil source
|
||||
- Very long way to bottom
|
||||
- Going deeper = main source progression
|
||||
- Barriers to going deeper, gotta craft gear, etc. to be able to go deeper
|
||||
- Tower defense elements, have to craft and set up defensive structures
|
||||
|
||||
# Details
|
||||
|
||||
## Timing
|
||||
Timing is tick based.
|
||||
Every frame is considered a tick.
|
||||
The game is locked at 60 fps to simplify implementation.
|
||||
|
||||
## Scale
|
||||
Player character is slightly below 1.5 m height.
|
||||
1 meter = 2 blocks.
|
||||
1 block = 0.5 meters.
|
||||
Player character is about 3 blocks high. (slightly less so they fit comfortably)
|
||||
|
||||
## Map Size
|
||||
|
||||
World is roughly 100,000x100,000 blocks large.
|
||||
I've done some measurements and I believe it's large enough that it should convey
|
||||
the scale of digging very deep, which is what the game is about.
|
||||
Layer below 30 km is the mantle (after which the game is named).
|
||||
The evil source is at about 35 km.
|
||||
The final goal is the evil source, so player is expected to mine about 35 km deep to beat the game.
|
||||
1 meter = two tiles. 35 km = 70,000 tiles deep.
|
||||
There could be some post-endgame content from 35-40 kms deep.
|
||||
Very unbreakable bottom or lava lake or whatever is at 80,000 blocks (40 km) deep.
|
||||
|
||||
## Biomes
|
||||
Only a few surface biomes
|
||||
- At center is forest biome
|
||||
- On one side:
|
||||
- Jungle
|
||||
- Desert
|
||||
- On other side:
|
||||
- Longer stretch of forest biome than other side
|
||||
- Ice biome
|
||||
|
||||
All other biome variety should come from going deeper.
|
||||
Progressively more difficult variants of each biome as you go down.
|
||||
30 km is mantle level, at which point no ice or sand or such reaches.
|
||||
It's all mantle level specific biomes all the way horizontally.
|
||||
|
||||
## Number of stuff
|
||||
|
||||
- Up to 1000 tiles (1024*1024 tile sprite sheet)
|
||||
- At least 100 ore types
|
||||
- At least 50 stone types
|
||||
- Maybe background tiles and other stuff, like different break overlay animations
|
||||
|
||||
|
||||
# Multiplayer
|
||||
|
||||
Multiplayer adds a lot of complexity, so I'm going to develop the prototype of the game without
|
||||
any multiplayer support.
|
||||
But if people like the general idea, they can help create a multiplayer version eventually.
|
||||
|
||||
# Crafting
|
||||
|
||||
- You need a workstation to be able to craft anything.
|
||||
This incentivizes building bases and retreating to them, instead of the "nomad"
|
||||
lifetyle many games of this kind allow.
|
||||
|
||||
- Most stations don't have inventory items that can be pre-crafted and placed.
|
||||
Instead, they have to be constructed on the spot, taking construction time.
|
||||
This discourages building makeshift crafting areas in the middle of nowhere.
|
||||
|
||||
# Supported platforms
|
||||
- Windows
|
||||
- Linux
|
||||
|
||||
Other platforms can be supported if community helps support them.
|
||||
15
design/ideas.md
Normal file
15
design/ideas.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
Various random ideas that aren't (yet) part of the design
|
||||
|
||||
- Character is 1.5 blocks tall
|
||||
- Can crawl to fit inside 1 block tall gaps
|
||||
|
||||
|
||||
- Multiple tile layers.
|
||||
- Back layer
|
||||
- Wall layer
|
||||
- Ore/misc insert layer
|
||||
|
||||
- No world hopping.
|
||||
Characters are worlds are linked together, like in Minecraft.
|
||||
|
||||
- No respawn after quit&save. Player character continues where it left off.
|
||||
13
design/save.md
Normal file
13
design/save.md
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
Game has different worlds you can generate.
|
||||
Each world has its own folder.
|
||||
Each folder has:
|
||||
- Player file (player.dat)
|
||||
- Subfolder for regions (regions/)
|
||||
|
||||
Each region subfolder has:
|
||||
r.x.y.dat files for each chunk, where x and y are the region coordinates.
|
||||
|
||||
# Regions
|
||||
A region stores multiple chunks in a single file for more optimized storage.
|
||||
Current plan is to store 8 chunks in a region, in other words, 1024*1024 blocks.
|
||||
Around one million blocks, compressed with zstd compression.
|
||||
Loading…
Add table
Add a link
Reference in a new issue