Posted on August 7th, 2018
Final Project Report: Google Summer of Code
Project page: https://summerofcode.withgoogle.com/dashboard/project/5117145273335808/details/
Project board: https://github.com/orgs/Terasology/projects/11
Blog posts: http://dacharya64.postach.io/tag/google-summer-of-code
Github Repositories:
Light And Shadow: https://github.com/Terasology/LightAndShadow -- The main module for the GSoC project
Light And Shadow Resources: https://github.com/Terasology/LightAndShadowResources -- Art resources for...
Posted on August 2nd, 2018
It's hard to believe that Google Summer of Code is almost over!
This week I focused mainly on getting the particle effects for when the player is holding the flag working across multiplayer, so that the host and any joined clients were in sync. One of the problems with the code is that the adding and removing of the particle effects happened in a lot of different places--when the player was attacked, when the player pressed `E` to pick up a flag, etc. I got rid of this redundancy by just hav...
Posted on July 19th, 2018
It's in the last couple of weeks for Google Summer of Code!
This week I worked on improvements for adding and removing particles, and character skinning for players.
For the particle system, I now handle cases where the player drops the flag through placing it into the world, by checking for it in the onInventorySlotChanged event:
// Checks if player puts down flagitem = event.getOldItem();if (itemIsFlag(item)) { removeParticleEmitterFromPlayer(player); player.removeComponent(HasFl...
Posted on July 18th, 2018
It's 9 weeks into Google Summer of Code and things are progressing!
This week I worked on some different additions to the Capture the Flag gameplay. First off, I fixed the problem I was having last week with held items not having the right components for checks--specifically, not being able to search for if a flag has a BlackFlagComponent, for instance, if I am trying to see if it is a black flag. I found out that adding@AddToBlockBasedItemto a given component would allow that component to b...
Posted on July 12th, 2018
Another week has passed for Google Summer of Code, and more work has progressed!
This week I've largely been working on changes to last week's code based on suggestions for refactoring, and adding in components to help with various checks and code clarity. I've gone through much of the code for the AttackSystem and ScoreSystem to make it more understandable, and to add some needed null hardening.
One of the biggest stumbling blocks for this week, though, has been an issue of detecting comp...
Posted on July 4th, 2018
So far I've been working on getting the bare bones working for the main Capture the Flag gameplay. This week I worked on more improvements to this, to get the game into a more playable state.
Firstly, I focused to improvements for having players drop and pick up the flag. Before, when a player tagged another, the other player would only drop the flag they had if it was being held. I instead search through the player's inventory to see if there is a flag in there, and if so, it is dropped.
...
Posted on June 28th, 2018
This week I've been focusing on some of the fundamental code for the Capture the Flag game mode--getting combat mechanics working between players. It's important for players to be able to interact with one another, and this code (and the mechanics they entail) will be important to how people play and enjoy the game.
The main idea behind the PvP is that players can use a weapon to tag other players, causing them to drop their flag if it is being held.
To begin, I created a new weapon for t...
Posted on June 21st, 2018
After trials and tribulations this week, I've gotten the score system working! I had started some of the base code for the score system last week, but didn't realize how much more time it would take to puzzle the whole thing out. I changes up the base rasterizer and prefabs so that each of the base blocks have a team faction attached to them. I also added a component to them that allows them to be activated, and so that when they are activated they trigger a check to see if the activator (pla...
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 beg...
Posted on June 7th, 2018
Week 3 of Google Summer of Code is done! This week I focused on continuing the faction code, making it so that players could choose their team (red or black) at the start of the game and, upon selection, get teleported to their team's base.
I'd already started some of the faction code last week, though due to the fact that I had some odd issues with my workspace I wasn't able to get this fully completed and tested. Once I started trying to work out my new code, I realized things weren't goi...
Posted on June 7th, 2018
Week 3 of Google Summer of Code is done! This week I focused on continuing the faction code, making it so that players could choose their team (red or black) at the start of the game and, upon selection, get teleported to their team's base.
I'd already started some of the faction code last week, though due to the fact that I had some odd issues with my workspace I wasn't able to get this fully completed and tested. Once I started trying to work out my new code, I realized things weren't goi...
Posted on May 31st, 2018
It's week 2 of Google Summer of Code! This meant taking the next step in the project--working on implementing factions.
The idea of factions is simple--the player will choose a team to be on, red or black, and depending on their current faction they will be able to interact with the world in different ways. For instance, a player cannot pick up their team's flag when the flag is at the base.
To begin, I worked on tracking the player's own faction. Thankfully, some of the existing code in ...
Posted on May 23rd, 2018
Summer break has begun, and with it, Google Summer of Code! I'm fortunate to be working on Terasology creating a new capture the flag gamemode in the module Light and Shadow.
For those learning to learn more about the project in general and check out the estimated timeline for the project, you can check out the proposal here: https://docs.google.com/document/d/1jCgZtg78jGBTu3KNzxFbrDIJ0beEWK-dzr-53P_JN5o/edit?usp=sharing
This week has been dedicated to learning the feel of the code and maki...