How should I approach my first random map generator?

Started by
4 comments, last by infectedbrain 11 years, 3 months ago

This winter break I decided to start a little game tech project where I randomly generate a map for a simple 2D game. This map will (hopefully) include grid based collisions and some random objects.

I just started this tonight and I made a nice little 100% psudo-random collision grid generator. (wow.. that makes it sound so much harder than it was) I makes a table of random CSVs that tell my level loader whether or not the tile is collidable.

Obviosly this method can't really work in a game and I am pretty lost to how to move on from here. I wanted to know if any of you good folks could give me a push in the right direction. How should I approach a generator like this? What do I need to keep in mind? Any good resources you know of?

thanks in advance,

Dartos.

Advertisement
There are LOTS of articles about this stuff on rogue programming sites:

http://www.roguebasin.roguelikedevelopment.org/index.php?title=Dungeon-Building_Algorithm
http://pcg.wikidot.com/pcg-algorithm:dungeon-generation

creating randomly filled levels is easy, making them align with your gameplay is difficult.

randomly created content generally has to be suited to your gameplay, otherwise it's pointless if you can't access some area simply because the map didn't generate a way to get their.

then after having some initial map, depending on how enemy's work, it could be as simply as throwing enemy's randomly into the map, or as complicated as assesing the map for area's where enemy's are most optimal to be placed, this is the same for any collectables(coins, gold, etc).

in my opinion, randomly created content/map has to be pretty much tailored to their specific games, while their are general overviews of randomly creating maps, how that map interacts with the player is vital in ensuring that w/e is created is enjoyable/fun/unique.

it'd be easier to help you if you told us a bit more about the gameplay mechanics, instead of us tossing out random information that may, or may not help you.

Check out https://www.facebook.com/LiquidGames for some great games made by me on the Playstation Mobile market.
">Here is a nice talk given by Grinding Gear Games on the random level generation used in Path of Exile, it covers quite a few points you might find both useful and inspirational :)
I just in game generate rooms on a plane and then use a star to interconnect these with each other. Seeing my game is cube based I actually do this for multiple levels and then afterwards generate the geometry, collision information and room items from that in memory map. this will only allow you to generate grid aligned paths or rooms but generally works fairly well for a find the exit type of game. I also do not care whether paths cross each other, I do have to mention.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

it'd be easier to help you if you told us a bit more about the gameplay mechanics, instead of us tossing out random information that may, or may not help you.

The game I am making now is more or less a top down, real-time clone of Fallout 1. It will have the same style and kind of levels, junkyards filled with crappy cars, ruined cities with buildings, and deserts with nothing but rocks.

This project is just for me to learn how to generate levels so it isn't going to be as extensvie as Fallout so the levels don't need to be amazing. I am guessing I will need a different level generation algorithm for each type of level but I assume that if I learn how to make it for one, the rest shouldn't be that hard.

I just in game generate rooms on a plane and then use a star to interconnect these with each other. Seeing my game is cube based I actually do this for multiple levels and then afterwards generate the geometry, collision information and room items from that in memory map. this will only allow you to generate grid aligned paths or rooms but generally works fairly well for a find the exit type of game. I also do not care whether paths cross each other, I do have to mention.

What do you mean by "use a star to connect them"?

This topic is closed to new replies.

Advertisement