GSoC Week 9-10: Prestige
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.