Randomly Generated Maps

Randomly Generated Maps 0.5

The_Evil_Pickle

L2: Junior Member
Mar 19, 2015
60
83
Updating this thing again! In addition to updating the source code, the download now includes a dozen randomly generated CTF maps - all of which are stable and fairly balanced! Here's the deets:

CTF is now up and running! There's still a few holes in the ceiling, so to speak, but the gamemode is now stable and functional.

Maps can now be set to mirror, so each team's side is a copy of the other's. Additionally, red's side of the map and blu's side use different textures, so players can more easily tell which side they are on.
20170226021703_1.jpg 20170226021717_1.jpg
20170226021745_1.jpg 20170226021759_1.jpg


One last big feature in this update is the ability to edit the map layout by hand before the map file itself is generated.

For example, here's the initial C++ output for one of the CTF maps I generated recently:
2017-02-26 (5).png
That ACII grid shows the basic layout of the map. The lines are hallways, /// areas are rooms, blank areas are outdoor spaces, filled areas are walls, "P"s are props, B/R are the spawn points, and "1" and "5" are the red and blu flags, respectively.

Here's the map grid after I enter a few commands:
2017-02-26 (6).png
I got this by mirroring the bottom of the map, moving the flags around, and setting up the spawnrooms ("$" = resupply cabinet).

After a bit more tweaking, I had a map layout I was happy with:
2017-02-26 (7).png
Then I just told the program to build the map file based on that layout, and it did! All the new ctf maps were tweaked a bit, so none of them are really 100% random. That's the only way to get mirrored maps and working spawnrooms though, so I didn't have much of a choice. I forget exactly which map that example output is from, but I think it might be ctf_brickcleus or ctf_unusualyard.

That brings up the final "major" feature of the update: randomly generated names for the maps! Maps can still be named manually if you want, but you can also choose to let the generator pick a name for you.
2017-02-26.jpg

Happy mapping! :D

Read the rest of this update entry...
 
Oct 6, 2008
1,947
445
Outstanding work!

It would be cool if you could get something like this to work on a server - you join, you play, at timer end, you go to a completely new and different map that's instantly generated, you would never play the same map twice. You could put in a vote button (Y/N) to save map and play it again another time at the end of the round.
 

Bogdy

L4: Comfortable Member
Aug 13, 2014
187
208
First, ShitpostBot 5000.
Now this.
 

SnickerPuffs

(*single chuckle*)
aa
Apr 10, 2014
1,315
1,857
It would be cool if you could get something like this to work on a server - you join, you play, at timer end, you go to a completely new and different map that's instantly generated, you would never play the same map twice. You could put in a vote button (Y/N) to save map and play it again another time at the end of the round.

Look about 7 posts up.
 

HashtagMC

L1: Registered
Dec 17, 2016
15
1
The displacements look rather rough - perhaps, to get a bit smoother ones, you could let the program by a slight margin prefer displacements that are "in the same direction" as the last node?

To explain that a bit: you got vertex A at ground level. Next vertex is generated which goes "a bit up and a bit left". In the image shown at the beginning of the thread, the displacement is a random up and down. If you could tweak that a bit, the program would, from all possible vertices to generate, prefer ones that also "a bit up and a bit left", increasing the chance of generating pleasant-to-the-eye geometry.

Aside from that - hella impressive.
 

◤Bl4ke◢

L1: Registered
Mar 29, 2018
44
29
When a random map gen can generate a map in 3 secconds better than you can make a map in 5 hours
 

Herra Lanttu

L1: Registered
Oct 4, 2019
1
0
Ok so if the creator of this generator is still in this website and sees this comment then I need help! Because when I try to run the source code it gives me an error for missing dlls and after I have downloaded all the dlls it says this:
The procedure start point __cxa_atexit could not be linked