Progress Update 6

I’ve mainly doing core engine work, putting in time to lay decent groundwork for features in the future.

Entity Component System
I’ve started building an ECS, specifically to manage the large amount of game units. The technical design of the game units would indeed fit in a deep class hierarchy, however I don’t believe this system will give me the flexibility or speed that I need. I took a glance at different c++ ECS libraries like EntityX, but none seem to be in active development so thats why I’m rolling my own.

Construction Grid
When the player hovers over the landscape in construction mode a grid indicating the underlying tiles now shows. This is simply done in shader.


Construction grid covering the whole landscape


A grid surrounds the players mouse

Started experimenting with Polyvox, a c++ voxel libary. For sake of dev time, I would much rather use an established lib than roll my own solution. Thinking of using this for storing and meshing the user constructed buildings that sit upon the terrain.


Voxel sphere in a 128×128 chunk

LOD Texturing and Ocean Texturing
When zoomed out the engine is displaying the lowest LOD world map, previously you would only see a flat green across the whole landscape. Now the system generates a texture that shows the different tile types and changes in biome (Currently only the  grass/sand) and places it on the mesh. The texture is generated at the start of the game so is not dynamic yet. Later I will implement a system to make it possible to update the texture mid game, to show the change in seasons for example.


Areas inland which are below sea level currently get treated as ocean, will be fixed later.

There is also a similar technique for the ocean, at the start of game a texture is generated from the height map data. I then plug this into the ocean shader to create lighter values near the landmass.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s