Shared Lands
What is Shared Lands?
Shared Lands is a strategy game, borrowing some 4X concepts, in a 1 versus 1 online game taking place on a virtual board game. You play as the commander of one of the two asymmetrical factions, controlling your heroes on the battlefield and trying to handle the mighty Titan wrecking havoc on the map.
Context
This is my 5th and last year project at Rubika. We were 9 people, 3 game designers, 3 game programmers and 3 game artists working on this year long project and it was made on Unity in C#.
My work on Shared Lands
I was a full time system developer on this project. While the two other programmers were working on the tool for the map and the UI/UX, I worked on the implementation of the systems the game designers thought of.
My first challenge was to make the online part of the game work. I used Network for GameObject and Relay, two Unity services which are easy to setup and were enough for what we needed.
After that, my main job was to implement the economic system of the game. Because the two factions are asymmetrical, the economic part of the game had to be faction agnostic while being simple add onto it. This system is intricately tied to other systems, like the building system, the titan system, the environment system or the combat system, on which I worked as well.
While I was working on all of that, I also had the opportunity to work with the game design team on systems such as the combat system and the environment system. I also worked as a intermediate between the game design team and the programming team, giving feedback on new features, system reworks, prototyping new features and determining how easy the changes would be to make.
Experience feedback
This project was the longest I have worked on so far. Working full time on a project for the first time was a blessing and brought to light some of the difficulties that could appear on such a project. It was a blessing because I could take the time to do things the right way, putting together a robust architecture able to support the project throughout its development, iterating with the game design team and developing the features in cooperation with the other programmers.