It is just a beginning

GSoC Wrap Up

This post serves as a central reference for all the work done during an highly eventful summer, to say the least. It has been a wonderful experience, as it involved working on an exciting gameplay scenario development and at the same time helped me learn a lot about how to write quality code when dealing with a deadline and also that “upgradation” is not really a word :D.
This post consists of links to all PRs opened and the work done during the summer. There have been a total of about 15000 lines of code across multiple modules and the engine of the game. Not surprisingly this boosted my github stats to a whole new level.

Final Product

The final result of my 3 month contribution is a brand new gameplay scenario called the Master Of Oreon. This takes you to another world where you control creatures called the Oreons. There are three types of Oreons, the King, Guard and the Builder. The player can them work on tasks like building new structures, guarding the storage, planting crops, harvesting those crops etc. All this work makes the Oreons lose health and develop hunger, now to replenish this health and satisfy their hunger the Oreons have to visit a Diner and Hospital. The Oreons can also train a myriad of attributes through various buildings like the Gym and Classroom, which they subtly request for if not present in the village. The player also needs to collect resources and put them into chests of buildings which requre them. For eg: the Diner requires a Cookie Crop block to be present in its chest in order to serve an Oreon. The player can also drop blocks inside the Storage building which adds them to the storage chest. This helps in the case where a missing block for a task can be fetched by the Oreons automagically and subsequently perform the original task. A minimal viable product (MVP) was finished over the summer. The module currently consists of three buildings – Diner, Laboratory and Storage – and one of them can be upgraded; and there is a single type of resource and a single Research recipe. However, adding new content is a simple matter of defining a prefab file for the Books with a research recipe or defining a StructureTemplate for a new building.

Relevant resources

  • List of PRs opened

    Here is a link to a list of PRs opened during the GSoC work period.

+ Click here for the individual PRs opened
MOO PRs
Engine PRs
Other Repositories

Future Prospects

The current implementation has some issues related to replicating the queue of available tasks over the multiplayer network and similar serialization/deserilization quirks like invisible Oreons when starting a saved game. As mentioned earlier the module currently also lacks some playable and interesting content like new types of tasks, resources to collect, buildings to construct, more upgraded versions of all buildings etc.

Acknowledgements

I would like to thank all my mentors especially Mike ‘mkienenb’ Kienenberger, Rasmus ‘cervator’ Praestholm and Aresh ‘vampcat’ Mishra for consistently reviewing and testing the PRs throughout the summer and pointing out how things should be done when working with a large codebase. I am looking forward to sticking around with this welcoming and helpful org post GSoC and contribute to the game overall especially polishing MOO’s gameplay experience further.