The repository for this project can be found on GitHub.

The goal is to create something visually pleasing, write down what I learn and create tutorials or explainers for any issues I run into where I don’t feel like good sources exist or where I can do a better job than the sources I find. The idea is based on the Coding Adventures series by Sebastian Lague.

Based on Ambitious Goals, I’m setting a far target to then work backwards from there. I aim to create something using Procedural Content Generation with a similar look and feel to Tunic using my custom engine. It has a cute vibe while not looking overly complicated.

I’ve decided to include building a custom editor because I like Short Feedback Loops and Visual representation, as explained in 🪄 Design Principles. This sounds like massive overkill for what I want to do, but the idea is learning with ambitious goals. These long-term goals can shift massively if I find a niche that interests me more or run into hurdles I don’t want to learn about.

More details on different learning areas:

Adding behaviour at runtime

Decorator pattern or Decorator pattern in Kotlin. Kotlin supports this out of the box using the by keyword (Delegated Properties).

An example of this is conditionally rendering normals for a mesh.

  • Split normal rendering from Mesh

  • Select a Vertex in 3D space

    • Detect click in screen
    • Calculate vector in 3D space from mouse position
  • Move Frame Counter to UI

  • Inclined plane

  • Stairs

  • Ground

  • Trees

  • Rocks

  • Flowers

  • Lighting

  • Textures

  • Water

Unrelated to graphics programming:

  • Add auto-formatting configuration to the repository
  • Add linting to the repository