top of page

Graduation project

Project length: 10  weeks

Engine: Unity

Genre: turn based combat

Platform: PC

Team size: solo project 

Research tree

The research tree uses child classes that inherente from the main research node script where most of information is. The only thing that is child classes has in them is the logic of what is suppose to happend when that node is research and unlock the new nodes that become avaleble 

Save system

The save system uses Json to convert a struct that contains the information that the game needs to save like what buildings have been built and where they are, what units you have, if you saved in combat or not and more. 

​

The player can load the latest save file in the Main menu by pressing the load button and when the player does that it using Unity Events to send a function call to all scripts that needs to load information from the save file  

Takeaways 

First big solo project : 

This was the first big solo project I have worked on and it gave me a lot of experience in making games solo.​

​

Save System : 

The save system I made for this projects was the system I hade to most challenges with. One of the biggest challenge's I hade was making so you could save the game when you are in combat and the challenge with that was that I hade to come up with a way to save the level layout (the game uses procedural generated maps for combat), what units you selected, the locations of all the units and there stats and the turn order of the units without using the gameobjects variable because the save system cant use gameobjects.​​​​

Aboute the project

This game was created for my graduation project where the title is Implementing parallel gameplay systems from XCOM 2. During this project i analyzed and tried to replicate gameplay systems from XCOM 2 a close as possible and then implement them into my turn based combat game.

​

The gameplay systems that i decided to replicate are the base building, unit classes / unit Selection, research tree and the save system

Base building

The base building system I made for this project is the only gameplay system that was slightly modified so it doesn't act exactly as the building system in XCOM 2. 

​

The difference between my building system and XCOM's building system is that in my game you have to select what building you wanted to by entering build mode and then selecting what building tile you wanted to place the building on. While XCOMs works the other way around that you select the build tile first and then what building you wanted to build there.

​

Why I decided to slightly modify how the building system works is that during the time when i made the building system i didn't know a way to find what building tile the player was hovering over except doing a raicast toward the curser position and then getting the closest tile. I didn't want it to run all the time when you are in your base so i decided to make it so that only happens when you enter build mode

Unit classes / Unit selection

Unit classes

The Unit classes in this project uses child classes of the original unit script that i used before making the classes for the units.

​

Each class a unit can be have there own unique action that they can do in combat. 

​

The action selection system for all the classes works in the same way for all the classes, each class inherits from a interface that has all the functions declared for selectin you action. The action selection system is setup by in each class all the actions that class can do is bound to a number on you keyboard and when you press that number you start performing that action.

Unit selection

The unit selection systems is used so the player can select what units they bring into combat.

​

The unit selection system uses the list of all the units you have available and then creates a button for each of them and adds that button to a List of buttons and when you press one of the buttons that unit is placed in the list for the selected units and if you press that button again that unit is removed from the selected units list.

 

when you press the enter combat button you bring all the unit in the selected units list with you into combat (you need to have at leased one unit  selected to be able to press the enter combat button)​​

bottom of page