I’m working as an Audio Programmer in Giant Network now, my daily duties are related to the broad spectrum of the game audio development, including consultant for gameplay programming and support for game engine programming. I participate in how to solve the difficult game audio problems from the game client to the low-level engine. And I architect and implement pipeline tools to speed up the audio team’s daily work. Also, I write technical memos and teach internal training courses about computer science, game development, and so on.
I’ve been self-taught through different subjects in CS such as algorithm and data structures, computer system architectures, programming languages and so on, by classic textbooks and online courses.
I’ve been self-taught about different mathematical subjects until now since I finished my formal educations. My mathematical knowledge (such as calculus/linear algebra/statistics/discrete math) is sufficient for game development. I’m currently working on more advanced topics like abstract algebra and differential geometry.
- C++: I’m familiar with C++11 and later standards thoroughly at a practical level, please check my for a brief code quality review.
- Dart: I learned Dart in order to get some fresh mind wind about the Declarative Programming trend in the mobile app development community. The showcase project is , a toolkit app running on Android and iOS by Flutter framework.
- About API: I started my learning journey of real-time rendering by experimenting on modern OpenGL, and later I adopted to DirectX 11. Now I’ve been familiar with Vulkan and DirectX 12 by working on my own game engine. My only unfamiliar major API is Metal because I don’t have enough time for it.
- About techniques: I understand the most of the state-of-the-art rendering techniques and implemented some of them (except those which are heavily product-specific or not widely supported by the hardware vendors, for example, hardware-accelerated ray-tracing). My major learning sources are the last decade’s SIGGRAPH and GDC courses, classic textbooks, and those wonderful developers’ personal blogs. Some of my top interests are GI, surface reflectance model, and rendering software architecture.
- About API: I could work from the front-end (building project in authoring tools, framework design) to the back-end (game engine integration, wrapper API design) of FMOD and Wwise professionally, or craft the custom game audio solution from the platform audio API. In my daily works now I help sound designers, musicians, and programmers to solve any problems they would occur during their game audio implementation.
- About techniques: My background in the music industry brought me a practical understanding of how to interpret traditional audio tasks. And I’ve learned about how to develop DSP software in the past few years. I’ve been working on a low-level audio framework project for a while, by reinventing the wheel from fundamental things like basic FFT algorithm and biquad filter.
- Qt: I use it for the editor and tools of my game engine.
- Unity: Typically I only write the prototype/evaluation/demonstration code for other teams or dive into their audio problems when they need. The most Unity games I’ve worked a little with before are those rapid consumption mobile games for the domestic market from my previous employer.
- Unreal Engine: Typically I give prototype solutions in C++/Blueprint or UML style things about the audio part for the whole game. I’ve participated in the development circle fully in several released UE4 games, including one VR title which I spent significantly more time than other games.
Other software development skills
- Version control system: I use Git, Perforce, and SVN daily.
- IT Operations: I’ve had some part-time IT experience like configuring and deploying PM/VCS tools for colleagues in the audio department.
- Documentation: I write documents with Markdown and LaTeX at most of the time.
- UNIX family OS: I have some user and developer experiences on CentOS/Ubuntu/macOS by deploying cross-platform projects and building host servers.
- Beer and wine: It’s too serious to work in the game industry nowadays, so I trained myself a little to be an alcohol-beverage-oriented programmer.
I have been working on this side project actively for years, more detailed pieces of information are inside the and the themselves.
I’ve written and produced lots of music for my own interests in the past few years.
I like always keeping amateur in photography, to maintain the natural inspiration (also because the nice equipment is fairly expensive).
Giant Interactive Group Co., Ltd.
Game audio development consultant, R&D in the sound propagation simulation for the interactive software.
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, in-game audio implementation and general programming optimization.
Zhejiang Feifei Film and Television Culture Media Co., Ltd
Film music composing, sound design, live recording and audio editing.
Kaibo Music Studio
Recording production, composing and audio editing.
Beijing Midi School of Music
First two years I was in Electric Guitar discipline and the final year I spent more time on the audio engineering field.