Cameron Main


About


I graduated from Newcastle University with a degree in Computer Science and I'm looking for a role in game development.

I enjoy spending my time building my own games and prototypes or modding others. My most recent project is that I modded DOOM into an Arcade Paradise cabinet using MelonLoader, working directly against decompiled IL2CPP assemblies. I also have recently picked up programming hardware and low-level embedded systems and have built a physical radio device that streams game soundtracks like an in-game station with an ESP32. It also has an accompanying desktop software in a Tauri app written in Rust that handles audio transcoding, metadata generation and artwork conversion.

My blog posts at the moment currently revolve around two things: a tutorial series on what makes a good “feeling” vehicle controller in Unity as well as building a tycoon game from scratch in C and Raylib. This is the first time I've made a game from scratch as I wanted to understand performance and architecture at the level that off-the-shelf engines abstract away. So far I've already had to tackle flow fields for thousands of agents, utility AI with exponential urgency curves and a custom isometric renderer. I’ve been writing about the process on my blog here.

I also have some web development experience with Laravel, WordPress plugins, a Next.js educational app with Supabase and even won Best Team Project out of roughly 60 groups at university for an industry-facing electronic components price checker.

Skills


Engine & Systems

  • Unity (C#)
  • Unreal Engine 5 (C++)
  • Custom Engine (C / Raylib)
  • IL2CPP Modding (MelonLoader/ IDA Pro)
  • Networked Multiplayer (Photon PUN2 / Fusion, Fish-Networking)

AI & Simulation

  • GOAP (Goal Oriented Action Planning)
  • Utility AI
  • Flow Fields
  • NPC Dialogue (LLMs + NLP)
  • Procedural Generation
  • Vehicle Physics

Platforms & Tools

  • ESP32 / Embedded Hardware
  • Rust / Tauri
  • Next.js / TypeScript
  • Supabase
  • WordPress / PHP

Contact


You can reach me via the following:

Email:

GitHub: github.com/cameronmain