GSoC 2019 - Terasology Launcher 4.0

raj

New Member
Summary:
Terasology uses a desktop launcher to help users manage different game versions and tweak additional settings. This project proposes to enhance the launcher for its upcoming iteration and to embed a runtime, to provide a hassle-free experience for end users.

Mentors: skaldarnar, eviltak, cervator, arpitkamboj, llvieira
Student: raj
Github: https://github.com/orgs/MovingBlocks/projects/18
Trello: https://trello.com/c/EkfSScjw
Slack / Discord: #launcher
Blog: Ovenbyte/GSoC
Proposal: Open in Docs

All weekly status updates for the project will be posted in this thread.
 

raj

New Member
Week 1 updates
May 27 - June 2

What I achieved this week
Most of the time was spent learning more about and experimenting with the launcher's architecture as well as laying out plans for the upcoming Server Manager.
  • Got acquainted with Swagger and websockets
  • Created the base layout for the new UI
What I'm currently working on
  • Writing dedicated Controller classes for the new UI
  • Implementing a basic server manager
What problems I'm currently facing
Nothing yet

Anything blocking me from making progress
Nothing yet

List of PRs and issues
Topics discussed in the weekly meeting
  • Properly managing the GitHub board
  • Using Swagger to generate client SDK
Blog post
GSoC 2019: Week 1 updates
 
Last edited:

raj

New Member
Week 2 updates
June 3 - June 9

What I achieved this week
  • Prepared Gradle task to generate web API client code
  • Replaced the old UI code with new
What I'm currently working on
  • Planning the architecture for the Server Manager
  • Implementing the Game Manager
What problems I'm currently facing
Due to the lack of sufficient experience in multiplayer game architectures and networked apps, I'm having problems deciding how to properly implement the Server Manager, which essentially monitors multiplayer gaming.

Anything blocking me from making progress
The confusion regarding the architecture and plans for properly implementing the Server Manager.

List of PRs and issues
Topics discussed in the weekly meeting
  • Fixed minor Gradle issues on client code generation
  • Server manager designs
  • Plans for upgrading Gradle version
  • Internationalization for the upcoming launcher
Blog post
GSoC 2019: Week 2 updates
 

raj

New Member
Week 3 updates
June 10 - June 16

What I achieved this week
  • Designed the new Settings UI and made it default
  • Connected the old settings API to port all functionalities
What I'm currently working on
  • Checking availability of Jenkins during launcher initialization
  • Replacing the main launcher UI with the new one
What problems I'm currently facing
Nothing yet

Anything blocking me from making progress
Nothing yet

List of PRs and issues
Topics discussed in the weekly meeting
  • Correctly breaking down chunks of code into separate PRs
  • Reverted some of the complicated code
  • Future plans regarding the launcher
Blog post
GSoC 2019: Week 3 updates
 

raj

New Member
Week 4 updates
June 17 - June 23

What I achieved this week
  • Gradle now bundles a JRE with the launcher packages
  • Running game using the bundled JRE
  • Checking Jenkins availability during initialization and skiping launcher updates if not
What I'm currently working on
  • Moving the JRE bundling tasks into a dedicated GitHub repo
  • Gradle task for shrinking the JRE size by removing unused java packages
  • Making splash screen optional
What problems I'm currently facing
Nothing yet

Anything blocking me from making progress
Nothing yet

List of PRs and issues
Topics discussed in the weekly meeting
  • Upgrading Gradle to version 5.4.1
  • Jenkins pushing the Terasology zips into Artifactory or GitHub's package repo
  • Separation of JRE-bundling code from Launcher's repo
  • Downloading, caching and shrinking of the JRE by new Jenkins
  • Several cards got rearranged
Blog post
GSoC 2019: Week 4 updates
 
Top