Rename lava to magma. Improve biome names. Add a deep underground biome and move magma to that. Improve and add to README.txt

This commit is contained in:
paramat 2020-02-20 02:01:24 +00:00
parent 641f258215
commit ea15138827
3 changed files with 83 additions and 35 deletions

View File

@ -1,5 +1,6 @@
minipeli 0.2.2 by paramat. minipeli 0.2.3 by paramat.
A game for Minetest Engine 5.1.0 and later. A game for Minetest Engine 5.1.0 and later.
See each mod for mod-specific credits and licenses.
Authors of media Authors of media
@ -13,23 +14,24 @@ About Minipeli
-------------- --------------
'Peli' is the Finnish word for 'game'. 'Peli' is the Finnish word for 'game'.
This game is intended to be an example of minimal requirements for a Minetest Engine game, to help others create their own games. This game is intended to be an example of minimal requirements for a Minetest Engine game, while still supporting all non-Mapgen V6 mapgens and providing a minimal number of biomes with appropriate vertical variation.
This also suggests a good mod structure, as opposed to the problematic structure of the game called 'Minetest Game', which has most content in one large mod called 'default'. It is better to split the content into many smaller mods. The intention is to help others and myself create completely new games.
This also suggests a good mod structure, as opposed to the problematic structure of the game called 'Minetest Game', which has most content in one large mod called 'default'. It is better to split content into many smaller mods.
Because creating animated meshes is difficult, the player model from Minetest Game is used, it seems suitable for many games. Because creating animated meshes is difficult, the player model from Minetest Game is used, it seems suitable for many games.
The player API of Minetest Game is very useful and quite fundamental, so the 'player_api' mod from Minetest Game is included, but with new player textures. The player API of Minetest Game is very useful and quite fundamental, so the 'player_api' mod from Minetest Game is included, but with new player textures.
The 'light' mod is only provided to illuminate caves and dungeons during testing. The 'light' mod is only provided to illuminate caves and dungeons during testing.
if the 'creative' mod from Minetest Game is used with Minipeli, the dependencies in the 'creative' mod mod.conf file must be edited to: 'depends = hand, sfinv'.
Why Mapgen V6 is not supported
Why Mapgen v6 is not supported
------------------------------ ------------------------------
In the 'game.conf' file, mapgen v6 is set as a disallowed mapgen. In the 'game.conf' file, mapgen v6 is set as a disallowed mapgen.
Mapgen v6 is very different to all the other mapgens, it has hardcoded biomes and does not use the Biome API. Due to this it makes game code more complex and more difficult to maintain, the mapgen also misses many features. Mapgen V6 is very different to all the other mapgens, it has hardcoded biomes and does not use the Biome API. Due to this it makes game code far more complex and more difficult to maintain, the mapgen also misses many features.
I recommended that games do not support Mapgen v6 for these reasons. I recommended that games do not support Mapgen V6 for these reasons.
This document is written assuming Mapgen V6 is not supported.
The mods and their functions The mods and their functions
@ -59,15 +61,53 @@ The 'player_damage' sound.
'mapgen' 'mapgen'
Contains the mapgen related stuff: Contains the mapgen related stuff:
Terrain, liquid and dungeon nodes, their textures and sounds. Terrain, water, cave liquid and dungeon nodes, their textures and sounds.
Mapgen aliases to tell the C++ mapgens which nodes to use. Mapgen aliases to tell the engine mapgens which nodes to use.
Biome registrations. Biome registrations for one vertical stack of biomes.
'light' 'light'
Only included to provide illumination for testing. Only included to provide illumination for testing.
Gives 64 lights to a new player. Gives 64 lights to a new player.
Mapgen aliases
--------------
Since MT 5.0.0 dungeon nodes and cave liquids are defined in biome definitions, so now only 3 mapgen aliases need to be registered: stone, water, river water.
Biomes
------
This game registers a single 'biome stack': A set of vertically stacked biomes all with the same heat and humidity points.
A developed game would usually add extra biome stacks at differing heat and humidity points.
The 'grassland' biome stack in this game consists of:
"grassland":
Dry land of dirt with a grass surface layer.
Extends from beach top up to world top.
Any flooded caves contain water.
"grassland_sea":
With the sand of beaches, lakebeds and seabeds.
Extends from beach top down to y = -127 to contain most sea depths.
Sand may occasionally appear in caves due to how mapgen works.
Any flooded caves contain water.
"grassland_under":
Meaning 'underground'.
Stone only, below most sea depths.
Extends from y = -128 down to y = -1023.
Any flooded caves contain water.
"grassland_deep":
Meaning 'deep underground'.
Stone only.
Extends from y = -1024 down to world base.
The depth where magma appears, any flooded caves can contain water or magma.
How this game was created How this game was created
------------------------- -------------------------
@ -81,10 +121,7 @@ Delete unnecessary mod.conf file.
Minetest Game mods used heavily modified: Minetest Game mods used heavily modified:
'default' mod: 'default' mod:
Becomes 'gui', 'hand' and 'media' mods. The minipeli 'gui', 'hand' and 'media' mods are derived from it.
'default' mod is split into 3 mods:
'gui' mod contains: 'gui' mod contains:
Textures: Textures:

