Game Projects
AGame (01/21 - Current)
A 4 person project done in C/C++ with custom rendering engine provided by Digipen Institute of Technology. Contribution: Implemented ECS architecture modelled similar to Unity.
Demo still in progress.
A 4 person project done in C/C++ with custom rendering engine provided by Digipen Institute of Technology. Contribution: Implemented ECS architecture modelled similar to Unity.
Demo still in progress.
Farmology (09/20 - 12/20)
A 4 person project done in C with custom rendering engine provided by Digipen Institute of Technology. Contribution: Re-implemented a more stable 2D collision detection and resolution between circles and OBBs. Used same iterative solving solution as with previous project.
Language: C
Github Source Here!
A 4 person project done in C with custom rendering engine provided by Digipen Institute of Technology. Contribution: Re-implemented a more stable 2D collision detection and resolution between circles and OBBs. Used same iterative solving solution as with previous project.
Language: C
Github Source Here!
NotSoUnrailed (14/01/20 - 07/02/20)
A 2 week, 5 person project done in C++ using DirectX11. It was my first larger project coding a custom 3D engine and I learnt a a lot about designing a pipeline capable of supporting different render modes based on what my team needed. Messing around with shaders was fun too. The game takes heavy inspiration from the existing game Unrailed. After doing this project, I feel more comfortable with wrangling DirectX code in the future. Again, my team consisted of the same people for NotSoSuperMario and they were amazing. Language: C++ Tools: DirectX11 Development Blog WIP Github source here! |
|
Physics and Collisions in Unity
Writing custom OBB collision handling in Unity to learn more about collision detection and resolution of OBBs. It uses an iterative constraint solving approach inspired by Erin Catto's box2D, Randy Gauls's qu3e and blog posts. My main research materials were various blog posts, box2D and qu3e source code and a lecture from University in Applied Science in Breda, Netherlands. Initially I wanted to achieve simultaneous solving with a method like Gauss Seidel but could not get it to work within the time I have allocated myself for this project. Maybe for the next one! Language: C# Tools: Unity Development Blog WIP Github source here! |
Physics, collision detection and resolution seen here were all coded from scratch. Unity was mainly just used as a rendering tool!
|
NotSoSuperMario (17/11/19 - 29/11/19)
A 2-week 5 person game made in C++ using DirectX 9. We wanted to focus on the programming and not so much on the game design, so we decided to try emulate the existing game Super Mario. My personal takeaway in this was planning and designing the code architecture in a way that was iterative for the team and I to work on and also setting up a well enough impulse collision engine that could serve the platformer genre. To do so, I set up a simple component system that could provide us ease of use and modularity inspired by the Unity Engine. |
|
Other things I did were: the sprite system, parallax scrolling, camera manipulation, the tile-based level system, level select, level editor, level and champion saving, mario and goomba.
Language: C++ Tools: DirectX9
Development Blog WIP
Github source here!
Language: C++ Tools: DirectX9
Development Blog WIP
Github source here!
HackerDefence (23/11/19 - Current)
A personal project after I fell in love with Unity2D. It is going to be a top down defence game inspired by BlackOps Zombies. It is the second time I am creating an game for mobile, hence getting the controls to feel good were a challenge. It is still a work in progress on the side. In this iteration I try to get the basics down with path-finding and steering implementation. Also my first time using a "heat-map" of sorts to aid in my A* heuristics to get smoother more natural moving entities in the levels. Language: C# Tools: Unity2D Development Blog Non-Yet Source Unavailable Yet |
|
Obliq (20/10/19 - 07/02/20)
An ongoing Unity2D school project with 5 friends from my IT course. It is a rogue-like/shoot-em-up style game. It is my first foray into using Unity, and my role in the project is as a back-end programmer coding the underlying game logic e.g. map generation, path finding, steering, particle effects and projectile patterns. The video showcases our interim playable prototype. Language: C# Tools: Unity2D Development Blog WIP Github source here! |
|
DirectX 11 Framework Setup (18/08/19 - 27/10/19)
Before in SomeGame, I had coded the entire game on the CPU. This time I learnt to use DirectX 11+ and setup a framework from an empty project. Setting up a basic window with WinAPI, processing windows messages, and setting up the DirectX 11 pipeline. Using a simple Vertex and Pixel Shader, the framework acts as a base for 2D game rendering with support for sprite positioning, scaling, etc.
On the stable branch, the base includes a game loop, sprite, input and graphics class. On a separate branch, I add additional features from time to time, e.g. Component Support, Animation, Physics etc mainly for personal testing purposes.
Github source here!
Before in SomeGame, I had coded the entire game on the CPU. This time I learnt to use DirectX 11+ and setup a framework from an empty project. Setting up a basic window with WinAPI, processing windows messages, and setting up the DirectX 11 pipeline. Using a simple Vertex and Pixel Shader, the framework acts as a base for 2D game rendering with support for sprite positioning, scaling, etc.
On the stable branch, the base includes a game loop, sprite, input and graphics class. On a separate branch, I add additional features from time to time, e.g. Component Support, Animation, Physics etc mainly for personal testing purposes.
Github source here!
SomeGame (04/03/19 - 24/09/19)
My final year project. A gamified means to facilitate the learning of basic programming concepts through more prominent visual cues than a traditional console output. Also my journey on learning the basics of 3D graphics and game programming with C++. Wrote a rendering pipeline on the CPU inspired by DirectX11's pipeline design. The entire game is processed on the CPU. Language: C++ Click here for the development blog. Full Development Playlist here! |
|
Flippy Bard (23/02/19 - 23/02/19)
A small game created in a day to practice a little java using android studio. Published to the Google Playstore! Language: Java Tools: Android Studio Click here for the Play Store. No development blog (too small) |
|
A BMI Calculator Minigame (1 Day in January 2019)
A minigame I created in GameMaker as a BMI calculator contribution to my friends BMI calculator project repository. Language: GameMaker Language (GML) Tools: GameMaker Studio 2 No development blog (too small) |
|
A Light In The Dark (16/12/18 - 30/12/18)
My third endeavor into GameMaker Studio trying to make a 2D top down horror game. Experimented more with tiles, delved into simple dynamic lighting/shadows, and blending. Trying to work against "2D top down has not enough immersive-ness for horror" trope, a fun little 2 week holiday project! Language: GameMaker Language (GML) Tools: GameMaker Studio 2 No development blog, but a progress video. |
|
SecondGame (01/10/18 - 21/10/18)
My second dive into GameMaker Studio, I know my naming convention needs work. This wasn't really a game but mainly me exploring the capabilities of GameMaker and practicing my scripting in general. Tried to create randomly generated map! Learnt a lot about tiles, and OOP concepts that I was barely familiar with. Very basic coding logic and practice! Language: GameMaker Language (GML) Tools: GameMaker Studio 2 Click here for my development blog. |
|
Dimensional Takeover (03/06/2018 - 08/08/2018)
My first ever game! A 2 man joint school project using GameMaker Studio 1.4 to create a bullet hell shoot em up. Learnt the basics of moving objects, creating objects, viewports, editing sprites, and game design to boost the feel of a game, among many others! Language: GameMaker Language (GML) Tools: GameMaker Studio 1.4 Click here for my development blog. |
|
Other Projects
Campfire Web Application 01/11/2018 - 07/02/2019
A fullstack development school project to create a website. My part was most of the front and some of the back. Language: C#, Javascript, HTML Click here for my development blog. |
|
Other Personal Projects
My other personal coding projects can be found on my github : https://github.com/zacharytay1994
Languages used : Python, C#, C++, Java, a tad bit of Ruby, and more GML stuff!
My other personal coding projects can be found on my github : https://github.com/zacharytay1994
Languages used : Python, C#, C++, Java, a tad bit of Ruby, and more GML stuff!
About Me
Aspiring Game DesignerMy name is Zachary Tay, a 24 year old student currently studying in School of Infocomm and Technology, Ngee Ann Polytechnic. Studying Information Technology. I am an aspiring games programmer.
Some days I like to socialize, some days I like to be alone. I enjoy playing games, reading, writing, listening to music, working out, sports, trying new things, and programming. Sometimes I hate myself, most times I love myself. |
~ Get in touch ~
If you would like to get in touch, feel free to contact me through the sources down below!
|
phone+65 9752 0863
|