Contained here are tech demos and projects in Unity, OpenGl, and other platforms. I am including the highlights of my computer graphics class projects here, but you can find the rest of my projects on my Github


Upcoming IOS Game

Skills in Use: XCode, Swift, Metal, Blender, FLStudio, GIMP

Come back soon for trailers, updates, and more.


Unity ML-Agents Custom Environment

Skills Used: C# (Unity, ML-Agents), GLSL, Blender, YAML, LaTeX

This was a group final project for Machine Learning. Neha Thumu and I created a Unity Environment for machine agent learning. The environment used a hybrid of Unity and python pytorch (managed using anaconda virtual environments). Unity's machine learning agents library included an API for communicating with a mechine learning agent library in python. Unity Updated the environment, and provided inputs and rewards for the pytorch neural network, which provided actions to influence the agents' next moves. The environment was duplicated to fill each batch of results with episodes as fast as possible, which was necessary to update the neural network. We creating behaviors and rewards for the car, and tuned hyper parameters (via a YAML file), to find behaviors to solve our environment. Lastly, the 3D models and textures used in the environment were created by both of us in blender, and even includes randomized sizes, shapes, and colors for the vehicles in the parking lot, achieved using custom shaders and logic implemented in Unity C#.


"Fault-Line"-Like 3D Game

Skills Used: C# (Unity), GLSL


The idea behind this project was to make a 3D version of the Nitrome Flash game Fault Line (Currently not possible to play without extensions, as Flash was depreciated, but gameplay can be found online). This demo is a first person platformer, with a unique mechanic. Clicking triggers a raycast that places a white sphere on a surface. Clicking once more creates a red sphere, and the world is "folded" to cause the two spheres to merge into one. Two parallel planes are found for the two points, and the space between appears to be gone (render textures and some logic involving a duplicate player make this possible). The main mechanic is lacking animations, and so perhaps this project will be revisited sometime to create a full game.


Game Design Final Project

Skills Used: C# (Unity, Airconsole API), UI/UX design, Blender, ShaderGraph (Unity, Blender)

This project is an airconsole game made using unity. The game is capture the flag, but with frogs and rabbits that can be controlled by swiping on the user's phone. This game supports up to 8 players, and will be published on airconsole once it has been improved graphically. I will update this section with some gameplay footage when I start working towards publishing the game


Bike horn

Skills Used: JavaScript (Three.js), HTML, CSS, Blender, ShaderGraph (Blender)

This page was made by the request of my friend Grace. The page uses three.js, and uses raycasts so that the user can interact with the 3D model that I created.


Word Wizard

Skills Used: C# (Unity), Unity, UI/UX design, Blender, Shadergraph (Blender), GIMP


Word wizard is an education ESL game, focused on teaching the player conversational and writing skills through gamified drills. This game is a project by Lemon Dragon studio, of which I am a co-founder. I created models for the game (the highlights of which can be found in the blender projects tab), oversaw most of the UI design, and developed a large amount of software for the game, including the UI and code for one of the three current minigames. At the moment, Word Wizard is unreleased, and will be revisited in the future by Myself and other members of Lemon Dragon to finish optimizing the UI and some of the scenes so that it can be published on Itch.io.


3D model Editor

Skills Used: C++ (OpenGL), GLSL, Blender

This project is an easy-to-use 3D model creator, which allows users to build something using cubes, then decorate it using 3D models, which can have their color, size, and rotation changed. For the full project, including a more detailed readme: https://github.com/Gavin-Sears/popit-decorations/tree/main


Vertex animation shaders and GPU instancing in an unreleased game

Skills Used: C# (Unity, Graphics), Python (Blender), Shadergraph (Unity, Blender), Blender, UI/UX Design


In order to create this demo. I began by baking two animations from blender into textures: The egg creature running, and the book page turning (which was simply a physics simulation in blender). From there, I created two special shaders in Unity using URP and Unity shadergraph: One that animates a mesh using a texture and an extra set of uvs, and another that allows one to scrub through frames of a vertex animation via scripts. The result is a way of animating many meshes in a scene, while still allowing the use of GPU instancing to reduce draw calls. This technique also allows the use of baked physics-based animations in Unity without much difficulty. Note some features of the game have been removed for this demo.


Particle Effects

Skills Used: C++ (OpenGL), Blender


This project implemented various particle effects. Techniques used include billboards, animating sprite sheets, and reusing particles. For the full project, including a more detailed readme: https://github.com/Gavin-Sears/popit-decorations/tree/main