A downloadable game for Windows, macOS, and Linux

Little RTS style tower defense game, ambiented in space. The game has been developed to learn new skills in game development.

LEARNED SKILLS, briefly:

  • RTS style camera controls.
  • Building mechanics, and object instantiation with point and click controls.
  • Time manager implementation
  • Text file read/write system implementation.
  • Basic Blender modelling skills.
  • Shader creation with shader graph.
  • Music and SFX creation.
  • Animation basics.
  • UI Tutorial creation with video, text and image integration.
  • Gameobject interaction and behaviour.
  • Typical RTS style/ turret defense style building mechanics (using and gaining resources, building, destroying and upgrading turrets).

LEARNED SKILLS, in detail:

  • RTS style camera controls: instead of a typical control scheme like moving the player around, attacking or blocking, one of the most interesting things to implement has been a RTS style controller.

By using the mouse, the player sees the scene form a top-view, and can control the movement of the camera by moving the mouse to the sides of the screen. They can also zoom in and out by using the mouse wheel.

  • Building mechanics, and object instantiation with point and click controls: Apart from that, point and click controls have have been implemented. The player can build anywhere by clicking the building areas, if they have no other nearby turrets. They can also destroy the turrets, or show a menu to upgrade them. All these controls, and also the UI can be controlled at the same time by using just the mouse, and this has been an interesting thing to learn. At the same time, some keyboard key controls are also available.
  • Time manager implementation: apart form the usual pause/resume menu, a more complex time manager has been implemented. The game can be paused/ resumed anytime, but time can also be accelerated or slowed. This is a really important mechanic for tower-defense style games, so the player can take decisions easily.
  • Text file read/write system implementation: To have a modular enemy-wave creator, a Text I/O system has been implemented, so levels can be saved and loaded as simple text files.  Even if a level creator is not integrated, it would be really easy to make a UI-based level creator for players, that generates text files that can later be loaded to play more levels. Also, it makes a really flexible system to prototype levels, because changing the values is extremely easy.
  • Basic Blender modelling skills: all the models have been created in blender, and the Unity's post-processing stack has been used to improve the game's visual style.
  • Shader creation with shader graph: by using shader graph, different shaders have been created to have more interesting materials, such as:
    • A "phantom" shader with transparency for previsualizing turrets before building.
    • Two "force-field" shaders which implement transparency and make use of shader graph's texture, time and UV editing nodes.
    • Two "shiny" mineral shaders, which use basic color and fresnel nodes.
  • Music and SFX creation: the music has been created in Reaper by using virtual instruments. SFX have been created with online tools.
  • Animation basics: enemies and turrets have been animated by combining both blender animations and in game scripted game object movement.
  • UI Tutorial creation with video, text and image integration: An initial tutorial has been created to show how to play by using text, images and videos.
  • Gameobject interaction and behaviour: 4 different turrets have been implemented, with different power and attack types, along with different material costs, and the system is quite modular so new turrets would be fairly easy to implement.

Moreover, 6 enemies have been created (land and flying enemies) with different life, speed and attack values. The system is also quite modular, so new enemies would be fairly easy to implement too.

  • Typical RTS style/ turret defense style building mechanics: A material system has been implemented. Resources are generated over time, and can be gathered by clicking on them, and also can be obtained from enemies. These resources can be later used to build or upgrade turrets.

Download

Download
Download for Linux 92 MB
Download
Download for Windows 75 MB
Download
Download for MacOS 84 MB

Install instructions

Linux:

  1. Extract the project files.
  2. Run the space_defender_linux.x86_64 executable.

Windows:

  1. Extract the project files.
  2. Run the TowerDefense.exe executable.

MacOS:

  1. Not sure, I have not been able to test anything on a Macintosh. :(

Leave a comment

Log in with itch.io to leave a comment.