[Game] Australopithecus [Tech Demo]

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

[Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

The long term goal of Australopithecus is to provide a vast, fun to explore and hard to survive in world. The player should be dumped into a wild world which makes surviving quite hard, leaving the camp and going into the wilderness should always be an adventure.

The main source of inspiration are such games like Minecraft, Dwarf Fortress, Don't Starve, Diggles and similar games.

Australopithecus is an extinct genus of hominids that lived 4 to 2 million years ago.

Currently there is only the mapgen, a landscape is generated without any decorations (mostly because of #2151). You can get some tools from the empty crafting grid.

The mapgen takes between 2 and 4 seconds to generate a block on my machine (Core2Duo and LuaJIT), so it might be considerable slower for you, be patient.

There is no real roadmap, I'm adding stuff as I go.
Spoiler
Australopithecus is hosted on three different platforms, so that you can use whatever you're familiar with.
Spoiler
For further information, please see the README file in the repository.
Spoiler
There is a server running the latest packages available, its name is "Innsmouth" and is reachable under the IP 84.114.214.250 with the default port of 30000.

Please understand that this server is running on a Cubieboard (a little bit more powerful than a Raspberry Pi) and that the mapgen is very demanding. Generating a new part of the map takes between 2 and 16 seconds. Additionally this is operating on my home line, which I know to be unstable from time to time. So don't expect too much.

The current player limit is 7, this limit was chosen arbitrarily.

Last but not least, there is only one rule for the server: Don't mindlessly destroy other peoples stuff, respect that they have put effort into something.
Spoiler
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Last edited by BobbyBonsaimind on Sat Sep 26, 2015 09:12, edited 8 times in total.

User avatar
Inocudom
Member
Posts: 3121
Joined: Sat Sep 29, 2012 01:14
IRC: Inocudom
In-game: Inocudom

Re: [Game] Australopithecus [Tech Demo]

by Inocudom » Post

I enjoy seeing bright minds such as yourself creating things for Minetest. Do keep up the good work.

Dragonop
Member
Posts: 1233
Joined: Tue Oct 23, 2012 12:59
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop
Location: Argentina

Re: [Game] Australopithecus [Tech Demo]

by Dragonop » Post

Looks awesome, hope to see updates!

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: [Game] Australopithecus [Tech Demo]

by paramat » Post

Mapgen looks beautiful.

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

Thank you all. :)

I just updated the package and the post. There are only two new features. The first is that the mapgen is now placing ramps where appropriate, for sand, snow, ice, stone and rocks. Which obviously changes the look of these biomes. The second is new voice mod, which makes the chat system behave more like a voice, with limited range and the farer you get away the harder it is to understand.

I also fixed a quite critical bug in spawn-usher, which would result in an endless loop. The spawn point is now randomized within a certain radius and there is is still a chance that you'll spawn in a cave, but it shouldn't be too common.

Don't expect an update on this within the next two or three weeks, as I will not be around for that time. Also I'll have to figure out what to work on next...

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: [Game] Australopithecus [Tech Demo]

by paramat » Post

I looked at the mapgen code but didn't understand it, looks like some clever programming methods are used. When you have time (no rush) i would be intersested in hearing a description of how it works.
The slopes look good.

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

No problem, that is fairly easily explained. At first you have to understand that I'm a Java coder, I can't live without my objects, interfaces, hard defined dependencies and well separated structures. ;)

The system behind it is the worldgen mod, which is so far not documented because I am not sure if I will change the API or not in the near future. The core idea is that you register "modules" at a central entity which does all the heavy lifting and management for you, so that modules contain as little logic as possible, and only what they are really doing. So this entity, in our case WorldGen, holds a list of modules which will be invoked one after another. Imagine it like a manufacturing line with different stations, every station does a certain job and all together create the product.

I have attached a simple game/mod that uses the worldgen system and is heavily commented, I hope that helps in clearing it up how the basics work. You can extract it into the game directory and create a new world with it (not much to look at, though).

As for how the system in Australopithecus works, there are multiple steps:
  1. Some setup is done in base.lua. Mostly this is about preparing values for later use.
  2. After that a heightmap is created in heightmap.lua. This is a pure 2D heightmap and is saved in the metadata (and cached).
  3. A second map for the temperature is created in temperaturemap.lua.
  4. A third map for the humidity is created in humiditymap.lua.
  5. bake.lua combines these three maps to create the landscape, and also carves the 3D transformations.