View File

@ -230,18 +230,18 @@ minetest.register_node("mapgen:river_water_flowing", {
}) })
-- Lava -- Magma
minetest.register_node("mapgen:lava_source", { minetest.register_node("mapgen:magma_source", {
description = "Lava Source", description = "Magma Source",
drawtype = "liquid", drawtype = "liquid",
tiles = { tiles = {
{ {
name = "mapgen_lava.png", name = "mapgen_magma.png",
backface_culling = false, backface_culling = false,
}, },
{ {
name = "mapgen_lava.png", name = "mapgen_magma.png",
backface_culling = true, backface_culling = true,
}, },
}, },
@ -255,25 +255,25 @@ minetest.register_node("mapgen:lava_source", {
drop = "", drop = "",
drowning = 1, drowning = 1,
liquidtype = "source", liquidtype = "source",
liquid_alternative_flowing = "mapgen:lava_flowing", liquid_alternative_flowing = "mapgen:magma_flowing",
liquid_alternative_source = "mapgen:lava_source", liquid_alternative_source = "mapgen:magma_source",
liquid_viscosity = 7, liquid_viscosity = 7,
liquid_renewable = false, liquid_renewable = false,
damage_per_second = 4 * 2, damage_per_second = 4 * 2,
post_effect_color = {a = 191, r = 255, g = 64, b = 0}, post_effect_color = {a = 191, r = 255, g = 64, b = 0},
}) })
minetest.register_node("mapgen:lava_flowing", { minetest.register_node("mapgen:magma_flowing", {
description = "Flowing Lava", description = "Flowing Magma",
drawtype = "flowingliquid", drawtype = "flowingliquid",
tiles = {"mapgen_lava.png"}, tiles = {"mapgen_magma.png"},
special_tiles = { special_tiles = {
{ {
name = "mapgen_lava.png", name = "mapgen_magma.png",
backface_culling = false, backface_culling = false,
}, },
{ {
name = "mapgen_lava.png", name = "mapgen_magma.png",
backface_culling = false, backface_culling = false,
}, },
}, },
@ -288,8 +288,8 @@ minetest.register_node("mapgen:lava_flowing", {
drop = "", drop = "",
drowning = 1, drowning = 1,
liquidtype = "flowing", liquidtype = "flowing",
liquid_alternative_flowing = "mapgen:lava_flowing", liquid_alternative_flowing = "mapgen:magma_flowing",
liquid_alternative_source = "mapgen:lava_source", liquid_alternative_source = "mapgen:magma_source",
liquid_viscosity = 7, liquid_viscosity = 7,
liquid_renewable = false, liquid_renewable = false,
damage_per_second = 4 * 2, damage_per_second = 4 * 2,
@ -307,7 +307,7 @@ minetest.register_alias("mapgen_river_water_source", "mapgen:river_water_source"
-- Biomes -- Biomes
-- Grassland -- Grassland biome stack
minetest.register_biome({ minetest.register_biome({
name = "grassland", name = "grassland",
@ -327,29 +327,40 @@ minetest.register_biome({
}) })
minetest.register_biome({ minetest.register_biome({
name = "grassland_shore", name = "grassland_sea",
node_top = "mapgen:sand", node_top = "mapgen:sand",
depth_top = 1, depth_top = 1,
node_filler = "mapgen:sand", node_filler = "mapgen:sand",
depth_filler = 2, depth_filler = 2,
node_riverbed = "mapgen:sand", node_riverbed = "mapgen:sand",
depth_riverbed = 2,
node_cave_liquid = "mapgen:water_source", node_cave_liquid = "mapgen:water_source",
node_dungeon = "mapgen:stone_block", node_dungeon = "mapgen:stone_block",
node_dungeon_stair = "mapgen:stone_block_stair", node_dungeon_stair = "mapgen:stone_block_stair",
depth_riverbed = 2,
vertical_blend = 1, vertical_blend = 1,
y_max = 3, y_max = 3,
y_min = -255, y_min = -127,
heat_point = 50, heat_point = 50,
humidity_point = 50, humidity_point = 50,
}) })
minetest.register_biome({ minetest.register_biome({
name = "grassland_under", name = "grassland_under",
node_cave_liquid = {"mapgen:water_source", "mapgen:lava_source"}, node_cave_liquid = "mapgen:water_source",
node_dungeon = "mapgen:stone_block", node_dungeon = "mapgen:stone_block",
node_dungeon_stair = "mapgen:stone_block_stair", node_dungeon_stair = "mapgen:stone_block_stair",
y_max = -256, y_max = -128,
y_min = -1023,
heat_point = 50,
humidity_point = 50,
})
minetest.register_biome({
name = "grassland_deep",
node_cave_liquid = {"mapgen:water_source", "mapgen:magma_source"},
node_dungeon = "mapgen:stone_block",
node_dungeon_stair = "mapgen:stone_block_stair",
y_max = -1024,
y_min = -31000, y_min = -31000,
heat_point = 50, heat_point = 50,
humidity_point = 50, humidity_point = 50,

View File

Before

Width:  |  Height:  |  Size: 99 B

After

Width:  |  Height:  |  Size: 99 B