Randomly generated islands- can it work in an MMO?

Post by neuroguy on 2021-06-20 22:03:46

We have not received permission from neuroguy to share this post.

Post by Noaani on 2021-06-20 23:12:37

We have not received permission from Noaani to share this post.

Post by Dygz on 2021-06-20 23:31:25

We have not received permission from Dygz to share this post.

Post by Noaani on 2021-06-20 23:35:32

We have not received permission from Noaani to share this post.

Post by neuroguy on 2021-06-21 01:23:46

We have not received permission from neuroguy to share this post.

Post by Dygz on 2021-06-21 01:48:23

We have not received permission from Dygz to share this post.

Post by Noaani on 2021-06-21 02:04:24

We have not received permission from Noaani to share this post.

Post by neuroguy on 2021-06-21 04:01:04

We have not received permission from neuroguy to share this post.

Post by Vhaeyne on 2021-06-21 04:16:48

We have not received permission from Vhaeyne to share this post.

Post by neuroguy on 2021-06-21 05:16:15

We have not received permission from neuroguy to share this post.

Post by Dygz on 2021-06-21 09:44:17

We have not received permission from Dygz to share this post.

Post by neuroguy on 2021-06-21 11:33:02

We have not received permission from neuroguy to share this post.

Post by Dygz on 2021-06-21 12:58:50

We have not received permission from Dygz to share this post.

Post by neuroguy on 2021-06-25 21:23:16

We have not received permission from neuroguy to share this post.

Post by Azherae on 2021-06-25 21:42:59

I finally know what this made me think of.

Sunless Sea.

Basing it on that, it takes only three things. First is islands that aren't random, but built by the environment design team properly. Secondly, that they don't spawn in the same place on every server. Thirdly, you take a bit from BDO and have them just not appear on the main known map of Verra at all.

So you can 'sail off the edge of the map', and as you go further you encounter more crazy, unkillable stuff and terrible weather, and the devs don't have to worry too much because eventually your ship has to turn back because some rations or something will run out (this applies the reasonable distance limit).

What you put on the islands can also be 'randomized' within some reasonable space. So sometimes 'Kabiki Island' has a hostile village of corrupted Sladeborne, and on some other servers it has a giant gorilla tribe, and on others it has a dragon and treasure.

Since all the content to 'fit on' any randomly generated island must come from somewhere anyway, the ability to just 'not be able to find it' or have issues navigating so it isn't the same every time (doldrums, being blown off course, minor currents that aren't the same per server) would work.

Then you would have people who gather entire fleets to try to discover 'new' islands. They're not completely new, but because they aren't in the same place on every server, different things happen.

Post by Dygz on 2021-06-25 23:45:17

We have not received permission from Dygz to share this post.

Post by neuroguy on 2021-06-28 20:26:01

We have not received permission from neuroguy to share this post.

Post by Dygz on 2021-06-28 22:09:46

We have not received permission from Dygz to share this post.

Post by Azherae on 2021-06-28 22:18:20

We have not received permission from neuroguy to share the quoted post.

I am not sure if you watched the Latest Development Stream, but here's the relevant section . In simple terms, the way that terrain is generated, level bounds and lower bounds, meshes made to match the ground perfectly, and so on, are actually a lot of work. Sometimes years to fix every part.

Not only can players fall through the world, rarely, enemies can as well. I won't try to go into detail, since I'm not the environment artist or engineer of my group, and if you want a really in-depth I can ask her to jump in, but short version is that even the best QA won't really be enough, and truly random generated ones are more prone to this.

What I forgot to mention would be that you could extend it even more in the way you are thinking of, though. Once the island is tested, the precise orientation (think like a clock face) of the island in the open ocean would probably be randomizable. So a part of the island that is 'north' on Lyneth might be the south east part on Resna, and along with differences in what spawns, or foliage (since this requires much less testing), it might be enough to really make it feel different.

But, no, overall it's not 'less work' to make random islands because those sorts of systems take long to perfect and even longer to test. A good environment artist can churn out beautiful islands much faster, to the point where it might even be worth 'them doing it randomly between updates'. More options for easter eggs, cool vistas, properly considered battle 'grounds', etc. I wouldn't say 'nonrandom' is necessary , but it's more work. One incorrectly clamped noise function and suddenly everyone's in the deep dark ocean below Verra.

Post by neuroguy on 2021-06-29 00:06:40

We have not received permission from neuroguy to share this post.

Post by Azherae on 2021-06-29 00:42:01

Well, I don't know what to tell you, because I don't know how to explain exactly how terrain modeling works, and I can't be sure which of the methods of terrain modeling Ashes uses.

To be clear though, I thought you meant 'building a model that will generate an island outright without much if any involvement from them'.

I can only tell you that modelers and environment designers are really really fast at their jobs when you give them something like 'island' which doesn't have to fit in with a lot more things.

Maybe Ashes uses one of the modeling schema that would allow for random to somehow be faster than a professional modeler. I'm also not sure why you say that they shouldn't occur more often? Are you expecting that Ashes starts from the volumetric voxel approach? I haven't seen many indications that they do, because it doesn't often work well for MMOs, and any proper phasing that doesn't look chunky still has to go through a heightmap pass.

I feel like one of the two of us is much less informed about this than they think, so I'll assume it's me and go ask someone about it. I'll therefore 'Baton Pass' on this thread and stay out of it, and if anyone from my group oosts again, it'll be the person who knows exactly what they're talking about. And of course, if there's no post, it'll be because she corrected my misconceptions.

Post by neuroguy on 2021-06-29 01:32:32