There is a lot of black magic going in bake.lua...a lot! But the basic principle is that the heightmap is used to determine the basic height of the terrain. Afterwards the temperature and humidity are applied, and appropriate biomes are picked for these locations. Now it gets complicated within bake.lua, for speed and better management the system operates most of the time on a "prototype" of a terrain.
  1. The terrain is filled with rock to the height that was calculated in the heightmap.
  2. With 3D noise portions of this newly filled terrain are cut away. This creates overhangs and deep cliffs.
  3. After that, caves are carved into it.
  4. Now comes a really tricky part, we know where the surface is because of the heightmap, but the 3D noise has cut parts of it away, so we need to detect the surface a new. Otherwise we would not be able to place grass as upper most layer, because there would be air where we would want to place it.
  5. The finalization step maps the created prototype into the MapManipulator, together with some voodoo for placing oceans and water.
  6. The last step places the ramps in the world.
Now that looks complicated, but once you realize that all modules are executed in order and that the "set_*" functions are where everything happens (everything else is fluff to make it easier manageable and readable) it's quite easy to look at.
Attachments
worldgenshowcase.zip
(354.94 KiB) Downloaded 202 times

User avatar
Evergreen
Member
Posts: 2135
Joined: Sun Jan 06, 2013 01:22
GitHub: 4Evergreen4
IRC: EvergreenTree
In-game: Evergreen
Location: A forest in the midwest
Contact:

Re: [Game] Australopithecus [Tech Demo]

by Evergreen » Post

Your website gives me a "403: Forbidden" error when I try to access the file.
Back from the dead!

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

Whoops, sorry, should be working now.

User avatar
Diamond knight
Member
Posts: 475
Joined: Sun Apr 19, 2015 19:50
GitHub: Diamondknight
In-game: Ferrumprinceps
Location: Chilling in Constantinople
Contact:

Re: [Game] Australopithecus [Tech Demo]

by Diamond knight » Post

the file type wont work for me

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

I've added additional file/package formats, so pick the one that works for you.

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

I've updated the packages and the post.

The biggest changes are that ramps are now placed also underwater, which yields visual glitches which is ticket #3074. And also more ramps are now placed (a lot more). Speaking of ramps, I've also fixed the oddball texture mapping, so they look a lot nicer now.

The second big thing is that you now receive a set of torches on start. They are currently looking a little bit like lightbulbs, but that's mostly because particle effects are still missing. They can be put out and light back up by punching them. So you can now explore those caves (not that there is much to see down there at the moment), more torches can be received with /get-torches.

Also there are now three new screenshots.

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Re: [Game] Australopithecus [Tech Demo]

by Nore » Post

I have to say it too: mapgen is beautiful. However, I am wondering: why are there no grass ramps?

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

Thank you.

Yeah, there are actually two reasons for it. First I like the grass/dirt side of the grass blocks, I like to see that there is dirt underneath the grass and I'm also using it to give a feeling of overgrowth (rainforest grass covers more than 2/3, taiga not fully 1/3 and so forth). Now if I'd use ramps for grass I can't see that grass/dirt anymore, because if I'd place it on the ramp it would look odd. The second reason is that it clashes with my idea of vegetation. I'm planning on adding a lot of vegetation, not as in "that's a neat forest" but in "damn I can't see shit because of all the grass". But placing vegetation on nodes does not work, because the vegetation would float in the air. So I either figure out how to place vegetation on ramps in a way that doesn't look odd, or they stay empty, which would mean that they are "corridors" in thick vegetation where nothing grows.

So, it's normal nodes for grass so far. The areas that have ramps will not receive thick, or any, vegetation, so it's "okay" there for me.

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Re: [Game] Australopithecus [Tech Demo]

by Nore » Post

Ok, I see what you want to do, I guess it will look less strange then :). Anyway, it looks very promising, I'd like to see next versions!

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

There will be next versions unless something very unforeseen happens. Though, I can't promise that it ever reaches a playable state. I've started to create this mapgen sometime last year, but it was only in the last months that it reached a state (both the terrain and the code) that I've become quite happy with it. So it really is a long term project I fear. But it's everything on GitHub and where it makes sense stuff will become an external and easily reusable mod.

Dragonop
Member
Posts: 1233
Joined: Tue Oct 23, 2012 12:59
GitHub: Dragonop
IRC: Dragonop
In-game: Dragonop
Location: Argentina

Re: [Game] Australopithecus [Tech Demo]

by Dragonop » Post

My actual PC is a potato, and I can't enjoy the game fully, is anybody thinking about making a server with this subgame?

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

If there really is interest to have a test server that always operates on the latest "stable" version, I might be able to provide one. Though, I'd need to get some hardware first (I always wanted an excuse to buy a Raspberry Pi anyway), so that may take some time.

Is there interest in this?

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Re: [Game] Australopithecus [Tech Demo]

by Nore » Post

BobbyBonsaimind wrote:Is there interest in this?
Of course there is :).

