# Planet Miner To Do List

## Priority List
1. Render stuff
    - [x] Render a cube
    - [x] Render icosahedron
    - [ ] Vertices to triangle mesh
    - [ ] Diffuse shader
    - [ ] Subdivide icosahedron
2. Procedural worlds
    - [ ] Morph vertices of the subdivided icosphere
    - [ ] Terrain generation
    - [ ] Planet scaling
    - [ ] 
3. Block game
    1. World editing

## Idea Categories
1. Game Engine?
    - Custom in C
        - Started work on one, kinda liking it so far
    - Don't really like pre-built game engines
        - If I use one it'll likely be Godot

2. Voxelization
    - Zoning
        - Each planet has its own coordinate system (non-voxelized)
        - Material is distributed in amorphous blobs containing a certain percent resource
        - Before world editing can begin, a work zone must be established to create a local voxelized coordinate system
    - 

3. Progression
    - The cores of planets exist as large non-voxelized structures
        - Requires high level tools to mine
        - Contain lots of resources
            - Nickel
            - Iron
    - Asteroids can be mined like planet cores
        - Less valuable resources
        - Mostly rock
        - Requires lower level tools
    - Game starts on an Earth-like planet
        - Make basic tool with sticks rope and stone fragments
            - Stone fragments from smashing stones on rock
        - Crash Landed ship, rebuild it as part of the tutorial
    - Build warp drive to unlock multiplayer
        - Warp to beacon or something
            - Invite only/whitelist beacons?
            - Public beacons


4. Documentation
- Error Codes!
- In-Game Wiki-System
    - Build wiki with some kind of knowledge tree


