GSoC Week 9-10: Prestige

Written on August 6, 2019

My college started and Professor gave some urgent work for my Master’s Thesis. Hence, I got really busy with that and wasn’t able to contribute much for Gsoc work. However, with that sorted now, let’s complete LightAndShadow!

Minimap Integration

There is a minimap module already in place for Terasology. However, it lacks multiplayer support. I wanted to integrate minimap in Light and Shadow, so I worked on modifying its functionality for multiplayer.
Minimap module has updates the map at each default update call. I could have simply scanned for other players through entityManager.getEntitiesWith(AliveCharacterComponent.class) here but the call has impact on performance as it iterates over entire entity pool. Hence, I am storing a HashSet of entities with AliveCharacterComponent and updating it whenever a player dies and whenever a player spawns or respawns. Iterating over this HashSet is quite fast and works like a charm!

PR: Implement multiplayer support for minimap #10

Towers

I added AlterationEffects and TargetingSystem for Towers. I added a PlayerManager System to store and update HashSet of entities with AliveCharacterComponent to search for targets. This way all targets can use the same list instead of search for players again and again. For all players in the range, I add an DamageOverTime alteration effect. More effects can be added latter. The new commits have been added to the previous PR.

PR: Basic Implementation for Towers #1

What’s Next?

I am currently working on loading a custom list to be displayed in Market place. I plan to complete it and Weapons this week.