• Register
Post news Report RSS Synthetic World: Roads and Dungeons

Hello and welcome back to our development blog. The topics today: Dungeon Generator, Road Generator, Plugin Support Improvements, Manual, LOD of the Meshes, 3 different Dungeon Template Editors, 60 fps our new goal, Faster World Generation, SDL2, Dungeon Name Generator

Posted by on

Hello and welcome back to our development blog. The topics today:

  • Dungeon generator
  • Road generator
  • Plugin support improvements
  • Manual
  • LOD of the meshes
  • 3 different dungeon template editors
  • 60 fps our new goal
  • Faster world generation
  • SDL2

Dungeon Generator

We worked very busy on the new dungeon generator. Here are some screenshots of a automatically generated dungeons:

Synthetic World: Roads and Dungeons

Synthetic World: Roads and Dungeons

The dungeons are generated in way that there is only one path to the finish room (with treasures). Aside from the main path there are small feature rooms which you can also explore too. We plan to include several types of dungeons depending on how much space there is on top of the landscape and in the underground.

A preview of a new generated dungeon

Making cities with the dungeon generator

We not only want to create dungeons with it, we also want to be able to create cities, settlement, castles and so. We have implemented half of the city generation algorithm.

Road Generator

  • First version is implemented
  • Creates a complete road network over the landscape
  • Creates also potential city positions
  • Fast A* Star Algorithm
  • The roads look really nice:

Synthetic World: Roads and Dungeons

Plugin Support Improvements

  • Exposed more classes to java
  • Added support for hooks
  • Added 50 new hooks
  • Own entity moduls can be made in Java (An entity in the game is composed out of moduls)

Manual

  • We started to write a manual in English for the current version
  • With description of all game elements
  • It already contains 400 pages (although most of them were automatically generated by the game)

LOD for the meshes

We finally found a good solution to create the level of detail meshes for our models. We are using Blender and then import it into the game.

This will allow us to place many NPCs into the game world!

3 different dungeon templates editors

For the dungeon generator we need templates (small building elements which then make up the complete dungeon). I wrote the first one, I didn’t like it. The second one was not really finished (but we are using it now as a dungeon previewer). And finally I created the third one, which allows the creation of dungeon templates in a 3D environment. I should have started with the third one at first. What a mess!

60 fps is our goal

And last but not least we want to achieve 60 fps in our game. We already did a lot of improvements. The main game loop is now independent of the voxel stuff. These things are now calculated in separate thread. This allowed us to already reach 60-70 frames when there is not much in the world. In a dense forest we have 30-40 fps. The bottleneck in the later case was the GPU not the CPU. The next step is now to improve the GPU speed.

Faster world generation

And we also increased the speed of the world generation algorithm. This was done by improving the source code, by adding a new memory manager and by speeding up the compression / uncompression algorithm. It is now nearly twice as fast.

Multiplayer

And we also worked on the multiplayer code. The first objects can now be transported over the network. And we made the final design for the multiplayer mode.

SDL2

As some of you had problems with the game under Windows 10 we switched to the newest version of SDL. This will improve the fullscreen support under Windows 10. And we will update to the newest version of the Bullet Physic Engine.

Dungeon Name Generator

And finally we made a cave name generator:

Synthetic World: Roads and Dungeons

What's next?

As I mention above I want to improve the GPU speed. I had some great ideas. Will test it in the next week.

Post comment Comments
Vladiskov
Vladiskov - - 384 comments

1.- How does the road choses where to go and were not to go? (tell us about the rules please <3, because it look like only the "do not build on water" rule is implemented by now OuO)

2.- Also, is great that the dungeons have names generated for them, as this system will then make naming cities and towns easy :D, but how the name chosen, is just a pool of words? or there are set of rules there?

3.- if the LOD for meshes coming from blender are a thing now, there are a way to create a mod using meshes from, for example, a fallout mod where the new models were done in blender? basically adding the mesh and them adding the funtionality modules in java?

Reply Good karma Bad karma+1 vote
Vladiskov
Vladiskov - - 384 comments

Also, minimun specs right now :D

Reply Good karma Bad karma+1 vote
bsf_mistau Author
bsf_mistau - - 76 comments

1. The algorithm tries to find a road with minimal overall gradient. That can't be seen in the overview map clearly, but it is really fun to walk on them.

2. The names are generated by a rule based system. So there are about 32000 different possible names. Will perhaps improve it further.

3. Of course. All new models are made with Blender and can be imported by using a simple xml script. The models can be included via Java or via our own visual programming language. We plan to make a tutorial on this when we created all parts of the plugin system.

4. The minimum specs: We try to reduce them as much as we can by creating a new voxel rendering system which will be much faster. Our goal is to reach 60fps on a 5-6 year old computer. When the new rendering system is finished I will post new minimum specs (for now we simply do not know).

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: