Super Snooker 3D

Development Length: 5 Weeks
Role: Gameplay Programmer
Tasks: Implemented core gameplay, worked
on AI systems, Implemented powerups and
camera systems.

Super Snooker 3D is a snooker game with an added power-up system (and a name that makes it sound like it was a pack-in with Windows 95). The end product isn't too exciting if you're not into billiards, but the process of making it was enlightening. The game was interesting to work on because Billiards games are a strange niche and present a different set of challenges than most other game types. I got to implement the general controls and physics, which was a tedious process, since it involved tweaking things like friction and angular drag a lot, but it was a really good way to get a firmer grasp on how the physics systems in Unity (and, by extension, most other game engines) work. I also worked on the AI systems, the most fun part of which was working with another programmer to figure out how to make the AI choose a ball to aim at semi-intelligently, and then calculate the exact angle and power necessary to put that ball in a whole -- which, coincidentally, probably started the unhealthy, and totally-not-weird-no-matter-what-you-say infatuation I've developed with raycasts (though in this game, it was often "sphere-casts" which are a bit more expensive and unwieldy). I also handled the power-ups and camera system in the game, which was good experience for understanding slow-motion systems and vector relationships - which has been super useful in future projects.