Advertiser Content

Game Dev Discussion Procedural map generation

Started by Unbayleefable August 28th, 2019 7:16 PM
  • 3626 views
  • 5 replies
Male
United States
Seen 10 Hours Ago
Posted 6 Days Ago
22 posts
3.7 Years
Hi all!

I've been tinkering with a pokemon project written in Java for a long time (I often lose motivation for months and come back to it, so it may never truly be 'finished'). The main thing I'm doing differently (aside from coding the game engine from scratch...) is to generate the game map randomly - just wanted to share some screenshots I took with the camera zoomed way out to showcase some generated regions!







In these screenshots, each pixel is 1 map tile - you can kind of make out the paths through the towns/routes, and the distinct red and blue roofs of the pokemon centers & pokemarts. I had been wanting a better way to visualize the map features apart from the in-game Town Map, so I just tweaked some variables to take these and thought they looked kind of cool.

I put this in 'discussion' instead of 'developing projects' as I'm not sure I want to take the time to compile all the details of the project, but wouldn't mind talking about it if anyone is curious. I did make a post about the project several years (yikes!) ago, but it's pretty outdated - although probably not as outdated as you might expect for that length of time.

DarkDoom3000

Super Pokemon Eevee Edition

Age 28
Male
New Zealand
Seen 1 Week Ago
Posted 1 Week Ago
1,711 posts
15.4 Years
Wow... I must say that's kinda amazing.

Could you post a zoomed in version of a portion of one of those maps? I'd like to see what it looks like up close.

I've tried making procedural general systems in the past (for unrelated games) but they never really turned out well.
your ones look amazing, especially how "realistic" the region itself looks.

Are you attempting to do a fully procedurally generated game where each time you start a new game, you get a new region?
I always throught it would be cool to play a rouge-like pokemon game.

Especially seeing how popular nuz-locke runs are.
Male
United States
Seen 10 Hours Ago
Posted 6 Days Ago
22 posts
3.7 Years
Hey thanks! Yes - the idea is the whole region is procedurally generated. It's actually well on it's way to being that (the game is playable, just there are bugs and a lot of missing features). I was thinking maybe at some point adding some options for nuzlocke or other types of runs, but nothing like that exists yet.

I got a few screenshots for you - these are from a slightly more recent build. In the original ones I posted you might be able to barely tell that all the walkable areas are totally flat - recently, I tried adding ridges that extend through the map areas for a little more variety, but it's been very challenging to get working right without blocking off areas. I added left/right stairs and even stairs that can descend from south -> north to alleviate some of the connectivity problems but it's still resulting in blockage pretty often. Plus it looks quite ugly lol.

Here's an example of a route with no ridges going through it:

https://i.imgur.com/dqFPVCu.png

And here's one which does have some:

https://i.imgur.com/fHPTYOC.png

Here's an example of a town, which also has a Jungle biome route north of it:

https://i.imgur.com/8yfZjMh.png

And here's another town that's bordering the ocean (but no ocean route), which also shows a desert nearby:
(this one you can really see how much of a mess the ridges are at times)

https://i.imgur.com/oBL47hA.png

Also here's what the Town Map looks like (the dimensions are off because of how I zoomed the camera out, normally the corner of the screen is just past where it says "Route 1" and you can pan the map around):

https://i.imgur.com/ykMhYHG.png

So yeah, basically you could technically play through the game in it's current state, assuming the ridges play nice and don't block your progress. There are 8 gyms, and trainers, the routes are assigned levels increasing from the starting area (though nothing stops you from entering a higher level area than you're ready for)

It's just kind of boring at the moment! I've been stuck on this ridge problem for a while - I might just remove them or heavily simplify it somehow. Open to suggestions tbh, it feels like I can't really add anything while they are sorta game breaking!
Male
United States
Seen 10 Hours Ago
Posted 6 Days Ago
22 posts
3.7 Years
I thought I would do a small update on this. I mostly fixed the issues with ridges blocking off areas by preventing any sharp increases in terrain height, while also constraining increased elevations to regular sized 4x4 areas of tiles (this prevents a problem where you can get long zig-zags of ridges where stairs aren't placeable, effectively blocking off areas). It looks a little bit less natural, but I think it's a decent compromise.

On top of that, I also spent some time to add sandy beaches & the animated waves on the shoreline! Doesn't add much in the way of gameplay, but it looks more interesting!

Male
East Java
Seen 4 Days Ago
Posted 1 Week Ago
27 posts
3.6 Years
Hey, this looks so amazing! Is it possible to do this with other tileset styles e.g. Gen 4?

I know that this is supposed to be a game on its own, but I think this can be a tool for fan-game developers as well, sort of like a starter kit like Essentials. Basically, the procedural map, trainers, and gym acts as game foundation and developers can edit it manually to create custom content. That way, we can know what features can be added and/or improved~

I'd like to hear your future plan with this engine. Will be delighted to see more progress~

(There are many potential area to be explored tbh. Cave, aquatic route, Icy area with that sliding ice puzzles, weather system, procedurally generated gym puzzles. If you have story idea you can even take it even further to procedurally generated narrative/quest)
Male
United States
Seen 10 Hours Ago
Posted 6 Days Ago
22 posts
3.7 Years
Hey, this looks so amazing! Is it possible to do this with other tileset styles e.g. Gen 4?

I know that this is supposed to be a game on its own, but I think this can be a tool for fan-game developers as well, sort of like a starter kit like Essentials. Basically, the procedural map, trainers, and gym acts as game foundation and developers can edit it manually to create custom content. That way, we can know what features can be added and/or improved~

I'd like to hear your future plan with this engine. Will be delighted to see more progress~

(There are many potential area to be explored tbh. Cave, aquatic route, Icy area with that sliding ice puzzles, weather system, procedurally generated gym puzzles. If you have story idea you can even take it even further to procedurally generated narrative/quest)
Hi! Thanks for your interest :)

I've been making this as it's own engine partly just so I have the most control of it, but also because I previously thought it would be difficult to integrate with an existing toolset (kind of a bad assumption tbh - I started this project years ago). I recently learned Essentials/RPGMaker just uses a .json format for map data, so it's probably within the realm of possibility to have my existing code modified to output to this format with some work. I am not sure how hard it would be to also output trainers, items, or scripts in this way as well - but, I have at least a basic framework for these things in my own engine, so the procedural part is definitely doable. I have a lot of ideas but not that much time to implement them, lol. But I do plan to add more "biomes" for more diverse environments, as well as side areas such as caves and perhaps a very basic plot. I don't "officially" have support for alternate tilesets, but with a bit of grunt work you could just copy in textures with the same names in the resources folder.

I think a big advantage to switching gears and making it output stuff for use with Essentials would be saving me the work of trying to re-code all the battle mechanics and such. I still only have a fairly basic version of this in my game (no abilities, no held items, lots of missing moves that do specific things like weather, or Transform for example). It's kind of fun to recreate it, but also it's been done before and probably better, so idk if it's worth it. I suppose my engine might have the advantage of being better performance than essentials in it's current state, just because it doesn't have the overhead of RPGMaker that needs to support many different kinds of RPG games. For now, I'm going to keep working in my own engine as I don't own RPGMaker, but definitely will be receptive to what other people think.

Progress is pretty slow since I work full time and do other things, but I will keep updating here as I add new stuff!
Advertiser Content