Random map generation

User avatar
GFX47
Dev
Dev
Posts: 2914

Random map generation

Post#1 » 12 Dec 2017, 15:49

First iteration:
- min/max entity count per type
- horizontal symmetry

Image

User avatar
GFX47
Dev
Dev
Posts: 2914

Re: Random map generation

Post#2 » 12 Dec 2017, 16:44

Iteration #2:
- added central symmetry
- added elimination game type

Image

User avatar
LuBeNo
Autonomous Entity
Autonomous Entity
Posts: 532

Re: Random map generation

Post#3 » 12 Dec 2017, 18:47

Looks good so far. Great that you are working on it. Will remove my decorators, when live.
Things to consider :D.

IMO the bots should only in rare cases be placed within close range of each other. IMO also mid range should be restricted. Perhaps there should be also a minimal distance between objects. (not placing a resource under a bot but only near by. [better visibility])

Support of one additional resource on the symmetry axes would be important.
Image
My algorithm of life: if(self.tired) sleep(); else if(self.hungry) eat(); else follow(Jesus);

User avatar
GFX47
Dev
Dev
Posts: 2914

Re: Random map generation

Post#4 » 12 Dec 2017, 19:31

Iteration #3:
- added vertical symmetry
- added min/max distance constraints between different entity types/teams
- added central resource in scoring maps (guaranties an odd resource count)

Image

Jeffrey Harpen
Automaton
Automaton
Posts: 122

Re: Random map generation

Post#5 » 12 Dec 2017, 19:40

GFX47 wrote:First iteration:
[...]
- horizontal symmetry

One of shown maps has two bases (Ally and Enemy) in one place. Is it how it suppose to be?

User avatar
LuBeNo
Autonomous Entity
Autonomous Entity
Posts: 532

Re: Random map generation

Post#6 » 12 Dec 2017, 20:52

#3 is better but on average looks to boring. Max width of same team bot should not be restricted. Otherwise there would be only one team opposite of the other maps.

Or perhaps make some rules strict (complied 100%) and others only 80%. A bot usually has to be in range of his team, but in 20% he can be anywhere.

The additional resource can also be placed on horizontal / vertical symmetry axes.
Image
My algorithm of life: if(self.tired) sleep(); else if(self.hungry) eat(); else follow(Jesus);

User avatar
LuBeNo
Autonomous Entity
Autonomous Entity
Posts: 532

Re: Random map generation

Post#7 » 12 Dec 2017, 20:54

LuBeNo wrote:The additional resource can also be placed on horizontal / vertical symmetry axes.

Sorry - you already implemented this.
Image
My algorithm of life: if(self.tired) sleep(); else if(self.hungry) eat(); else follow(Jesus);

User avatar
LuBeNo
Autonomous Entity
Autonomous Entity
Posts: 532

Re: Random map generation

Post#8 » 12 Dec 2017, 21:02

Jeffrey Harpen wrote:One of shown maps has two bases (Ally and Enemy) in one place. Is it how it suppose to be?

