CV

Hang Zhang

Game Audio Programmer

Currently

I’m a technical sound designer/audio programmer at Suzhou Snail Digital Technology Co., Ltd., China now, my daily duty is all about game audio production but (far) more relates to programming domain, both gameplay and game engine parts (Yep I integrate 3rd-party libs/evaluate new solutions/write & design practical modules in the working pipeline and etc).

I’m here


Technology stack

Beer drinking

It’s too serious to work in the game industry, so I trained myself a little bit to be an alcohol-oriented programmer.

C++

Caution: No any formal CS background

I like to investigate and understand every corner of C++ (until one day I turn my head to Dlang or Rust? Because there are always some gaps in my knowledge of it), it is The Silmarillion among the programming languages, messy and tricky but elegant (sometimes) and performance guaranteed (depends on my drunk status). But anyway boast is one thing, write product ready code is another thing, check my CodeFactor !

Struggle in introspection and serialization, and stray around the compiler and linker black magic currently, I’m just wondering when we could stop building our own memory manager/concurrency task manager/reflection system but still, why not? (I have been taught by myself based on C++11 and higher, so don’t support anything under GCC 4.8.1/MSVC 12.0.)

C

Understand (most) of C# language specifications (really?).
But only use it sometimes with Unity.

CMake

All experiences come from my pet project.
Keen to keep everything platform-independent.

Computer Graphics

Started from OpenGL and GLSL, later adopted to DirectX 11 and HLSL, now work on adopting Vulkan and keep iterating GL&DX.
I like translating some fancy formulae to shader (just after I really understood what those SIGGRAPH papers and GDC talks try to express). OK what is the best solution of GI???

Dart

A Declarative Programming learning practice to open my mind.
Just some 3-day interest in mobile app development. Well since Google has released the stable version of Flutter I could keep working on it Unboungo website again (or jump to another React Native ship?).

Docker

Some IT experience e.g. build and config PM tools like OpenProject for the colleagues.

DSP

All my experience are about theoretical things because haven’t occurred the scenario to write something in real (Sadly nobody around me is unsatisfied with FMOD and Wwise’s sound propagation design until now).
Could give me some numpy and scipy or other audio DSP frameworks and let’s DFT/IDFT (or design another already existed bi-Quad filter?).

FMOD

I could work from front-end (FMOD Studio) to back-end (FMOD 5 API).
Current job related, where the half of the game audio community holy war came from.

Git

Of course (who doesn’t use VCS today?).

Java

Whom the first time I wrote a tiny game engine with and then started to question “where is my memory?”

JavaScript

Some FMOD Studio script experience, it’s nice, tastes like C#/Java/Python.

JSON

Use it for my project’s data serialization.

LaTeX

Sometimes I wrote blogs, or make notes for those long math formulae.

Machine learning

I could write a Coursera ML website class finisher level CNN.
But still don’t find which project I could insert these TF/Keras code to.

Markdown

Always enjoy writing with md.

Math

Calculus/Linear Algebra/Statistics/bla bla… I like math, I hate math.

Python

Machine learning + DSP programming + Web crawler, documents (and Google) guide me.

Qt

Now I’m learning this framework for the editor and tools of my project.

Unity

Typically I only write the prototype/evaluation/demonstration code for other teams or dive into their audio problems.
J’aime la happy-happy-multi-scattering engine.

Unreal Engine

Typically I give prototype solution in code/blueprint or UML style things for the whole game and let others wait and cry when they hit the compile button, or make noise around when people started to write or design something which will lead everybody to work at 12 o’clock at night (Unfortunately, sometimes I will be the guy who buries bombs).
și macro-rules-all engine.

UNIX

Naive experience in CentOS/Ubuntu/macOS, no reason to drown in Windows cliché when you have time to waste on some multi-platforms project (also I need some proxy/blogger host server so read a little LAMP 101 and got it works).

Wwise

I could work from front-end (Wwise Authoring Tool) to back-end (Wwise API).
Current job related, where another half of the game audio community holy war came from.

Projects

InnocenceEngine

Screen capture

I am working on this side project actively now, more detail information is just inside the InnocenceEngine website and the Trello website themselves. Game is hard to develop, harder the game engine it is, but it’s still full of amazing and fun contents when I’m keeping learning and developing (except TMP).

Music

As my past few years’ interests in music, I’ve written and produced lots of Audiomack website music (but most are…horrible enough)

Photography

I like always keeping amateur in Behance website photography, to maintain the inspiration (ok also because the nice equipment is fairly expensive).

Work experience

2016-
Technical Sound Designer

Suzhou Snail Digital Technology Co., Ltd.

Full-stack technical support for whole company studios’ game audio development. Specialized on the audio engine integration and in-game audio implementation.

2015-2016
Audio Engineer

Zhejiang Feifei Film and Television Culture Media Co., Ltd

Film music composing, sound design, live recording and audio editing.

2015
Junior Assistant

Kaibo Music Studio

Recording production, composing and audio editing.

Education

2012-2015
Beijing Midi School of Music

First two years I was in Electric Guitar discipline and the final year spent more time on audio engineering field.