Dev Update #9

Another hiatus since October 2019. But I keep coming back so thats good. Here is another quick update.

Procedural Generation

In the previous dev update I talked about how the game would feature server side procedurally generated dungeons. Meaning that the server would pass down to clients what the current dungeon looks like. Players would then be able to join the same dungeon and every X amount of time new sets of dungeons would be generated.

So far…

I’ve completed the both initial server and client side implementations. Meaning that the system is working end to end. In a high level view the usage happens something like this:

1. After X amount of time the server creates a set of new dungeon template using predefined parameters.

Server logs

2. When a player walks into a dungeon its notified by the server that it is entering a new instance. It receives a small package with the template information, it basically specifies what rooms the client has to load and how they should be placed.

Client logs.

3. At this point the server has generated an instance of the dungeon and placed the player/s in there.

Zoomed out screen capture of the player inside the dungeon.

And thats it. All the systems needed are roughy in place. But I’ve not decided on a lot of specifics yet so I’ll be tweaking them as I go. I expect theres a couple of challenges I’ll be facing down the road. For example, if I have 100 players entering a dungeon how many instances of the dungeon should I create server-side and how would player share a dungeon instance. Instances aren’t cheap, since each of them hold X amount of monsters that the server has to process for. This kind of challenge is specifically tied to the game design and how the game is gonna play so I have to make those decisions before I’m able to tackle it.

References

Not a lot of new articles I used for this part. I mostly just went with my gut. I do, however, want to share a bit of how I’ve using Tiled to help debug and create rooms in a generated dungeon.

I used the world feature in Tiled to generate a json file for any generated template. This allowed me to open multiple rooms in a single window and work on real generated maps.

Tiled with multiple map files

What’s next?

I’m planning to work on figuring this out. I want to write up a plan for next steps and figure out how the first playable version of the game would look like.


Subscribe to my newsletter

Remember to subscribe to receive monthly updates about Clash Legacy!