Page 11 of 12

Posted: Wed Oct 16, 2013 22:28
by paramat
I have some suggestions for a direction with this ...
I suggest this be a mod instead of a fork or a minetest 'game', and generates a realm placed towards y = 30000. This will make your project more popular as people can add the moon realm to their existing worlds, travel between realms and transfer materials etc.
Dev RealBadAngel is working on a skydome thingy that allows a custom sky, but this would (i assume) appear to all players in multiplayer whether they are on the moon or not. In singleplayer that would work, until then you can always set time to night and halt time while you are on the moon (this wil be my 'spacetime' mod):

Code: Select all

-- spacetime 0.1.0 by paramat
-- for latest stable minetest and back to 0.4.3
-- depends default
-- license WTFPL

spacetime = {}

-- On joinplayer

minetest.register_on_joinplayer(function(player)
    minetest.set_timeofday(0)
    minetest.setting_set("time_speed", 0)
end)

Posted: Wed Oct 16, 2013 22:39
by paramat
Minetest 0.4.8 stable will have the Lua Voxel Manipulator which will enable fast realm generation instead of the 1 minute per chunk server lag my realm mods cause :) Once i get my hands on the LVM i will convert moonrealm mod then you can edit the textures, add meteor / meseor strikes etc.

Posted: Thu Oct 17, 2013 00:51
by paramat
Also coming in 0.4.8 is drowning in any selected node, good for vacuum nodes on the moon.
0.4.7 has 'per player physics', so with my multigrav mod you can have low moonlike gravity for players in the moonrealm viewtopic.php?id=7224

Posted: Fri Dec 13, 2013 23:03
by Zsoltisawesome
Hey all! We now have an official Github Repo! *flutteryay*

It is located at http://www.github.com/realtinymonster/moontest

We are not allowed to use any of the original textures or sounds, except for the character files, so we need texturers!

Posted: Fri Dec 13, 2013 23:07
by Zsoltisawesome
EDIT: nothing here

Posted: Thu Jan 30, 2014 05:44
by Inocudom
Paramat created a mapgen that might benefit you:
viewtopic.php?id=6329

Posted: Fri Mar 07, 2014 18:26
by Zsoltisawesome
Hi All, Just wanted to say, I will get back to working on this once I get my shiny new computer.

Other than that, how many of you are still willing to help me?



EDIT: Bump x9001

Posted: Sat Mar 08, 2014 00:04
by paramat
You are of course welcome to do WTF you want with my moonrealm mod, it has the gravity, spacesuit and drowning in vacuum stuff, life support air spread is fixed too. RBA made an excellent video with custom skybox, see the thread.

Posted: Mon May 05, 2014 16:46
by Zsoltisawesome
Ding Dong! Github updated! Check out the new IRC channel #moontest!

Posted: Mon May 05, 2014 21:53
by twoelk
not really sure what this is:

could be a mod because it is in "Modding General",
States it is a "Game" in the thread titel
but includes a full engine in the downloads on the first posts which would make it a fork.

obviously I shouldn't throw the download into the minetest/game folder nore into the minetest/mods folder but would a newbie recognise that? Or am I missing something?

Re:

Posted: Mon May 05, 2014 21:59
by Amaz
twoelk wrote:not really sure what this is:

could be a mod because it is in "Modding General",
States it is a "Game" in the thread titel
but includes a full engine in the downloads on the first posts which would make it a fork.

obviously I shouldn't throw the download into the minetest/game folder nore into the minetest/mods folder but would a newbie recognise that? Or am I missing something?
The topic was made before normal users had permission to post in the Games section... It is a game though. You need to get the download from github. It was originally going to be a fork, but it changed into a game.

Re: Re:

Posted: Mon May 05, 2014 22:33
by twoelk
Amaz wrote:...
The topic was made before normal users had permission to post in the Games section... It is a game though. You need to get the download from github. It was originally going to be a fork, but it changed into a game.
I gathered that. I was rather hoping this could be fixed (as in editing first post and requesting a move to correct topic)

I have allready listed this "game" in my list of games in my wikisandbox.

(sorry for not correctly adding the [sarcasm] tags to previous post)

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Tue May 06, 2014 14:03
by Zsoltisawesome
Current issues: Spacesuits don't work, vacuum doesn't spread, caves spawn with air, not vacuum, vacuum only goes up to the normal water level...
I hate bugs...

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Tue May 06, 2014 19:33
by HeroOfTheWinds
Zsoltisawesome wrote:Current issues: Spacesuits don't work, vacuum doesn't spread, caves spawn with air, not vacuum, vacuum only goes up to the normal water level...
I hate bugs...
I might look at the actual source code later to try helping solve what's wrong, but here's a couple ideas on how to fix these things:
Caves spawning with air: Using the voxelmanip during register_on_generated() (or whatever function the current code for it is in), translate this outline into code following the conventions of the rest of the code:
--if node's name is "air" then
--set voxel data for that position to the contentID of vacuum
--end

