Minetest-Blockiverse (fork of MT)
Posted: Thu Oct 30, 2014 10:05
Github: https://github.com/gau-veldt/Minetest-Blockiverse
(future) Gamescript (TBA/future/TODO): https://github.com/gau-veldt/Blockiverse_game
Goal of fork: to add space travel to the existing 0.4.10-dev minetest engine (0.4.10-dev is where I copied the fork build from).
something like:
core.launch(ship_entity)
to go to blockiverse game/rendermode
something like:
blockiverse.reenter(planet_id)
to land on a planet (ie: core.start with that planet set as the world after player/ship appropriately positioned at touchdown point)
on quitting game (and restarting) player should still be in the same point in space if quit while in space, or his/her position in a landed-on world if on a planet. Thus it won't be possible to select a world in the same manner is unforked minetest in the main menu. You'd be selecting a universe instead or a Minetest-Blockiverse server (remote universe) to connect to.
Of course the main menu needs to be adjusted to display universes rather than planetary worlds and it is up to the game what world to start a player in.
some things need some planning such as how to have starsystem "biomes" in space affecting the distribution/size/resources/etc of planets/chunkoids generated within the starsystem. the starsystem "biome" basically categories differing sizes of the system's originating star (or absence of star in its place some other gravitational body such as a neutron star, quasar, pulsar, blackhole, etc) and will determine the volume/size of anything generated, nebulae, etc.
In this fork I also anticipate the need for server clustering support and as such will be migrating the database code to use a DBMS database backend (MariaDB, Postgre SQL, etc). Eventually I'll need to migrate player data to DBMS mediated storage as well.
EDIT: The rendermode for space would be a database table sparsely storing the locations of celestial objects, planet spheres textured with the world's 2D top-view landscape, ships, and smaller minable chunk-based things called chunkoids that may have differing radius chunkoid to chunkoid (8*r*r*r chunks per chunkoid where r is the chunkoid's radius). This second game/render mode in the engine and will be the meat of the fork. I also intend to have it expressed as fully as possible with a suitable api making it accessible to mods like the core game/render mode is.
(future) Gamescript (TBA/future/TODO): https://github.com/gau-veldt/Blockiverse_game
Goal of fork: to add space travel to the existing 0.4.10-dev minetest engine (0.4.10-dev is where I copied the fork build from).
something like:
core.launch(ship_entity)
to go to blockiverse game/rendermode
something like:
blockiverse.reenter(planet_id)
to land on a planet (ie: core.start with that planet set as the world after player/ship appropriately positioned at touchdown point)
on quitting game (and restarting) player should still be in the same point in space if quit while in space, or his/her position in a landed-on world if on a planet. Thus it won't be possible to select a world in the same manner is unforked minetest in the main menu. You'd be selecting a universe instead or a Minetest-Blockiverse server (remote universe) to connect to.
Of course the main menu needs to be adjusted to display universes rather than planetary worlds and it is up to the game what world to start a player in.
some things need some planning such as how to have starsystem "biomes" in space affecting the distribution/size/resources/etc of planets/chunkoids generated within the starsystem. the starsystem "biome" basically categories differing sizes of the system's originating star (or absence of star in its place some other gravitational body such as a neutron star, quasar, pulsar, blackhole, etc) and will determine the volume/size of anything generated, nebulae, etc.
In this fork I also anticipate the need for server clustering support and as such will be migrating the database code to use a DBMS database backend (MariaDB, Postgre SQL, etc). Eventually I'll need to migrate player data to DBMS mediated storage as well.
EDIT: The rendermode for space would be a database table sparsely storing the locations of celestial objects, planet spheres textured with the world's 2D top-view landscape, ships, and smaller minable chunk-based things called chunkoids that may have differing radius chunkoid to chunkoid (8*r*r*r chunks per chunkoid where r is the chunkoid's radius). This second game/render mode in the engine and will be the meat of the fork. I also intend to have it expressed as fully as possible with a suitable api making it accessible to mods like the core game/render mode is.