Robert Christensen

Hello! I’m a generalist game programmer with a knack for scalable features and easy-to-use systems that empower my teammates to bring their visions to life.

I’m currently developing open-source tools like Sanable Engine, STIX, and Item Anvil to continue to refine my skills.

If anything catches your eye, whether that’s potential work or how I implemented something, please reach out and I’d love to chat!

About Me

I spent 4 years at Champlain College working on interdisciplinary teams and formally learning algorithms, architectural patterns, and technologies, but before that I was entirely self-taught through documentation, online resources, and plenty of experimentation. Thanks to content creators and StackOverflow, I was able to pick up Python, Java, and the fundamentals of Unity and C# that I would later dive deeper into in college. I even learned a bit of JavaScript, although I haven’t used that regularly since I was 10–my web development work is currently limited to Emscripten/Sanable and this website. In high school, I also dabbled in modding Minecraft, creating tools to fill niches like complex vector math in commands and configurable custom items.

In college, I worked on interdisciplinary teams to develop 2 projects spanning 1-2 semesters, and 9 shorter month-long prototypes. This helped me develop a balance between rapid prototyping and making sure features could be expanded on later. In addition to systems programming I often worked on UI and tools, shifting to more player-facing features as needed, such as character control and AI. I also took a number of courses in low-level engine programming and software architecture. In preparation for my capstone project, I began to focus on reusable systems ready to be dropped into any project and extended/modified, and tools for designers to easily to create content with minimal code or often no code at all.

Here’s some of my more-advanced undertakings during my time at college:

  • A C++ game engine built around hot-reloading, backed by a custom reflection system supporting pointer hydration, automatic codegen, and dynamic program analysis
  • An item system building functionality using modular properties [demo | source]
  • An C# hook system that expedited creating complex combat interactions in 3 of my projects, with syntax sugar heavily inspired by Guava
  • An AI steering framework suitable for both real-time and turn-based gameplay
  • A visual narrative scripting system that supports branching, playing animations, and Cinemachine

I’m always learning and looking to further improve my skills. Currently, I’m learning about compilers and x86 bytecode with Sanable’s reflection generation system, starting to close a gap in my knowledge by designing a rendering engine, and challenging my ability to design simple, intuitive APIs for complex problems through my work on Item Anvil.

When I’m not trying to push my personal envelope, I’m probably researching mythology, running or planning a D&D campaign, experimenting with cooking, or doing folk dances that have surprising overlap with algorithms.

Core technical skills

Unity
C#
C++
Git
Python
Java