Vacuum only going up to water level: In the minetest.config file bundled with your game, change the value of the normal water level to something like 33000.

Of course, the problems could be completely different... are you using the most recent version of paramat's moon mod?

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Tue May 06, 2014 22:21
by paramat
Good to see you're now using mgv7, i look forward to screenshots (BTW the screenshots in your first post are out of date ;) ).

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Wed May 14, 2014 23:12
by Zsoltisawesome
Paramat, I am well aware, I just haven't been taking many screenshots! :S

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Thu May 15, 2014 03:31
by HeroOfTheWinds
Lookin' for screenshots? I didn't grab many, but these should help hold you over until someone with a better eye for good screenies grabs a few:
Spoiler
Image

Image

Image

Image

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Fri May 23, 2014 01:14
by HeroOfTheWinds
I noticed that this hasn't been really updated lately, so I'll give a short rundown of recent additions and changes...
Zsoltisawesome wrote:Current issues: Spacesuits don't work, vacuum doesn't spread, caves spawn with air, not vacuum, vacuum only goes up to the normal water level...
I hate bugs...
All of these are now fixed! I am the vacuum master!
Lua Voxel Manipulator reigns supreme now.

Ores have been largely changed, only Mese and iron return from regular Minetest right now. In place of coal, we now have phosphorus. The new titanium has been added as a highly durable metal, and now there is a new ore called Lunarium that is better than even diamond. (Think of it as moon mese) Silicon can also be found, and it drops the same silicon used in Mesecons. Tools can be crafted from titanium and lunarium.

Light Crystals can now be crafted into light sticks, which have a recipe modeled after torches and give off light just tad bit dimmer than regular torches. Speaking of regular torches, they now go out and become unlit if they are placed in a vacuum. Place them in air from an airgen, though, and it's all good. To relight a torch that's gone out, rightclick it with a stick while in air.

Airgen was bugged, it would spread air out even in total vacuum. Also, if a sealed room became unsealed, the air wouldn't leave. Needless to say, fixed. Several similar errors occurred with liquids, those were also fixed.

Moon trees have been added to provide a source of wood. They are basically monochrome versions of regular trees, and spawn very few and far apart.

Zeg9's UFOs have been added, modified to travel faster and run on lunarium lumps instead of obsidian shards.

New node, half-functional, half-decorative: Air Shield. Can be passed through like trapstone from moreblocks, and has a snazzy animated texture. Use it for doors on buildings with air inside.

Stay tuned for more!

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Fri May 23, 2014 01:15
by paramat
Thanks for the screenshots, looks good, the red lakes are funny, is that 'hl' = hydroponic liquid? Best to define a new liquid for lakes. Also, if you want to be realistic, lakes usually appear on large moons with an atmosphere, like Saturn's Titan.
The first screenshot made me realise that 4 of the skybox textures need a horizon exactly halfway up the image, with 'distant moon landscape grey' below that. I would recommend using the stars-only textures because the spherical planets look wrong here (but look cool also).
I will be working on my own moon skybox textures that are a reasonable match to the default Minetest starry sky, once these are done you will be welcome to use them here.
I won't be getting deeply involved in moontest but i can help out with the code and bugfixes.

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Sun May 25, 2014 00:00
by paramat
HeroOfTheWinds, thoughts on your problem.
The actual emerged volume is usually larger than the volume requested, and has edges always aligned along mapblock (16^3n) borders, i think the screenshot shows both volumes, the larger volume isn't a 'chunk' (80^3n).
In this case looks like the player is spawning in an ungenerated area, data was read from the world halfway through mapgen, so it read in a half generated moon, mostly "air", but you only placed nodes in the requested volume, perhaps a hacky fix would be to add nodes throughout the larger emerged volume? Ideally perhaps the module could be created within the mapgen's on-generated function somehow ...

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Sun May 25, 2014 03:37
by HeroOfTheWinds
I originally wanted to use the on_generated function, and the code was commenced in that format. However, I couldn't get any answers on how to predict where exactly the player would spawn, so I had to switch to a point after generation... which led to this. I still am researching a way to predict the player spawn point during generation, but not getting any clear answers... I have considered just forcing the player to spawn at 0,0,0, but then it might be under a mountain, which could end up being weird.
The other alternative would be to stick the module generation where I currently have it, but stick it in a minetest.after() call, to give Minetest time to generate the map.

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Sun May 25, 2014 07:05
by paramat
Perhaps instead of predicting where the player will spawn, choose and set the player's position, as in the spawnplayer functions i use in watershed, fracture and noisegrid. Spawning players inside landing modules is an excellent idea, something i would like to do myself.
For my moonrealm mod, it may be possible for the spawnplayer function to search for a suitable flat landing area by internally pre-generating terrain heightmaps, set the player's position there and then *somehow* create the module around the player.

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Sun May 25, 2014 08:19
by paramat
Just got this working as an experimental spawnplayer function in fracture mod, it creates a glass spawn cube around the player at newplayer and respawn, no bugs. The mapgen overwrites some of the glass nodes because mapgen happens after the glass cube is spawned.
To do the same as this in moontest it may be necessary to pre-generate mgv7 heightmaps in lua to find a suitable spawnpoint at the surface, problem is mgv7 is about to get rewritten with a complex new mapgen i could not recreate in lua, although i could recreate the current mgv7.

