Updates Josharias Survival: Animal Interaction Improvements

meetcshah19

New Member
GSOC/TSOC 2020
Project progress and details: Trello
Project Proposal: Proposal

Overview:
The project is aimed at implementing a sheep shearing system in Josharias Survival and animal interaction improvements in Terasology. Currently, the only way to obtain wool in-game is by killing a sheep. A Sheep shearing mechanism will help the player obtain the wool item in-game. Apart from this various interaction elements such as flocking and luring animals will be introduced. These improvements are supposed to aid the player in the survival aspect of the game. Currently, animal spawning only works upon chunk loading. This will be improved by creating a new spawning mechanism for animals which will allow spawning during runtime of the game. These improvements will benefit all gameplay modes in Terasology.
 

meetcshah19

New Member
GSOC/TSOC 2020
Current project progress (PR):
  • Implemented an initial sheep shearing system.
  • A ShearableSheepComponent is attached as soon as a sheep is spawned (AnimalSpawnEvent).
  • ShearableSheepComponent stores number of hits/clicks on the sheep, whether it is sheared or not and the last shearing time.
  • Once a sheep is sheared, hair regrowth is triggered after a certain amount of time. This is checked periodically using delay manager.
 

meetcshah19

New Member
GSOC/TSOC 2020
Meeting discussion points:
  • General discussion on project progress tracking
  • Commit and push often
  • Figure out architecture of the shearing system and how general it needs to be
  • Figure out where the sheep shearing system should live (as in which module)
  • Implement model switch poc then think decide whether it needs to be made available to other modules and how
 

meetcshah19

New Member
GSOC/TSOC 2020
Meeting discussion points:
  • Improvements to particle effect
  • Discussion on DropItemEvent
  • Discussion on spawning module implementation
 

meetcshah19

New Member
GSOC/TSOC 2020
Current project progress
  • Completed review cycles for item drop and shearing system documentation.
  • Implemented better particle effects.
  • Improved sound asset played on shearing.
  • Implemented tests for switchPrefab() method.
  • Implemented assembly process for Crude Shears.
  • Fixed event priority bug in shearing system.
 

meetcshah19

New Member
GSOC/TSOC 2020
Meeting discussion points:
  • What further tests to implement.
  • Further discussion on spawning module.
  • Further discussion on particle effects.
 

meetcshah19

New Member
GSOC/TSOC 2020
Past discussion points:
  • Spawning system architecture discussion (Discord)
  • Finalizing initial spawning module details
  • Multiplayer bugs
  • How to find ground height? (Discord)
 
Last edited:

meetcshah19

New Member
GSOC/TSOC 2020
Progress on the project:
  • The Shearing system is complete and merged! (except crude shears tool assembly)
  • Implemented initial spawning module with random location, the time period between spawns, and time of day.
  • Fixed Multiplayer bugs in Shearing system ( PR (1) and PR (2) )
Further Discussion :
  • Exploring Spawner entities?
  • More clarity on finding ground height implementations.
  • Structure of features in spawning module.
 
Last edited:

meetcshah19

New Member
GSOC/TSOC 2020
Progress on the project :
  1. PR progress on Spawning module
  2. Multiplayer fixes merged
Further Discussion :
  • Exploring Spawner entities? and Structure of features in spawning module. ( @casals hasn't been available so we need to figure out how will we proceed with this).
  • Decide what to focus on, sheep-specific interaction improvements or Spawning module.
 

meetcshah19

New Member
GSOC/TSOC 2020
Animal interaction improvements for Josharias Survival

Final Report - GSoC 2020


In this post, I aim to summarize all of the work I have done during the past months in the GSoC coding period.

The aim of the project is to implement a sheep shearing system in Josharias Survival and animal interaction improvements in Terasology. The project scope can be divided into two major goals, namely, the sheep shearing system and Interaction improvements.

The sheep shearing system

The sheep shearing system adds a mechanism to Josharias Survival that allows a player to obtain wool by shearing sheep. The shearing can be shown in the following stages :

2730


The shearing also makes use of a new particle effect, sound asset, and crude shears tool. Once the whole system was in place, extensive documentation and unit tests were written to ensure better maintainability of code.

Relevant Pull Requests :
Animal Interaction Improvements

This portion consisted of implementing a new spawning module, sheep luring, and sheep flocking. Before the new implementation animal spawning only works when a new chunk is generated. This was improved to random spawning during runtime using a new module. Apart from this luring sheep was implemented using Behaviours. So now a player can lure sheep in a certain radius while holding fodder. This is a step forward towards making sheep rearing possible as a whole. Now, all we need is a way to flock sheep.

Relevant Pull Requests :
Tasks pending

The flocking of sheep is the only task pending and it requires fixing gates. Currently, it's in progress and will be completed soon.

My Experience

I had a great time working with @niruandaleth, @keturn, @casals, @Skaldarnar, and @ktksan. My mentors were really supportive throughout the journey and were very helpful! The whole community was very helpful and provided a lot of insights during my project. Our weekly meetings were regular and essential in helping me solve a lot of issues throughout the project. Thanks to the Terasology Foundation for such a great experience!
 
Last edited:
Top