Lightward

Bachelor Project

Duration: 5 Months (core development)

Engine: Unity Engine

Genre: Singleplayer turn-based tactics game

Lightward is the project of my bachelor thesis.

The academic title of my thesis was “Development of a turn-based rogue-like game based on the Unity engine with focus on tactical gameplay decisions”.

The project included the design of gameplay mechanics, their implementation in the game engine, as well as the creation of 3D models and UI elements. I worked on the game as a solo developer. The entire code was written by me. However, the game is based on the unity engine and utilizes its built-in functionality. I did not use additional asset packs or extensions.

The allocated time for the thesis was between October 3, 2022, and March 20, 2023. Afterward, I continued to work on the game as a side project.

The orange figures are the player’s units and the purple ones belong to the enemy


Gameplay

Lightward is a turn-based rogue-like. The player controls several units and uses them to defeat enemies.

Each unit can perform a set amount of actions per turn. There are three different actions:

  1. Move (to a different tile)
  2. Turn (in one of the 4 directions)
  3. Attack (enemy units)

Performing an action consumes one action point. Different units have different amounts of action points.

When done, performing actions, the player can hand the turn over to the enemies by pressing the “Next Turn” Button. All enemy units will then perform their actions.

Every Map contains special tiles with portals. At the end of the enemy turn, one enemy unit will spawn on each portal.

To win a fight the player has to occupy each portal tile with one of his units.


Controls

Each unit occupies one tile on a grid. Enemy units are purple and player units are orange.

Player units can be selected with a left click. This will highlight all tiles in green, where the unit can move to. A right-click on a green tile will move the unit on it.

Tiles with Enemy units that can be attacked by the selected unit will be highlighted in red. The red swords above the unit indicate the amount of damage, an attack would inflict. A right click on the tile with the enemy unit initiates the attack.

Units can be rotated in any direction using the keyboard. Q will rotate the selected unit 90 degrees to the left. E will rotate it 90 degrees to the right. Pressing C will rotate the unit around 180 degrees.


Unit UI

The blue tiles to the bottom left of the map display the selected units values. In the center of the unit UI


Star System Map

After starting a playthrough, the player is first presented with a star system containing multiple planets. Clicking on a planet will start a fight on that planet.

Planets need to be unlocked, to be selected for a fight. Unlocked planets are highlighted with a green ring. When the fight on a planet is won, the next planet is unlocked.

Additional planets are unlocked

The maps are generated based on the planets, on which they take place. Bigger planets generate larger maps. Planets have biomes that influence the color of the used tiles and their type. The biomes include steppe, jungle, ice, desert, and swamp planets.

A fight on a jungle map