Sokomine
Member
Posts: 4287
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Game] Australopithecus [Tech Demo]

by Sokomine » Post

BobbyBonsaimind wrote: I'm planning on adding a lot of vegetation, not as in "that's a neat forest" but in "damn I can't see shit because of all the grass".
Ah! Sounds fine. The Eden subgame (also included in Dreambuilder) did something similar and creates a very beautiful landscape with a lot of plant life.
BobbyBonsaimind wrote: But placing vegetation on nodes does not work, because the vegetation would float in the air. So I either figure out how to place vegetation on ramps in a way that doesn't look odd, or they stay empty, which would mean that they are "corridors" in thick vegetation where nothing grows.
You could take the approach I took in moresnows and create extra nodes for the vegetation that adjust to the slopes below and actually start lower than the node suggests. It might even be enough to use special new textures and enlarge them with a scaling factor.
BobbyBonsaimind wrote: If there really is interest to have a test server that always operates on the latest "stable" version, I might be able to provide one. Though, I'd need to get some hardware first (I always wanted an excuse to buy a Raspberry Pi anyway), so that may take some time.
I know that feeling :-) Same here. I'm just afraid that a server running a game with complex vegetation and a lot happening at mapgen time - and thus inviting players to explore ever more areas instead of staying put in one area while using creative - might be a little hard on such a small device.
A list of my mods can be found here.

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

Sokomine wrote:You could take the approach I took in moresnows and create extra nodes for the vegetation that adjust to the slopes below and actually start lower than the node suggests. It might even be enough to use special new textures and enlarge them with a scaling factor.
I would have loved to avoid that, though. But it for sure is one possible solution to this.
Sokomine wrote: I know that feeling :-) Same here. I'm just afraid that a server running a game with complex vegetation and a lot happening at mapgen time - and thus inviting players to explore ever more areas instead of staying put in one area while using creative - might be a little hard on such a small device.
I thought the same, so I will get a Cubieboard and see how that turns out. It's similar to a Raspberry Pi, except that it has a 1GHz Dual-Core, 2GB of RAM and most importantly to me, a SATA interface. Which means that I can put the SSDs I have laying around to some good use.

I'm curious where the limits of that board (and my homeline) will be.

Sokomine
Member
Posts: 4287
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: [Game] Australopithecus [Tech Demo]

by Sokomine » Post

BobbyBonsaimind wrote: I'm curious where the limits of that board (and my homeline) will be.
Please share your experiences with us once you get it set up! Sounds very intresting. There are quite a few nice little arm boards out by now.
A list of my mods can be found here.

Dartmouth
Member
Posts: 121
Joined: Sat Dec 06, 2014 14:39

Re: [Game] Australopithecus [Tech Demo]

by Dartmouth » Post

BobbyBonsaimind wrote:except that it has a 1GHz Dual-Core, 2GB of RAM
The Raspberry Pi 2 has 1GHz Quad-core, but only 1GB RAM. But minetestserver runs nicely on it, haven't experimented so much with heavy mods yet though.

BobbyBonsaimind
Member
Posts: 97
Joined: Tue Apr 14, 2015 19:32
GitHub: RobertZenz
IRC: Robert_Zenz
In-game: Bobby

Re: [Game] Australopithecus [Tech Demo]

by BobbyBonsaimind » Post

While I'm waiting for the Cubietruck to arrive, I've been quite busy. Many small changes, but for tonight I've been flying around some terrain for over an hour to get a good map.

Image

Actually I was kinda surprised how shallow this map is, none of the mountains is higher than ~80, sealevel is at -65. It only got interesting when I moved to the east, the mountains there actually started to climb really fast, reaching ~100 at the edge of the map. The rest is pretty unimepressive, we see a lot of grassland, tundra (the brownish green areas), snowy tundras (the very light brown) and big glaciers (white, including the light blue seas, which are frozen). At the north end we see a glimpse of swamp (the dark green).

There are a lot of flaws in the mapgen as I noticed while creating this map. For example terraces (north/west corner) should not be in a line and they should not appear so often. Also they should fade softly into the surroundings at their edges. I also learned that I managed to flood all caves *again*, and that something must be wrong with the 3D transformation code (which is supposed to cut pits and canyons into the terrain...which it doesn't).
Last edited by BobbyBonsaimind on Thu Sep 03, 2015 16:21, edited 1 time in total.

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: [Game] Australopithecus [Tech Demo]

by paramat » Post

See my comment in the lighting issue at Github for some improvements.

I tried this game last night, it was stunning, although barren the vast terrain and ramps were an amazing experience, i like the mix of cubes and ramps, only ramps would not be as impressive. I found mountains up to y = 512. I find the ramps very suitable for the character of Minetest, but also a profound new experience.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests