Project Categories

Project Setting Personal
Team Size 1
Role(s) Creator / Developer
Languages C#
Software/Tools Used Unity (engine), Visual Studio (code), Inkscape (texturing), LMMS (music/sound)
Status Early Alpha, active development

About

MinimalMiner is a 2D shoot-em-up game currently based off of the Atari classic Asteroids that will eventually shift toward a multi-mode mining game. The game started as a minor academic project and evolved beyond the scope of what was completed for the project. The project was enjoyable, and there were a lot of ideas that were had both during and after working on the project that were beyond the scope of was a 2-3 day (2-3 hours per day) project (essentially game-jam-esque level of scope). The game is of a highly minimal theme by default but has the potential to expand beyond this with theme mods. As the game is still very early in its progress, much of what is on this page will be expanded upon soon.

My Work

UI/Graphics

  • Simple menu interfaces that utilize a state-machine describing the overall gamestate
  • A secondary state-machine that the settings menu and its controls submenu utilizes
  • Themes that expose the colors of various types of text elements and buttons
  • Vector-based sprites for player ship, asteroids, and projectiles, utilizing a flat, minimalistic style (asteroids specifically using subtle gradients)

Code/Design

  • Independent, clean, well documented code (both in-code and API documentation), sensibly organized using assembly definitions
  • Structs to create types that define repeated properties in the game, such as Themes and controls (InputDefinitions)
  • Theme-reading class that separates its functions into clear steps that minimize problems that may arise while reading themes.
  • Use of objects that hold defaults for when themes do not have all required elements (e.g. a color-only theme with no sprites)
  • Event manager that handles various event-based cases in order to prevent unnecessary dependencies (such as a player ship that needs its properties updated when a theme changes or the gamestate changes)
  • Preference manager that handles theme and control preferences as well as the loading and saving of these preferences using the XML format

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)

Screenshots

Code

Places

Source Code GitHub Repo