Learning game development

I have no professional game-industry experience yet, and I am learning on my own.

Angular, Vue, OIDC and Docker were all self-taught and then shipped to production. I will learn game development the same way: finish something small but complete, write the design document, then move on to the next engine.

Submarine Voyage — small Unity game demo + GDD Done

An idle game: send submarines on voyages, wait for them to return, collect resources. Four submarines unlock in order, three routes, cargo and speed upgrades (Lv1–5), a fleet goal and a completion screen.

  • Game rules live in a pure C# layer with no Unity dependency; submarine state is derived from return timestamps, which makes offline catch-up possible.
  • JSON saves (write to a temp file, then replace; corrupt saves are backed up) and 32 EditMode tests.
  • A one-page GDD (gameplay loop, MVP scope, numbers, technical design) and an English README.
  • Built with AI: I decided the specification and verified the result, and AI helped write the code.

Learning log: building Submarine Voyage in three days

I learned the Hierarchy, Inspector, Canvas, Prefabs, ScriptableObjects, Layout Groups and anchors as I built.

After playtesting
At 600x speed all four submarines maxed out quickly and nothing was left to do, so I added a fleet-goal progress bar and a completion screen. The route window now shows each submarine’s actual wait time and reward range.
A snag
The default Canvas Scaler setting cropped cards in a 4:3 window; I switched it to Expand and fixed the card width.

Next Planned

UE5
I look forward to learning UE5 on the job, starting with networked, 3D-oriented projects.
GAS concept notes
Read the official GAS documentation and write a one-page note of my own on how Ability, Attribute Set, Gameplay Effect and Gameplay Tag divide responsibilities.