Niklas Gray is a 15 year veteran in the game development industry. He was a lead programmer at Grin for six years together with Tobias Persson. After Grin, they created the Bitsquid game engine which was acquired by Autodesk in 2014. He's currently working on new tech at Our Machinery together with Tobias Persson and Tricia Gray.
Niklas is a strong advocate for openness and information sharing in the gamedev community. We're all in this together.
This post describes the higher level layers of the immediate mode UI system we use at Our Machinery.
In this blog post I argue for using 0 as the default and "nil" value in multiple parts of the code.
In this post I show how to build a plugin system out of the API registry presented in the previous post.
In this post we look at how to build a plugin system based on individual co-operating modules.
This blog describes how we set up a one-button build system for the source code at Our Machinery.
A look at the physical design rules we use for C/C++ code at Our Machinery.
[Blog - 06/26/2017 - 11:24]
Yes, it 's true that ...
Yes, it 's true that the last code doesn 't let us distinguish between a non-existing bone and a bone with length zero. But there are cases where we don 't need to make that distinction. If we do, we can write the slightly more cumbersome code that checks the ...
[Blog - 05/17/2017 - 10:18]
You could do everything with ...
You could do everything with source code and static linking, but that creates other problems. It means that in order to add new functionality a plugin to the product, I need to have a development environment setup and recompile the application. We envision a setup where for example an artist ...
[Blog - 04/25/2017 - 10:30]
I use those three, but ...
I use those three, but not much more. I prefer working in pure text editor rather than Visual Studio mostly because I find it gives me better focus -- I see the code and nothing else. Visual Studio Code and Sublime Text are nice too.
[Blog - 04/19/2017 - 10:30]
The reason why we are ...
The reason why we are using C style interfaces to our systems is not primarily about reducing compile times, but for a number of other reasons: r n r n We want to allow API users to write C and not force them to use C . r n We ...