Nanyang Polytechnic / Game Development Technology / April 2014 - Sept 2018
We studied low level, high performance software engineering through game development, doing practical team projects, graded to industry standards with peer reviews. We managed our projects using Agile and DevOps principles like Scrum, Unit Testing, Version Control with Git and Continuous Integration. We used concepts in Mathematics such as Linear Algebra, Geometry, Differential Equations and Calculus to compute our game world's state. We used algorithms, Task-based Concurrency and Parallel Computing through SSE/AVX and GPGPU with OpenGL Compute shaders for mass data processing of massive game worlds. We deployed our products to multiple platforms like Windows, Linux, Android and The Web, using languages such as C/C++, C#, Java and JavaScript. Scripting languages like Python, Lua and POSIX Shell scripting were used to build and configure our projects and to automate various tasks.