Project Categories

Project Setting Personal
Team Size 1
Role(s) Creator / Developer
Languages C#
Software/Tools Used Unity (engine), Atom (code), GIMP (texturing), Blender (modeling - new), SketchUp Make (modeling - old), LMMS (music/sound)
Status Late beta, indefinite hiatus

About

Unknown Entity takes place on the Reservatarians' lunar bases on Om-4 B. They had peacefully used it for scientific research of the resources located on the moon, generating an atmosphere, and other topics of focus. Until now...
The bases have been taken over by strange, bio-mechanical race of beings that they are dubbing as 'entities'. The planet has lost contact with the moon and has no idea what is happening. You are the main protagonist – an UPAESI chief maintenance officer who usually works around to help develop advancements for astro-technology. You have no idea what is going on either. You lose contact with your team and must investigate alone the cause of the bases' sudden silence, and eliminate the threat you find before nearly 70 years of lunar progress is lost...

Description from the official game page

Unknown Entity is a sci-fi first-person shooter featuring open-world-like lunar bases, hostile swarm-like AI, 2 player weapons, and 20 playable levels. UE was my first large-scale, long-term project. The project itself dates back to when I first became interested in game design, though the original project this came from was lost in a computer corruption back in 2015. It was re-made with a single location in mind that changes over time, then transformed with a complete rebuild again in 2017 (and abandonment of mixing JavaScript and C# together). UE was technically never finished - I initially put on hiatus due to starting university and not having the computer to work on it, then never came back to it due to its age (especially in that its code came before I had a cohesive knowledge of object-oriented programming). Unknown Entity is nonetheless a good example of where I started from and an example of what I could do even without a formal education in the field. I wrote a document about what I'd change if I were to come back to the project again with the time to largely refactor the code here.

My Work

Modeling

  • Structures / buildings and interior equipment / decoration
  • Weapons (rifle, pistol) and pickups (shield, health, stamina, ammo)
  • Entities (primary enemy in the game)

UI

  • World-based menus (utilizing screens on computer models present in-game) with animated camera movements between menus
  • Animated HUD that reacts to player movement (falling, running, walking, idle)
  • Minimap system with building outlines relevant to buildings in the corresponding level and icons relevant to pickups, entities, the player, and repair objectives
  • Sprite creation for buttons, sliders, and HUD

Graphics

  • Edit/repurpose existing textures from sources such as Textures.com to fit in the game
  • Textures using plugins such as noise in GIMP to suppliment externally sourced textures
  • Materials and normal maps using various shaders to achieve desired effects

Sound

  • Composed soundtrack with 1 track per planned level + others such as intro and menu tracks (36 total / ~2h 36min)
  • Edit/layer existing soundsfrom sources such as Freesound with own sounds made using various VST plugins to fit in the game
  • Utilize sound mixers, sound importing properties, and volume control to achieve properly mixed and optimized audio in-game
  • Implemented crossfading and randomizing music system to smoothly transition tracks between scenes and continously play music in-game

Code

  • Simple swarm-based AI that scales with difficulty and progression
  • Player stats manager handling stamina (depletes while running, recharges when not), shield, and health (depletes only when shield is gone)
  • Status effects that do iterative damage to the player
  • Level manager that keeps track of objectives related to entities and repair-objectives
  • Hover vehicle manager that handles shield/health and lighting for "buggy" (hovering player-operable vehicle)
  • Fully functional save system that keeps track of store upgrades, settings/preferences, and level progression
  • Minor systems that optimize the environment such as a chunking system for entities closer together (and disabling them when they are far away) and code optimizing distant lighting

Level Design

  • Hand-crafted terrain
  • Prefab-based buildings to give sense of cohesiveness and sense of overall setting between levels (which take place on 9 bases)
  • 3 stages that mark difference between the levels that take place per base (environmental effects such as alarms, fires, etc.)
  • Strategic placement of entities around locations that player is bound to encounter (e.g. for pickups, repair objectives)
  • Utilized mix of darkness (night-time) and sterile lighting to fit story involving lunar bases

Gameplay

  • Experience-based system that allows for upgrades that deal with weapon damage and player stats
  • Pickups in game to balance gameplay in tougher levels and ensure movement around a level
  • Simplistic controls (primarily 4-directional movement, sprinting modifier, jumping and interaction) to allow for focus on gameplay
  • Cutscenes that introduce the player to a scene (giving clues to entity density, locations, etc.) in a smoother way than jumping directly into a level

Samples

These are some screenshots, videos, and code snippets that come from the game. Note that these come from different stages of its development (noted in captions)

Videos

Screenshots

Code

Places

Home Page Goldenwere
IndieDB Game Page
Source Code GitHub Repo