Code: Select all

	function spawnplayer(player)
		local DENOFF = -0.4
		local TSTONE = 0.02
		local PSCA = 4 -- Player scatter from world centre in chunks (80 nodes).
		local xsp
		local ysp
		local zsp
		local np_terrain = {
			offset = 0,
			scale = 1,
			spread = {x=384, y=128, z=384},
			seed = 593,
			octaves = 5,
			persist = 0.67
		}
		local np_terralt = {
			offset = 0,
			scale = 1,
			spread = {x=237, y=79, z=237},
			seed = 593,
			octaves = 5,
			persist = 0.67
		}
		for chunk = 1, 64 do
			print ("[fracture] searching for spawn "..chunk)
			local x0 = 80 * math.random(-PSCA, PSCA) - 32
			local z0 = 80 * math.random(-PSCA, PSCA) - 32
			local y0 = 80 * math.random(-PSCA, PSCA) - 32
			local x1 = x0 + 79
			local z1 = z0 + 79
			local y1 = y0 + 79
	
			local sidelen = 80
			local chulens = {x=sidelen, y=sidelen, z=sidelen}
			local minposxyz = {x=x0, y=y0, z=z0}

			local nvals_terrain = minetest.get_perlin_map(np_terrain, chulens):get3dMap_flat(minposxyz)
			local nvals_terralt = minetest.get_perlin_map(np_terralt, chulens):get3dMap_flat(minposxyz)
	
			local nixyz = 1
			local stable = {}
			for z = z0, z1 do
				for y = y0, y1 do
					for x = x0, x1 do
						local si = x - x0 + 1
						local n_terrain = nvals_terrain[nixyz]
						local n_terralt = nvals_terralt[nixyz]
						local density = (n_terrain + n_terralt) * 0.5 + DENOFF
						if density >= TSTONE then
							stable[si] = true
						elseif stable[si] and density < 0 then
							ysp = y + 1
							xsp = x
							zsp = z
							break
						end
						nixyz = nixyz + 1
					end
					if ysp then
						break
					end
				end
				if ysp then
					break
				end
			end
			if ysp then
				break
			end
		end
		print ("[fracture] spawn player ("..xsp.." "..ysp.." "..zsp..")")
		player:setpos({x=xsp, y=ysp, z=zsp})
		local vm = minetest.get_voxel_manip()
		local pos1 = {x=xsp-2, y=ysp-2, z=zsp-2}
		local pos2 = {x=xsp+2, y=ysp+2, z=zsp+2}
		local emin, emax = vm:read_from_map(pos1, pos2)
		local area = VoxelArea:new({MinEdge=emin, MaxEdge=emax})
		local data = vm:get_data()
		local c_glass = minetest.get_content_id("default:glass")
		for i = -2, 2 do
		for j = -2, 2 do
		for k = -2, 2 do
			if i ^ 2 + j ^ 2 + k ^ 2 >= 4 then
				local vi = area:index(xsp + i, ysp + j, zsp + k)
				data[vi] = c_glass
			end
		end
		end
		end
		vm:set_data(data)
		vm:write_to_map()
		vm:update_map()
	end

	minetest.register_on_newplayer(function(player)
		spawnplayer(player)
	end)

	minetest.register_on_respawnplayer(function(player)
		spawnplayer(player)
		return true
	end)

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Wed May 28, 2014 03:57
by HeroOfTheWinds
That's some pretty neat code, paramat.

I ended up finding a different solution, using static_spawnpoint in minetest.config instead.

And so, moontest now has the game start with players inside a shared Apollo Lunar Module! 639 lines of code later...
Interesting note, trying to place mesecons wires and other mesecons objects with the Lua Voxel Manipulator is something I would not like to try again... you need to get the content id for each individual type of wire bend, e.g. mesecons:wire_10100000_on. So yeah.... doable, but painstaking.

Re: [GAME] Moontest! (Back from the Dead!) [GAME]

Posted: Wed May 28, 2014 21:45
by paramat
My spawn egg in moonrealm was being overwritten by the vacuum nodes, so i edited the mapgen to only replace "air" or "ignore", any spawn vehicle created in 'register on newplayer' is now left untouched.

This is a good discovery ...

Code: Select all

[noisegrid] chunk minp (-32 -32 -32)
[noisegrid] emin (-48 -48 -48)
[noisegrid] emax (63 63 63)
For the 'on generated' version of voxelmanip, the actual emerged volume extends 16 nodes (one engine mapblock) beyond all sides, this is why my mapgen trees rarely get chopped despite often extending above the chunk being generated.