Sign of life after the summer break


The last months I worked from time to time on the game. At the moment I rewrite the whole back end. Before this decision the node.js game server has more then 6000 lines of code in a couple of modules and it was very hard for me to implement new features. The server run stable with the actual code base and there are only some small bugs, but as I tried to implement an meal system, that the residents are hungry I failed with the big state machines.

So I learned a lot about entity component systems (ECS) and do some pre-tests how to handle the data in the back end. In the past everything was spaghetti code, functions and data where mixed in big classes and every object was handled in big array lists. Now I changed the system to an entity component system. Entities are stored in Map objects, what is much more efficient. Data and functions are separated in components and systems and the code is much more structured.

I also try some stuff with NPC enemies. This is not an easy task, because of the MMO aspect of the game. But I think with the new ECS it could also be handled.

My goal is to have the old features implemented in the new ECS till end of October. Then mid November is a big updated planned for a new client with user interaction, that the MMO aspect make more sense ;)

Here is a screenshot of island residents which are waiting to do something. This is the next task, to convert the old resident AI to the new ECS.

Island residents wait for there new AI

Get Shardcraft

Comments

Log in with itch.io to leave a comment.

The AI for the island residents are growing. The following flow chart show the logic to build a new building and also the normal operation for a crafting building like the lumberjack:

Part of island resident AI