GSoC Week 4: Merges, Scores, and First Evaluation!
Posted on June 14th, 2018
This week was the first evaluation for Google Summer of Code! The process so far has definitely been one of learning, but it's also had some hiccups and frustrations along the way. It's been nice to be able to look back and see all of what has been done so far, and what's ahead of me.
This week I started working on the code for scoring, but it ended up being a bit more complicated than I initially thought. I set up a UI element for displaying the score, and have this text updated at the beginning of the game to display both the red and black team scores starting at 0.
scoreArea = find("scoreArea", UIText.class);
String scoreText = "Red Team: " + redScore + " " +
"Black Team: " + blackScore;
scoreArea.setText(String.format(scoreText));
I also set up changes in Light and Shadow and Light and Shadow Resources so that the bases that are generated place stones of a certain team affiliation, so that I can check if the player is on a base that belongs to their own team.
But now I've got a ScoreSystem that has the logic for when a player scores and checking if they have the enemy flag, then awarding a point, as well as a UI to display the player's score, but I'm still struggling a bit to get them to communicate with one another so that I can create and update a global score, and have it sync across multiplayer. I thought maybe setting up score as a component would make it easier to access and use those variables but I'm still a bit confused as to how to structure the UI / entity / system / component elements of the equation, and what exactly the entity for the score would look like.
On the plus side, my PRs for last week have been merged after I fixed some styling mistakes, and the develop and master branches in LightAndShadow have been merged, making development now off of the master branch and thankfully with everything seemingly in working order.
Scoreboard is in place
I'm hoping that tomorrow's meeting will help me to better clarify how to finish up this scoring code effectively, and that I can start strongly into next week with some of the beginning code for guns and raycasting. Last week has also taught me to push code early and often, so I'm going to try to get more frequent iterations and PRs set up in the future.
This week's PRs:
LAS Score system and UI: https://github.com/Terasology/LightAndShadow/pull/67
LASR Base elements: https://github.com/Terasology/LightAndShadow/pull/67