GSOC 2018 - Multiple Worlds

Sarthak Khandelwal

New Member
Contributor
#1
This thread is primarily posting blog posts resulting from my GSoC Project.

Summary: Project to add multiple worlds to the game and enable teleportation between two worlds. With Sector’s proof of concept done and ready, this project will serve to prove the concept of multiple worlds and efficient entity pool splitting.
Student: Sarthak Khandelwal
Mentors: @msteiger @Cervator @Nihal Singh @vampcat
Github: https://github.com/orgs/MovingBlocks/projects/15
Slack: @theflash98, #worldgen
Blog: https://theflash98.github.io/
Meetings: Wednesdays, 1900 (IST), 0930 (EDT) 2230 (JST) , 1530 (CEST)
The proposal can be found here.
 
Last edited:

Sarthak Khandelwal

New Member
Contributor
#2
  • What have you achieved in the last week?
I started off the week with investigating all the various exit points in the game and documenting them in a single place. The documentation of the exit points can be found here as a comment on the related issue. The latter half of this week was spent majorly in investigating a bug which has long existed in Terasology. It’s the crash of the `SelectModulesScreen` when opened after opening the `PreviewWorldScreen`. We narrowed down that it is caused due to the environment change present in the preview world screen. Especially these few lines Especially line 225-229.

  • What are you currently working on?
The next two week would focus on re-working the create game UIs and the various phases involved in the process. Here is a nice diagram of what’s coming.

  • What problems are you currently facing?
None, just a crash site which won't get fixed. :p

  • Is anything blocking you from making progress?
Nope. :)

Here my blog post for the week: https://theflash98.github.io/main/2018/05/20/GSoC-Week-1-The-Crash-Site.html
 
Last edited:

Sarthak Khandelwal

New Member
Contributor
#3
Update for week 2, May 27, 2018

What have you achieved in the last week?
Finished the UI for the newcreate game flow.
What are you currently working on?
The backend of the entire UI flow which would serve as a scaffold for future multi-world stuff.
What problems are you currently facing?
I've posted a few questions on slack. @Cervator and @Nihal Singh would answer soon, so nothing to worry about. :)
Is anything blocking you from making progress?
Nope
List of PRs and opened/closed Issues
https://github.com/MovingBlocks/Terasology/pull/3367
https://github.com/MovingBlocks/Terasology/pull/3370
https://github.com/MovingBlocks/Terasology/pull/3372
Something else
Youtube video of work done:

Blog post: https://theflash98.github.io/main/2018/05/27/GSoC-Week-2-UI-UI-UI-and-UI.html
 
Last edited:

Sarthak Khandelwal

New Member
Contributor
#4
What have you achieved in the last week?
Almost finished the backend of the new create game flow.
What are you currently working on?
There is a crash when any world with HeightMap as a generator is added. I'll try fixing it real soon.
What problems are you currently facing?
None the mentors can't solve.
Is anything blocking you from making progress?
Nope
List of PRs and opened/closed Issues
https://github.com/MovingBlocks/Terasology/pull/3383
https://github.com/MovingBlocks/Terasology/pull/3377
Something else
Youtube video of work done:

Blog post: https://theflash98.github.io/main/2018/06/09/GSoC-Week-3-4-Terrible-Environment.html
 
Last edited:

Sarthak Khandelwal

New Member
Contributor
#5
What have you achieved in the last week?
Some bug fixes in the create game flow + investigation about the making pools for worlds.
What are you currently working on?
Currently investigating how a game is started, entities are loaded, how a sector works.
What problems are you currently facing?
None the mentors can't solve.
Is anything blocking you from making progress?
Nope
List of PRs and opened/closed Issues
https://github.com/MovingBlocks/Terasology/pull/3383
Something else
Here my blog post for the week: https://theflash98.github.io/main/2018/06/16/GSoC-Week-5-Are-you-watching-closely.html
 
Last edited:

Sarthak Khandelwal

New Member
Contributor
#6
What have you achieved in the last week?
Extensive research on how to make and handle pools + starting with making different pools for each world.
What are you currently working on?
Currently investigating how a game is started, entities are loaded, how a sector works.
What problems are you currently facing?
None the mentors can't solve.
Is anything blocking you from making progress?
Nope
List of PRs and opened/closed Issues
None
Something else
Here my blog post for the week: https://theflash98.github.io/main/2018/06/24/GSoC-Week-6-Digging-up.html
 

Sarthak Khandelwal

New Member
Contributor
#7
What have you achieved in the last week?
Made different pools for different worlds. The pool of the target world is filled with all the entities.
What are you currently working on?
Handling different pools and interactions between them.
What problems are you currently facing?
None the mentors can't solve.
Is anything blocking you from making progress?
Nope
List of PRs and opened/closed Issues
https://github.com/MovingBlocks/Terasology/pull/3417
Something else
Here my blog post for the week: https://theflash98.github.io/main/2018/07/03/GSoC-Week-7-Dive-In-The-Pool.html
 

Sarthak Khandelwal

New Member
Contributor
#8
What have you achieved in the last week?
Made a few commands to play with the multiple pool setup.
What are you currently working on?
Writing a unit test to test if a message is sent and received.
What problems are you currently facing?
None the mentors can't solve.
Is anything blocking you from making progress?
Nope
List of PRs and opened/closed Issues
https://github.com/Terasology/ModuleTestingEnvironment/pull/6
Something else
https://theflash98.github.io/main/2018/07/11/GSoC-Week-8-Roger-That-!.html