Should be this one of iteration 1: (should be fixed by the ruleset of #3)
Iteration 1.jpg
Iteration 1.jpg (165.83 KiB) Viewed 2207 times


Are there 2 bases above of each other or is there a bug in iteration 3: There seems to be a resource missing too.
Iteration 3.jpg
Iteration 3.jpg (172.87 KiB) Viewed 2207 times
Image
My algorithm of life: if(self.tired) sleep(); else if(self.hungry) eat(); else follow(Jesus);

mcompany
Autonomous Entity
Autonomous Entity
Posts: 872

Re: Random map generation

Post#9 » 12 Dec 2017, 21:05

Jeffrey Harpen wrote:
GFX47 wrote:First iteration:
[...]
- horizontal symmetry

One of shown maps has two bases (Ally and Enemy) in one place. Is it how it suppose to be?

I don't see why not

LuBeNo wrote:#3 is better but on average looks to boring. Max width of same team bot should not be restricted. Otherwise there would be only one team opposite of the other maps.

I agree

User avatar
LuBeNo
Autonomous Entity
Autonomous Entity
Posts: 532

Re: Random map generation

Post#10 » 12 Dec 2017, 21:10

mcompany wrote:
Jeffrey Harpen wrote:
GFX47 wrote:First iteration:
[...]
- horizontal symmetry

One of shown maps has two bases (Ally and Enemy) in one place. Is it how it suppose to be?

I don't see why not

If intended the graphics glitch should be removed. (drawing half of the base red, half of it blue)
Image
My algorithm of life: if(self.tired) sleep(); else if(self.hungry) eat(); else follow(Jesus);

User avatar
LuBeNo
Autonomous Entity
Autonomous Entity
Posts: 532

Re: Random map generation

Post#11 » 13 Dec 2017, 08:00

Would it be hard to create a possibility for us to play around with the parameters? (ingame / separate program)

I would love the ability to place groups (in a line or circle) of objects (bots or resources).
Image
My algorithm of life: if(self.tired) sleep(); else if(self.hungry) eat(); else follow(Jesus);

User avatar
GFX47
Dev
Dev
Posts: 2914

Re: Random map generation

Post#12 » 13 Dec 2017, 11:41

Iteration #4:
- implemented grouping

Image

User avatar
LuBeNo
Autonomous Entity
Autonomous Entity
Posts: 532

Re: Random map generation

Post#13 » 13 Dec 2017, 20:52

Looks good.
Image
My algorithm of life: if(self.tired) sleep(); else if(self.hungry) eat(); else follow(Jesus);

mcompany
Autonomous Entity
Autonomous Entity
Posts: 872

Re: Random map generation

Post#14 » 13 Dec 2017, 22:09

Imo, it still looks like a bunch of seven wonders, split team, and 5v5 clones with no where near as many unique Barred/CoD maps like version 2

pier4r
Skynet
Skynet
Posts: 3389

Re: Random map generation

Post#15 » 13 Dec 2017, 22:38

let's give it a try first. Getting barred spiral, mind game, CoD via random generation (a random - non-random, since you want to avoid certain messy cases) is not that easy.

Those may be included "fixed" maps with peculiarities.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

mcompany
Autonomous Entity
Autonomous Entity
Posts: 872

Re: Random map generation

Post#16 » 13 Dec 2017, 22:54

pier4r wrote:let's give it a try first. Getting barred spiral, mind game, CoD via random generation (a random - non-random, since you want to avoid certain messy cases) is not that easy.

Those may be included "fixed" maps with peculiarities.

I know that, I'm just saying that version 2 has more variety than 3 or 4, so some of the constraints aren't as interesting

User avatar
LuBeNo
Autonomous Entity
Autonomous Entity
Posts: 532

Re: Random map generation

Post#17 » 14 Dec 2017, 02:17

Would it be hard to create a possibility for us to play around with the parameters? (ingame / separate program).

Perhaps someone finds interesting rules.
Image
My algorithm of life: if(self.tired) sleep(); else if(self.hungry) eat(); else follow(Jesus);

User avatar
GFX47
Dev
Dev
Posts: 2914

Re: Random map generation

Post#18 » 14 Dec 2017, 11:02

It could take quite some time actually and would probably only work on desktop versions.
I'll try some more iterations and we'll see how it goes once live.

User avatar
LuBeNo
Autonomous Entity
Autonomous Entity
Posts: 532

Re: Random map generation

Post#19 » 14 Dec 2017, 14:04

Perhaps exporting current settings and presenting them here would also do.
Image
My algorithm of life: if(self.tired) sleep(); else if(self.hungry) eat(); else follow(Jesus);

User avatar
Bombafat
Script
Script
Posts: 40

Re: Random map generation

Post#20 » 15 Dec 2017, 11:44

mcompany wrote:Imo, it still looks like a bunch of seven wonders, split team, and 5v5 clones with no where near as many unique Barred/CoD maps like version 2


I think, even without having these more special and unique maps, the random generator would be a big improvement since you dont know already at the beginning of the map versus a certain opponent, that you are going to loose or win. Also we will get rid of highly map specialised AIs. In my opinion it will make the game much better and the random map generator will get improved over time. I am looking forward to it.

Return to “Devlog”

Who is online

Users browsing this forum: No registered users and 1 guest