GSoC Week 5: A Quiet Place

Written on June 30, 2019

Past week has been rather dull or quiet as I would like to put it. My mentors were busy with their exams and I was caught up in some work too. Hence, the progress has slowed down a little bit. I will surely make up for the lost time next week!

Visual Entity Test

So my fix for visual entity engine caused the builds to fail in next few prs. Some inspection showed that a unit test regarding the same was failing. However, it was working perfectly for the wrong code. Important lesson learnt: Unit Tests are as good only if you write them correctly!

PR: VisualCharacterSystemTest Fix and Whitelist PermissionManager #3695

Restart Permission

As you noticed above, I also sneaked in a tiny feature to whitelist the Permission manager. Now, it can be used by modules to add custom permissions. Hours of work saved which I would have spent on creating such a system on my own! Coding does go hand in hand with reusability. I changed the systems in Light and Shadow to now use permission manager.

PR: Restart permission #97

Global Entity

One major issue that I was facing was that the scores for each team weren’t getting stored. They were variables in Systems and hence not persistant. Terasology engine stores only entities and components. So after some discussion with my mentor, it was decided to create a global entity, to store all such common variables which we want to save and load.


I went through another module Gooey Defence’s code. It was a good starting point as it has some good implementation of modular towers. Now, the aim is to extract out these towers into a new module, so that both Gooey Defence and Light and Shadow can use it for their use cases.

What’s Next?

Complete the global entity thingy and Towers!