## [Several new servers] student project with new mods

ishka
New member

Posts: 1
Joined: Thu Jun 07, 2018 12:16

### [Several new servers] student project with new mods

In the context of an university course we develop several new minetest mods. To showcase these we run several new servers.

This thread is to be used for discussions of all of these servers. If a some server gets a lot of feedback we will start a separate discussion thread for it.

These servers are on the same address, but on different ports.

Server: Cities
Port: 30005

Server: Fantasy
Port: 30006

Port: 30008

Server: Big Letters
Port: 30010

Server: Moddevel
Port: 30011

We hope you all enjoy our work and are looking forward to any feedback on any of these servers.
Last edited by ishka on Mon Jul 16, 2018 11:38, edited 3 times in total.

Idefixus
New member

Posts: 2
Joined: Thu Jun 07, 2018 17:20

### Re: Several new servers, student project with new mods

Dear community, during our ongoing university seminar: "Modprogramming for Minetest" we are playing around with different mapgeneration features.
For this first iteration, we were playing with random sight generation all around the map.
The goals were:
- Create some sample sights
- Place those sights when a chunk is generated for the first time with a certain probability
- Only place those sights if there is enough space on the chosen random position
- Don't place objects in the water or on trees and neither half in another object

During the work we had to solve different problems:

- Detect height of the groundlevel at certain positions for only placing the objects on the ground, not floating and not in the ground.
Solution: Use the lightlevel to find out on which height the light switches from 0 (underground) -> to 15 (overground).
- Check if there is enough space for the object to fit:
Solution: Check the groundlevel around the initial position to

Persisting problems:

- Objects aren't placed when it's night, because the light level decreases from 15 to lower. If also lower levels are accepted then objects are also placed e.g. in water where the light level is 14.
- Find out what the height and length of the loaded .mts schematics are and check the space dynamically and not a fixed 6x6 space.
- Find out what the biome features are for only placing sights in their respective environments (e.g. sandtower only in desert): The problem is that the temperature and humidity functions are depricated.

The server can be reached during the ongoing seminar and the code will be documented and released afterwards.

Server: Moddevel
Port: 30011

We are happy for every comment on our project. Don't mind typos. Mind that the project is prototypical and no complete immersive experience.
Thanks to all

Michael_H
New member

Posts: 1
Joined: Sun Jun 17, 2018 11:18
GitHub: michaelhochleitner

### Re: [Several new servers] student project with new mods

Server: Big Letters
Port: 30011

This server has recipes to build letter blocks out of dirt blocks. The letter blocks can be combined to build big letters. The map is a small platform to easily find what other people built. It is easy to fall of the map. Fly privilege on this server works on some versions of minetest. Everyone can mine letter blocks someone else has placed.

Here is an image of some big letters:

Here are the crafting recipes for the letter-blocks:

Kenzo
New member

Posts: 5
Joined: Thu May 31, 2018 13:26

### Re: [Several new servers] student project with new mods

Hey guys!

Now it's time to present the next mod! :)

Server: Fantasy
Port: 30006

• The world is full of dungeons! You can find treasures with loot in this dungeons and in future versions defeat monster there!
• You can find two new plants in the world. Magic Mushrooms (they glow in the dark) and Healing Clover (heals you). There will follow more plants in future versions!
• There is a new crafting type! Brewing! You can craft a pot. This pot is a new crafting machine. You can brew a lot of magic potions with special effects in there.
Don't miss watching at the screenshots and crafting recipes in the spoilers here!

+ crafting recipes

+ Screenshots

Please note that our mod is still under construction. It's not finished yet, but you can play already! We would appreciate feedback from you!

texmex
Member

Posts: 978
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex

### Re: [Several new servers] student project with new mods

Great work, these mods will be solid contributions to the community.

Sokomine
Member

Posts: 3616
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine

### Re: [Several new servers] student project with new mods

Idefixus wrote:- Create some sample sights
- Place those sights when a chunk is generated for the first time with a certain probability
- Only place those sights if there is enough space on the chosen random position
- Don't place objects in the water or on trees and neither half in another object

You might want to take a look at my handle_schematics and basic_houses mods. basic_houses does that. The algorithm can also be used to place ships in water or submarines underground. See basic_houses.simple_hut_find_place(..). The main code is in handle_schematics.

Idefixus wrote:- Detect height of the groundlevel at certain positions for only placing the objects on the ground, not floating and not in the ground.
Solution: Use the lightlevel to find out on which height the light switches from 0 (underground) -> to 15 (overground).

The heightmap is of particular help in this regard. Actually solving this problem requires some knowledge about the internal working of mapgen. minetest.place_schematic() is IMHO inadequate for placing house-like buildings. The benefit of the heightmap is the huge speed gain which is not to be sneezed at at mapgen time. Players tend to get annyoed when hitting the invisible wall too frequently when exploring new terrain.

Idefixus wrote:- Find out what the height and length of the loaded .mts schematics are and check the space dynamically and not a fixed 6x6 space.

