simple-shooter-game/mods/game/maps
2026-02-19 20:19:37 -08:00
..
maps Remove snow map for now 2026-02-19 18:13:05 -08:00
init.lua Revert "Fix /start..." 2026-02-19 12:06:52 -08:00
mod.conf Massive update (#6) 2025-12-10 23:17:42 -04:00
README.md Update map making README 2026-02-19 20:19:37 -08:00

How to create a map:

WARNING: This tutorial is NOT simple, you need more than one brain cell to follow it.

Requirements:

Minetest/Luanti 5.0.0 or later

(you need at least 5.0.0 to make the map, but you need a more recent version to actually test it)

Minetest Game

WorldEdit

Simple Shooter Game

Step 1: Build your map. It must be perfectly square or rectangular and not contain any non-MTG nodes or rails.

Step 2: Surround the playable area in a box made of glass, WorldEdit helps with this.

Step 3: Create a barrier 4 blocks below the top of the map out of obsidian glass, leaving a 3-block gap of air between the barrier and roof.

Step 4: Select opposite corners of the map with WorldEdit and run //mtschemcreate map.

Step 5: Create a folder with the titile of your map in all lowercase with no spaces in simple-shooter-game/mods/game/maps/maps/.

Step 6: Copy the file (Minetest/Luanti install path)/worlds/(name of the world in which you created your map)/schems/map.mts to simple-shooter-game/mods/game/maps/maps/(your map's folder)/.

Step 7: Create a file called map.lua in simple-shooter-game/mods/game/maps/maps/(your map's folder)/.

Step 8: Open the map.lua file in a text editor and put the following content in it:

local map_data = {
	name = "(Your map name here)",
	size = vector.new(Your map size)
	
	barrier_level = (Distance from the bottom of the map to the barrier),
	
	spawn = vector.new(Your spawn coordinates relative to map position, can be set to nil)
	
	start_time = (Amount of time in seconds before the barrier is removed),

    on_start 		  = function(),
	on_end 	 		  = function(),
	on_barrier_remove = function(),

	classes = {
		class_1 = {
			name = "(Name of class #1 here)", 
			initial_items = {"(Initial item #1 for class #1)", "(Initial item #2 for class #1...)"}
		},

		class_2 = {
			name = "(Name of class #2 here)",
			initial_items = {"(Initial item #1 for class #2)", "(Initial item #2 for class #2...)"}
		},

		class_3 = {
			name = "(Name of class #3 here)",
			initial_items = {"(Initial item #1 for class #3)", "(Initial item #2 for class #3...)"}
		}
	}
}

Step 9: Open Minetest/Luanti and create a new world with Simple Shooter Game.

Step 10: Play the world and run /start (your map name).

Step 11: Verify the map loads and works.

And that's it!