Kata that involved me learning how to make a game that demonstrates:

  1. Manipulating the user interface of the Unity game engine with Text and background images, the last project involved only the debug console.
  2. Creating Tile Maps using Unity for Pixel art-based backgrounds.
  3. Integrating Stateless with Unity, as of this writing Unity has no support for NuGet which is my preferred way of adding assemblies.
  4. Using a resource file to support future translation into other languages.
  5. Implemented a thread-safe singleton for my Label Retriever, whose purpose is discussed in the Translation section.

I also demonstrated some concepts that I already understood but considered their inclusion important to the final product:

  1. Creating state machines using Stateless.
  2. Developing games using n-tier architecture, something Unity also does not want to support seamlessly. This allows me to take advantage of NuGet and XUnit in my business logic tier, while the application tier can reference the Unity game engine directly.
  3. The main application once again used the Mediator design pattern, for my next project I will need to see if there are any other behavioral patterns that are better suited for this task.
  4. Handling real-time input from users.

I had originally aimed to complete this task within one weekend, as I have done for my last two projects. However, as I will discuss in the design section below this task presented an opportunity to research Pixel art and level design within Unity. I felt that this knowledge would be important for my future projects so I decided that I should increase the scope of this to include the additional research and implementation. Doing so caused me to miss the original self-imposed deadline and, as you will see by comparing the commits, extended this into a three weekend long project.

See: https://github.com/kevinkabatra/UnityTutorialLabyrinth for more information.

Leave a comment

Log in with itch.io to leave a comment.