The larger the area gets the more difficult it gets to find such a place. Anyway, handle_schematics is able to read schematics and analyze their size. Just keep in mind that it will be far less likely to find a sufficiently large flat area for a larger building than for a smaller one. This will have effects on the probably of buildings of that type beeing generated and may have to be taken care of depending on what you want to achieve.

Idefixus wrote:- Find out what the biome features are for only placing sights in their respective environments (e.g. sandtower only in desert): The problem is that the temperature and humidity functions are depricated.

Trouble is that that also highly depends on the mapgen used. I've little knowledge about biomes as such. If you seriously want to achieve anything in that regard, catch paramat on IRC and ask holes into his stomach :-)

My original intention regarding basic_houses was to use the heightmap in order to flatten land for the placement of villages or larger objects inspired by a forum thread here. While algorithms for detecting slices of connected land at the same height exist, the algorithms end up detecting too many of these connected areas for comftably (and fast) working with them. Terrain in MT can get tricky and is usually very small-scale. It turned out that a way more simple approach that didn't even require any raising/lowering of terrain produced good enough results for individual houses.
A list of my mods can be found here.

MissDejavu
New member

Posts: 9
Joined: Thu May 31, 2018 15:06

### Re: [Several new servers] student project with new mods

Hi all,

just a small information regarding the Fantasy server. We adjusted some of the old stuff and also added some new features. In order to be more active, keep you updated more regularly and ask you for your opinion on some topics in the future, we decided to open a new Server and Thread called "Fantasy 2.0". We would very much appreciate if you visit us!

Have fun,
Kenzo & MissDejavu

twoelk
Member

Posts: 1250
Joined: Fri Apr 19, 2013 16:19
Location: northern Germany
GitHub: twoelk
IRC: twoelk
In-game: twoelk

### Re: [Several new servers] student project with new mods

so I visited the cities server a few days ago
and built a hut.

that world vanished.

I visited again
and spawned in a weird forest
near a path with lava blobs
and a large chunk of water in the air.

I travelled through the dark woods
until I found some nice grasslands.
There I found a cave entrance,
that I filled with water
to produce a nice little lake.
and nearby
again
I started a hut
all by myself

but a city server it is
so
sure enough,
plant a hut and
a settlement will spawn
Attachments
screenshot_20180609_055055.jpg
screenshot_20180710_223639.jpg

Idefixus
New member

Posts: 2
Joined: Thu Jun 07, 2018 17:20

### Re: [Several new servers] student project with new mods

Sokomine wrote:
Idefixus wrote:- Create some sample sights
- Place those sights when a chunk is generated for the first time with a certain probability
- Only place those sights if there is enough space on the chosen random position
- Don't place objects in the water or on trees and neither half in another object

You might want to take a look at my handle_schematics and basic_houses mods. basic_houses does that. The algorithm can also be used to place ships in water or submarines underground. See basic_houses.simple_hut_find_place(..). The main code is in handle_schematics.

Idefixus wrote:- Detect height of the groundlevel at certain positions for only placing the objects on the ground, not floating and not in the ground.
Solution: Use the lightlevel to find out on which height the light switches from 0 (underground) -> to 15 (overground).

The heightmap is of particular help in this regard. Actually solving this problem requires some knowledge about the internal working of mapgen. minetest.place_schematic() is IMHO inadequate for placing house-like buildings. The benefit of the heightmap is the huge speed gain which is not to be sneezed at at mapgen time. Players tend to get annyoed when hitting the invisible wall too frequently when exploring new terrain.

Idefixus wrote:- Find out what the height and length of the loaded .mts schematics are and check the space dynamically and not a fixed 6x6 space.

The larger the area gets the more difficult it gets to find such a place. Anyway, handle_schematics is able to read schematics and analyze their size. Just keep in mind that it will be far less likely to find a sufficiently large flat area for a larger building than for a smaller one. This will have effects on the probably of buildings of that type beeing generated and may have to be taken care of depending on what you want to achieve.

Idefixus wrote:- Find out what the biome features are for only placing sights in their respective environments (e.g. sandtower only in desert): The problem is that the temperature and humidity functions are depricated.

Trouble is that that also highly depends on the mapgen used. I've little knowledge about biomes as such. If you seriously want to achieve anything in that regard, catch paramat on IRC and ask holes into his stomach :-)

My original intention regarding basic_houses was to use the heightmap in order to flatten land for the placement of villages or larger objects inspired by a forum thread here. While algorithms for detecting slices of connected land at the same height exist, the algorithms end up detecting too many of these connected areas for comftably (and fast) working with them. Terrain in MT can get tricky and is usually very small-scale. It turned out that a way more simple approach that didn't even require any raising/lowering of terrain produced good enough results for individual houses.

Hi thank you for your response I have looked into your code and it could be helpful. Maybe we will include some of your ideas in our project after we evaluated the possible application methods.