GSoC 2018 - GooKeeper

l0ftyWhizZ

New Member
Contributor
#1
Hello everyone! :D

This forum post serves as the place wherein the major/minor updates, and other important discussions would be for the GooKeeper project.

Summary : GooKeeper is a new gameplay module, designed by SuperSnark, which is closely related to the game "Slime Rancher". Here, the player is left in the GooWorld, and he has to earn a living by catching different gooeys, and building a GooZoo! He can also make the gooeys mate with one another to produce new and interesting gooeys and nurture all of them. Attract more customers, earn more profit and then spend it on upgrading the equipments/zoo.
Mentors : mandarj, vampcat, josharias, arpan98, supersnark
Student : Shreyas Iyer (l0ftyWhizZ)
Slack : l0ftyWhizZ, #gookeeper
Trello : Project Board
GitHub : https://github.com/l0ftyWhizZ/GooKeeper
Blog : l0ftywhizz.wordpress.com
 

l0ftyWhizZ

New Member
Contributor
#2
Weekly Report May 7th - May 13th, 2018

What have you achieved in the last 2 weeks?
- An initial optimization has been done on the gooey spawning (insignificant and distant gooey entities get deleted)
- A new `PlazMasterComponent` and `PlazMasterAction` has been implemented with the basic functionalities required for stunning a gooey. (works on basic ray-casting, along with a primitive recoil system)
- New stun state implemented in Gooey BT.

What are you currently working on?

- Currently working on finishing the implementation of the PlazMaster and the required stun state changes in the Gooey BT.
- Also looking into efficient ways to render the plasma beams.

What problems are you currently facing?

- Not able to pick a particular renderer for rendering the plasma beam.

Is anything blocking you from making progress?

No.

List of PRs and opened/closed Issues

Nothing.

Something else (pictures of new content, code snippets, new wiki content, …)

Nothing.
 

l0ftyWhizZ

New Member
Contributor
#3
Weekly Report May 14th - May 20th, 2018

What have you achieved in the last 2 weeks?
- More improvements made on the PlazMasterComponent and PlazMasterAction, the gun functions semi-automatically.
- Added attributes 'stunTime' and 'stunChargesReq' to the 'GooeyComponent', which represents the time for which the particular gooey would be stunned and the number of plasma shots required to stun it, hence allowing an improved challenge to the player.
- Implemented 'SlimePodComponent' and 'SlimePodAction' (for capturing the gooey) and currently it functions as a bear trap, and upon activating the slime pod containing an entity it releases that entity.

What are you currently working on?

- Adding a poke-ball mechanic to the slime pod, and hence looking into Combat System for similar item reference. (Ex - spear)
- Also looking into efficient ways to render the plasma beams.
- Looking into implementing a primitive distance based culling for the entities for a performance boost.

What problems are you currently facing?
None.

Is anything blocking you from making progress?

No.

List of PRs and opened/closed Issues

Nothing.

Something else (pictures of new content, code snippets, new wiki content, …)

Nothing.
 

l0ftyWhizZ

New Member
Contributor
#4
Weekly Report May 21st - May 27th, 2018

What have you achieved in the last 2 weeks?

- Finished the plazmaster visualization, it now shoots plasma stubs and also added gun sound clip.
- Implemented the gooey's after-stun behavior in the gooey BT. (Whether it flees away, or turns hostile towards the player depending on its components)
- Finished the slime pod's implementation as a pokeball. Now the player is provided with a slime pod launcher which upon activation shoots out poke-ball like pods which would capture stunned gooeys in the close vicinity depending upon a probability derived from the gooey's type, distance of the pod from the gooey, etc.
- Implemented a 'cullDistantGooeys' function which removes the 'skeletalMeshComponent' and re-attaches it based on the distance from the player. (Gives a decent performance boost)

What are you currently working on?

- Working on adding the pick-up functionality for the slimepods when the player walks over one.
- Looking into the 'Hunger' module to reuse as many features for implementing the gooey hunger system.

What problems are you currently facing?

None.

Is anything blocking you from making progress?

No.

List of PRs and opened/closed Issues

Nothing.

Something else (pictures of new content, code snippets, new wiki content, …)

Nothing.
 

l0ftyWhizZ

New Member
Contributor
#5
Weekly Report May 28th - June 3rd, 2018

What have you achieved in the last 2 weeks?

- Finished implementing the slime pod pickup and throwing functionality. The player can release the captured gooey by activating the slime pod on the ground, or even if the pod is held.
- Looked in `StructureTemplates` module and created a basic GooZoo ST.
- Implemented a basic visitor prefab using the model from `HumanoidCharacters` module, and added a `stray` behavior to it.

What are you currently working on?

- Working on implementing the visitor spawning blocks, and exit blocks.
- Looking into the 'Hunger' module to reuse as many features for implementing the gooey hunger system.

What problems are you currently facing?

None.

Is anything blocking you from making progress?

No.

List of PRs and opened/closed Issues

Nothing.

Something else (pictures of new content, code snippets, new wiki content, …)

Nothing.
 
Last edited:

l0ftyWhizZ

New Member
Contributor
#6
Weekly Report June 4th -June 10th, 2018

What have you achieved in the last 2 weeks?

- Implemented a visitor spawning block using `Spawning` module (Spawns a visitor every 5 seconds)
- Added Fences to the GooZoo ST.
- Implemented basic gooey pen blocks (Used to house the captured gooeys), in such a way that a blue gooey should be housed only in a pen made up of blue pen blocks, and so on for other gooey types.

What are you currently working on?

- Testing the pen block functionality.
- Implement visit block.

What problems are you currently facing?

None.

Is anything blocking you from making progress?

No.

List of PRs and opened/closed Issues

Nothing.

Something else (pictures of new content, code snippets, new wiki content, …)

Nothing.
 
Last edited:

l0ftyWhizZ

New Member
Contributor
#7
Weekly Report June 11th -June 17th, 2018

What have you achieved in the last 2 weeks?

- Implemented `PenBlockComponent` which has a type for specifying the gooey type (Created a fence block version as well as a normal block version).
- Implemented `VisitorComponent`, `VisitorBlockComponent` and `VisitorSystem` wherein each visitor has a list of visit block entities to be followed (list gets populated based on a RNG number and the cutoff of the existing pens).
- `VisitorBlockComponent` has type and cutoff attribute which depends on the nearest pen (computed when the block is placed).
- Modified `visitor.behavior` to follow a path of visit blocks.
- Added `PlayerStartingInventorySystem` which gives all the required equipments and utility blocks.
- Modified GooZoo ST to house the newly created pens.

What are you currently working on?

- Currently, the visitor behavior is buggy, hence my main focus would be to fix it.
- With the basic zoo mechanics in place, next would be introducing gooey hunger system.

What problems are you currently facing?

- Visitor behavior is highly inconsistent while in-game, and I am currently not able to find a fix.

Is anything blocking you from making progress?

No.

List of PRs and opened/closed Issues

Nothing.

Something else (pictures of new content, code snippets, new wiki content, …)

Nothing.