We have not received permission from neuroguy to share this post.

Post by Dygz on 2021-06-29 02:04:36

We have not received permission from Dygz to share this post.

Post by Merek on 2021-06-29 02:51:37

We have not received permission from Merek to share this post.

Post by neuroguy on 2021-06-29 02:59:28

We have not received permission from neuroguy to share this post.

Post by GrandSerpent on 2021-07-02 00:22:48

Hi all, to follow up on what @Azherae said, while procedural generation of content in the context of an MMO is within the realm of technical feasibility, there are a lot of non-obvious challenges which make it difficult in practice.

1. How procedural terrain generation works

In order for this to make sense, I need to give a brief explanation of how terrain is normally generated in procedurally-driven games.

The most common technique for dynamic generation of terrain in video games utilizes computational tools call noise functions, most commonly Simplex noise . These generate continuously-changing 2D or 3D fields of numbers, which can be used as inputs to terrain heightmaps, or voxel-based terrain generation functions.

Through applying mathematical operations and multiple layers of noise functions with different parameters, game developers can refine their outputs, resulting in something more tailored to the sort of game environment they're interested in creating. With sufficiently complex algorithms, this can result in some interesting, varied landscapes, which are utilized to good effect in games like Minecraft or No Man's Sky.

However, it's important to emphasize that this sort of procedural generation is, at its core, unpredictable and random. While programmers can influence how terrain is generated, it's not fundamentally possible to get results which will consistently conform to any given set of requirements for gameplay.

2. Non-obvious pitfalls in the context of MMOs

An MMO like AoC has a specific set of requirements for its gameplay areas. Players need wide, relatively open areas to fight mobs, they need the capacity to easily traverse between areas of the world, and they need a certain, logical distribution of resource gathering points for things like fishing and harvesting. In the context of a large, procedurally-generated island, there are some significant technical challenges to achieving these goals. In no particular order:

  • 1. Does the island have enough wide, open areas for players to fight in?
  • 2. Are there areas of the map which players can get stuck in (e.g., a drop into a canyon with no way out)?
  • 3. Are there large areas which are inaccessible (e.g. a plateau with sheer cliffs surrounding it)?
  • 4. Do randomly-placed props (trees, rocks, plants) on the island clip through geometry, or display in other janky ways?
  • 5. Do any NPC spawn points or resource gathering nodes intersect with props or with terrain features?
  • 6. Is there a clear route onto the island from the ocean?
  • 7. Will player-operated ships get stuck in shallow areas of water?
  • 8. Can the generation system create the required gameplay systems (AI pathfinding nodegraphs, collision geometry) in a reliable way?
  • 9. Is this collision geometry generation reliable enough to prevent any spots where the player will fall through the world?

With sufficiently complex algorithms and enough development time, I believe most of these problems could be overcome in the majority of the cases, and manual QA of generated areas would help screen out many islands with obvious technical flaws. However, there's still an irreducible level of inconsistency in this approach, and getting sufficiently good results requires a lot of investment in the procedural generation systems. It's also very easy for more subtle flaws in the generation of any given island to be missed by QA and make their way into production.

Even games with a heavy emphasis on procedural content generation sometimes misstep on these points, either by removing enough of the randomness from the proceed that everything feels kind of generic and "samey" (e.g. No Man's Sky at launch), or by creating areas of content which are sometimes unplayable (too many examples to list here).

Since AoC's main focus is on hand-authored content, I'm therefore not sure if it would make sense for Intrepid to dedicate the technical resources necessary to implement this type of system in a sufficiently reliable way, at least at launch.

3. What game developers can do

While full procedural generation is probably outside of AoC's scope, there are still ways to utilize procedural tools and algorithms to help expedite the level creation process, and blend hand-authored and procedural terrain.

One approach sometimes used in games is to start from a piece of terrain created by a noise function, and refine it into a usable gameplay space via conventional terrain sculpting tools. This can be a good way to quickly iterate on content, and ensure that no areas of the world have significant technical flaws. This kind of workflow has been used in many open-world RPGs in the past (Morrowind, Oblivion, etc).

Another approach is for a level designer to define the broad shapes of a landscape, then allow algorithms to refine the terrain, applying processes like erosion, or applying textures and props to areas of the landscape based on slope angle or a noise-driven biome system.

From what I've seen in the alpha so far, I believe AoC's devs are already utilizing techniques of these types of techniques. UE4 has fairly sophisticated tools for terrain generation natively, which make intermixing algorithmically-driven and hand-edited terrain feasible (e.g. simulated erosion , foliage painting ).

4. Conclusion

This is a case where, although dynamically-generated islands would make for an interesting system, the technical complexity most likely outweighs the benefit unless Intrepid plans to focus heavily on this type of content.

Areas like islands can be generated by hand relatively quickly by level designers, often with a greater degree of quality and visual interest (hand-placed props, environmental storytelling, etc). Based on my experience, putting together a small island without any unique assets or gameplay scripting is something that a designer could finish within a day, meaning that even a relatively extensive archipelago could be put together in a reasonable span of time.

Post by neuroguy on 2021-07-02 17:17:18

We have not received permission from neuroguy to share this post.

Post by Azherae on 2021-07-02 17:54:01

@neuroguy - Yeah she and I have both had odd issues getting the BBCode for video links and such to work, but it's probably just overlooking something.

Here's another try.

Post by neuroguy on 2021-07-02 18:28:13

We have not received permission from neuroguy to share this post.

Post by Noaani on 2021-07-02 20:28:39

We have not received permission from Noaani to share this post.