About Me

Programmer Designer Artist

Jack Of All Trades

I fancy myself a fairly competent programmer & an acceptable artist. As either of these, I think I can add a lot of value to any team. My real value though is in my ability to bridge the gap between these two worlds. When working for RCAD (Arch-Viz) the CEO & COO put me in charge almost immediately & funneled almost all of their communication through me, largely because I could communicate effectively & tease out what they wanted.

As a programmer, my codes been tested, scrutinized & shipped by hundreds of developers through my asset Dynamic Decals, which is now completely open-source & hosted by the community. My strength lies in rendering & graphics, both because I have a lot of experience there & because I love programming things that look pretty. That said, I’m very confident with UX, physics, tool development & scripted AI & could probably work on almost anything to do with Unity. I’m also comfortable writing burst jobs or compute shaders to execute performance-critical code efficiently (See GPU Instanced Rendering for an example).

As an artist, I’ve completed a full Bachelor of Interactive Entertainment with a major in Animation. I have a strong understanding of every step of the modern 3D art pipeline. Admittedly I don’t practice unwrapping, sculpting, retopology, baking, etc. as much as I probably should & instead favor art styles that can be produced rapidly & lean on technical wizardry to try to make things look good instead. Art takes time & I’d generally rather be prototyping & programming, even if that programming is automating the production of art.

Areas of Expertise

Rapid Prototyping

Being able to handle every piece of the pie makes prototyping significantly easier. If I need some basic props to test scale, pathfinding, or metrics I can just build them myself. If I need animations to test a combat system I can quickly whip some up myself. If I need audio or particles to push how something feels, you guessed it, I can source or build them myself.

Understanding the design, artistic & technical needs of a system minimizes time lost in communication & allows me to communicate effectively where it’s actually required. Once you have your design ironed out & workflows in place this isn’t really an issue, but for prototyping, when things need to change often & quickly, this is a massive boon.

Rendering & Performance

Developing Dynamic Decals pushed me deep into the world of shader development, rendering pipelines, graphics API’s & performance tuning.

I’ve since ventured further into burst compiled jobs & compute shaders & the near limitless potential they unlock. I have a strong understanding & wealth of experience with both of Unity’s new rendering pipelines & I know how to squeeze the most out of them & push them to their limits.

I’ve developed for web, mobile, VR & PCs & understand the strengths & pitfalls of each, as well as how to get the most out of each technology.

Tool Development

There’s nothing more satisfying than automating something that would take days to do by hand. For artists & designers iteration is king. The faster they can learn, the faster they can iterate, and the more time they can spend tweaking & refining to perfection.

Tools unlock what may have once been impossible, impractical, or outside the rendering budget. With a strong artistic background & a strong understanding of existing tools, I can build what artists & designers want & push them to new heights.

Areas of Interest

Virtual Reality

While I don’t relish the idea of a dystopian meta-verse in our near future, VR brings exploration & immersion to new levels & is a joy to work with. I’ve been a part of the VR ecosystem since the original Vive & was immediately hooked. I started working with it when adding VR support to Dynamic Decals, built a few prototypes & left it alone, waiting for the technology to mature.

I picked it up again for the ArchViz team & it has come so far. Technologies like ATW/ASW, Late latching & general hardware improvements have pushed the ecosystem to new heights & I would love to continue working in this space.

Rapid Prototyping & Development

I love experimenting & trying to build out new tools & systems. While I learned to make art first, the pace & feeling of impact often left me wanting more. When prototyping & developing I feel like I’m able to move much faster & make more of an impact, which is incredibly motivating.

That isn’t to say I don’t like working on artistic pursuits. Blocking out the broader strokes & artistic direction is quite fun, but getting bogged down sculpting, retopologizing & unwrapping doesn’t hold any appeal to me & I’ll often look for creative ways to avoid this kind of work whenever possible.

Anything Fantasy or Sci-Fi

I read, watch & play games primarily to explore. I love experiencing new worlds, new cultures, and new mysteries. Fantasy & Sci-fi ignite the imagination like nothing else. I’m a massive fan of Rothfuss, Sanderson & Lynch in particular.

I’ve built my own worlds, cultures & role-playing systems (think D&D or Savage Worlds) & there’s nothing like it. Worldbuilding brings a joy of creation like nothing else & I live for it. It’s definitely the root of my passion for development.

Software & Languages

Artistic 3D

Blender - My primary software for modeling, rigging, animating, sculpting, retopology, etc. It does it all. I’ve been using it since I was 13 & went straight back to it after university.

3DS Max - What was taught in University. It’s been a very long time, & I probably wouldn’t go back to it unless at gunpoint, but I know artists who love it & swear by it.

Substance Designer & Painter - It’s been a while but I know both tools reasonably well.

ZBrush - I switched to blender once their sculpting tools matured, but ZBrush will always have a place.

Artistic Misc

Photoshop - Anything & Everything

Marvelous Designer - Cloth simulation for furniture etc. Picked this up briefly for ArchViz furniture. It’s great as a means to create sculpt bases, but you’ll still need to do additional work refining & retopologizing to get good results.

SpeedTree - Incredible for foliage generation, with or without the wind. Vertex-baked AO is a must for foliage on a larger scale & speed tree does it beautifully.

Programming

Unity C# - I started learning to code in Unity & have never really left. All I’ve ever wanted to code was games & tools for games. I know the 3D side of the engine pretty well inside & out.

CG / HLSL - These days I only use it for custom nodes in shadergraph & compute buffers/ shaders. Incredibly useful.