Banner

GSOC 2020 - An Overview

Posted by Niruandaleth, Skaldarnar on May 30, 2020

This year is the 5th year anniversary for Terasology participating in the Google Summer of Code (GSOC) 🎉 For the 5th year running we welcome students to become part of our community and join efforts with mentors and other contributors to make Terasology even more awesome!

But what is GSOC? It is a 3-month program sponsored by Google that motivates students from all over the world to join open-source organizations and thrive on real-world software development challenges. Organizations and students find and interact with each other directly and on a social and community-driven basis.

With a lot of stabilization and infrastructure work going on in the background, our GSOC students spent the month of May by getting familiar with the code base and bonding with the community. Now the last weekend of that period has started and things will get serious starting next monday, so it’s time to present the six students that join our efforts. They will be working on various topics, ranging from game content over user interface and experience to contributor education technology, a.k.a. helping new contributors finding what they look for in the chaos we call documentation 😅 🙈.

Without further ado, let’s jump right in - and a happy wooden GSOC anniversary!

Metal Renegades: Refining Gameplay

- by AndyTechGuy

What do you do when your gameplay needs further work? Right: you come back and do the work! We’re happy to welcome back AndyTechGuy, who after focusing on the initial technical implementation of the Metal Renegades gameplay last year, intends to refine the content and game experience this year.

Metal Renegades

The first objective will be to motivate the player to get active. The wild wild west is no bed of roses, so hunger, thirst and nightly dangers in the barren surroundings will have the player work hard to survive. This also brings us to the next point: giving Metal Renegades a better feel to it using discoverables outside the cities, improved NPC personality and making cities, surroundings and the interaction with them more realistic. Last but not least, the gameplay is currently highly affected by performance and NPC pathfinding issues, that the student will analyze and attempt to fix.

Biome-specific Content Enhancements for Terasology

- by ktksan

While exploring a world in Terasology, you can find a variety of biomes (with the respective module enabled of course), ranging from snow over plains and mountains to beaches and deserts. And while these biomes are nice to look at and a welcome change of scene, they currently don’t have much of an effect on the player.

Climate Effects

ktksan will introduce biome-specific content in the form of climate effects for both very cold and very hot biomes, that will induce obstacles such as hypothermia or heat strokes the player will succumb to and perish if they don’t find means to overcome them. To motivate players to take on the risk or put in the effort to craft equipment to counter the climate effects, special structures like an oasis or an igloo settlement with hidden treasures will be added to the respective biomes. Equipment like woolen clothes and water skins to keep warm or hydrated will be craftable by leveraging flora and fauna of other, more habitable biomes.

Genome Expansion

- by Vedant Shroff

You want to breed animals to maximize their genetic potential? Well, as we like to say: “We have a module for that!” Actually, that’s incorrect… we have two modules for that - which is a common situation (read: issue) to be honest 😅

Genome Expansion

In their GSOC project, Vedant Shroff intends to not only unify these two modules to be able to leverage the advantages of both, but also expand the genome aspect by integration the result with our modules for farming and edibles. This will allow players to also “breed” plants and immerse in the gameplay experience of crafting ideal food sources. May the genes be strong in these plants… ehh, plans.

Terasology Game Hud, Graphics Improvement & Gameplay Guide

- by Stefania Mak

As the bunch of mostly (technically and content-) focused developers that we are, we lacked an eye for user experience (UX) and appealing user interfaces (UI) for a long time. But no more, now that Stefania Mak joined us and plans to turn Terasology visuals topsy-turvy.

HUD overhaul

Terasology is largely perceived as a Minecraft clone and often we reduce our project to exactly that in our minds - but it is so much more. To dissolve this tight association with Minecraft, improve UI/UX and bring Terasology closer to a distinct identity and style, the student will focus on overhauling the game’s Head-up-Display (HUD) and menu screens.

Interactive Journey in Terasology Contributions

- by Pratham Sahasrabhojane

Contributing to an open source project is very rewarding, but in the beginning it is also hard and confusing. The more complex a project and its codebase and the more numerous the contribution possibilities, the more difficult it is to find a good starting point or resources for an easy immersion into the project.

Interactive Contributor Journey

Pratham Sahasrabhojane plans to change that by providing an interactive journey for (new) contributors to get information and directions to possible contribution paths corresponding to their ambitions. Through a dialogue with the contributor, the resulting app shall point them to documentation and tutorials to get familiar with the aspects of Terasology in their area of interest.

Converting “Destination: Sol” systems to use ECS

- by Isaac lichter

We’re very happy to also have a GSOC project this year that targets Destination: Sol (DestSol), the arcade space shooter maintained by The Terasology Foundation. In 2015, The Terasology Foundation (at that time “MovingBlocks”) offered infrastructure and maintenance to original author Milosh Petrov. Since then, there have been many contributions to DestSol, but it never made use of the foundation’s Gestalt library - until now.

DestSol

Isaac lichter will incorporate the Entity-Component-System (ECS) provided by Gestalt by refactoring central aspects of the game. To enable other contributors to join the efforts of porting the whole game to ECS, the student will furthermore write a portation guide on how to integrate with Gestalt’s ECS.


The way students report their progress is determined by the student and their mentors. There is no policy applying to all participants, that’s why you might find blogs, forum reports for others, or only technical discussion and documentation for one or another student. We encourage this diversity and are always excited about the format of project documentation.

The project summaries and descriptions are partly taken from the student’s proposals.