Utilizing procedural development in an MMORPG

Talk about game designs and what goes behind designing games.
Post Reply
User avatar
kaos78414
Posts: 507
Joined: Thu Jul 22, 2010 5:36 am

Utilizing procedural development in an MMORPG

Post by kaos78414 »

So I'm working on an MMORPG built utilizing a Sails.js backend with mongoDB, Pixi.js for rendering, and SoundManager2 for sound. My development and design process is as follows: Take baby steps, and after each minor milestone: play the game. At that point I decide what would be nice/fun/important to have next. Then I implement it, test for stability, and make performance tweaks. Rinse and repeat. But now, I'm at a place now where I feel like the world/terrain could use some fleshing out. For this I've chosen to use a procedural algorithm, similar to what is used in Minecraft.

I've worked with procedural terrain generation before in a singe player strategy game built in XNA. That was a fun experience, and made me love how powerful these algorithms can be when used in the appropriate context. In an MMORPG however, I worry about some of the implementation details.

If I'm going to move forward with a procedural terrain generation engine, I want to make sure it is properly utilized. Meaning I can't just run it once for each game shard (assuming I decide to even have separate shards) and be done with that world. I need players to be able to somehow go on from the normal world, have the procedural generator run, and then they'd have a whole new world to explore.

The setting of this particular game is high fantasy. So I don't want to have things like, say, Starbound, where each planet is procedurally generated, and players travel between them using spaceships or what have you. That said, I'm not opposed to having portals that take players to different worlds.

So the idea as it currently stands is this: Have a pool of "world types" which are essentially the same as biomes. As far as my data is concerned, these would simply have pools of tiles / resources of different types they could choose from when generating the terrain. The first world created for the server would be of a default type, and portals would be generated around the world. At the time of generation, these portals don't know where exactly they would go. Upon first use, they would be labelled as a transport to whichever world they go to, and that "world" would be generated. These worlds would be all of the same biome, and would be large enough that players could explore and build (haven't gotten this far in development, obviously) if they so choose.

The scenes would then consist of "worlds", and mini-zones like dungeons and caves that could be generated inside any of the worlds. The mini-zones are one-way back and forth within their worlds, where worlds might be able to be teleported to through either their portals, or other various player-made means.

How does this sound? Is there a possibly better way to go about this? This is in the design phase for me so just spout out ideas and we'll see what we come up with. This is an integral part of my game, so I want to make sure I approach this properly.

Also, please note that this is specifically about how to utilize procedural terrain generation in an MMORPG, not about the biomes or details of the generated content itself.
w00t
User avatar
Jackolantern
Posts: 10891
Joined: Wed Jul 01, 2009 11:00 pm

Re: Utilizing procedural development in an MMORPG

Post by Jackolantern »

Call me old school, but I think procedurally created terrains are best saved for instanced zones and areas, and the main world should likely be lovingly hand-crafted. I have seen some impressive procedural world out there, but in the end, creating all of those finely-tuned algorithms to make something that doesn't look procedurally created probably took almost as much time as making the terrain by hand.
The indelible lord of tl;dr
User avatar
Callan S.
Posts: 2042
Joined: Sun Jan 24, 2010 5:43 am

Re: Utilizing procedural development in an MMORPG

Post by Callan S. »

I thought you'd do both - let the generators generate something, then smooth it down like a sculptor chisling stone to create his art.
User avatar
kaos78414
Posts: 507
Joined: Thu Jul 22, 2010 5:36 am

Re: Utilizing procedural development in an MMORPG

Post by kaos78414 »

Jackolantern wrote:Call me old school, but I think procedurally created terrains are best saved for instanced zones and areas, and the main world should likely be lovingly hand-crafted. I have seen some impressive procedural world out there, but in the end, creating all of those finely-tuned algorithms to make something that doesn't look procedurally created probably took almost as much time as making the terrain by hand.
Well, I'm not sure if I agree. But this is exactly the sort of discussion I need to be having. Basically, how to utilize it in a way that makes sense within the MMORPG context. A lovingly hand-crafted world is great, but a procedural content generator has the benefit of being reusable, and more often than not is actually much faster to create, especially for smaller dev teams. The downside is you retain much less control, and things like quests (which I probably will not include any at all in my game) are much more difficult to implement. And sure, if you don't do it right you may wind up with some unnatural looking terrain - hopefully my experience writing these algorithms in the past will help in this respect. And do note that players will have a large amount of control over the terrain itself - something I probably should have mentioned in the OP.

That said, your comment sprung another idea into my head. If I do hand craft the world, I could include other "dimensions", which could take the same world and apply some new rules to it, change the look and feel, and possibly alter the terrain a bit. This way I could multiply the amount of content in the world I've created by the number of "dimensions", which by comparison would take much less work to implement then the original world itself. I do actually feel quite good about this idea, but its just a thought as it currently stands.

Anyway this thought process for me is all about bang-for-buck, meaning less development for more content to me is better than more work for a small amount of quality content. Take for example boss battles. It takes a large amount of development work to create a unique boss battle. But after the first encounter with any boss, it completely loses its luster. You've essentially wasted a lot of development time for a single experience in your game. So I'm trying to be careful about where I decide to spend my time.
w00t
User avatar
Jackolantern
Posts: 10891
Joined: Wed Jul 01, 2009 11:00 pm

Re: Utilizing procedural development in an MMORPG

Post by Jackolantern »

Callan is probably right, that you could use procedurally created content, and then hand-craft and edit that.

My real reason against relying too heavily on procedurally created worlds is not so much that it looks bad, because with only a fair amount of work you can fix that. Rather, it is that they feel generated. A good level or zone design has every single piece all working towards a common goal. If you see a patch of trees in the distance, it should be a sign to bring in players to something. If you have an impassable cliff, it should be for a reason. A bridge over an impassable river should either serve to form players to cross it and stay on the path, or to draw them away from areas specifically "off the beaten path", or both.

In my experience, generated content seems to play with players' expectations, because you almost always end up with hallways that go nowhere important, explorable regions that turn up nothing, environmental cues to go a direction that dead-ends into a cliff for no reason, etc. Now if you used the generation to get a head-start, like Callan suggested, so that a team with limited resources didn't have to spend weeks putting the pieces of the world together, that would work. Then you could spend the time better to smooth out issues like I have mentioned, and probably come out with the same results.

And that sounds like a cool idea for the other dimensions :cool:
The indelible lord of tl;dr
User avatar
Verahta
Posts: 440
Joined: Wed Aug 24, 2011 1:50 am

Re: Utilizing procedural development in an MMORPG

Post by Verahta »

I'm going to create some sort of map generator for my game to add new places, as doing it by hand by myself is simply not possible. Key thing will be getting the logic in the algorithm correct, so it injects new worlds into the map system correctly, and logically. I think having all the details correct will be key to generating a lot of new content quickly without having to spend countless hours doing it by hand myself.
"In order to understand recursion, one must first understand recursion".
Post Reply

Return to “Game Design”