Portfolio
This is a portfolio of things I’ve worked on, and stuff I’m proud about.
This blog #
I enjoy writing, and I especially enjoy when it’s useful. These posts may come slow but they’re hopefully noteworthy.
Golemancer – Unity #
Golemancer (Google Play) was my final year Capstone project at QUT where I worked as lead programmer. At present, this is probably the biggest cornerstone of my life as a game developer. I learnt so much.
It’s difficult to cover the entire breadth of this project; here’s the salient points;
Minigames #
The minigames are much of the foundation of Golemancer. Throughout development we changed these games more times than you can count, which naturally required a well-reasoned code base. Considering the rate of iteration, this is actually true for most things in the game, but for the minigames especially.
See this album if you want to see some really early looking minigames, as well as much more of my work on the game – trying not to overload this page with gifs.
- Built and iterated on 3 of the 5 minigames in Golemancer.
- Implemented much of the code-behind behaviour – tweakable difficulty settings, action instructions (bottom left), timer with events, and points display / management.
Party Mode #
Party Mode lets up to 6 players perform a gauntlet of minigames to crown a winner. We added this pretty last minute to help the game showcase better (and to make the game more fun in general), so it was important that it be relatively bug free out of the gate.
- Developed the entirety of Party Mode, under a tight time constraint.
Other areas of note #
Golemancer is the project that secured wanting to work as a game developer for me. It’s hard not to reminisce over all of this stuff, but here’s the succinct version:
- Worked within a team for a whole year.
- Lead programmer.
- Optimizing for mobile – performance profiling and designing for limited hardware.
- Designed and implemented a variety of systems within the game.
- Achievements, sound, inventory, loading screen, and much more …
- Managed the Git repository and associated GitHub issues list.
ZED Camera Hand Mesh Generator – Unity #
This was a project wherein I worked with a small team integrating and developing a system which could place your true to life hands in a VR environment.
There were quite a variety of challenges here; we were given a fair bit of freedom in progressing the project as we saw fit.
- Integrated and developed hand mesh generator (compute shader) in a VR/AR environment
- Significant optimization.
- Work with the ins and outs of third party hardware and its SDK (ZED Camera).
- Various improvements on the design.
Video of end product: https://drive.google.com/open?id=1SITtY8RKg6Ee96tplm5fvyNLVB5992ne
Blog describing development process: https://doingthingthings.tumblr.com/
Open source and passion projects #
I have a few self-made projects which I’ve open sourced. These were primarily created as a result of trying to fill a personal want, and for self improvement.
yarn #
Yarn is a notification daemon for Linux systems. It receives notifications from applications such as Pidgin, Discord, or anything that uses the dbus notification system, and displays them on the screen. No other lightweight notification daemon did multiple notifications or scrolling text at the time (and they still don’t, to my knowledge).
I’m really happy with how it’s turned out.
slip #
Slip is a simple screenshot tool which lets you select an area (or window) on your screen and take a screenshot or gif which is then uploaded to imgur. We’ve all heard of and use something like this. The reason I mention it is because it’s gotten somewhat popular on its own, which must mean it does something right.
Duck Game mods #
I’ve developed a variety of mods for the game Duck Game. Some of these required extensive reverse engineering, and all required reading decompiled code, which isn’t always easy.
I was also the first (that I know of) to reverse engineer a custom shader into the game.
I’ve got a blog post for helping people make custom mods for the game, which is available here.