Click on a Project!
::: FINAL FANTASY XV :::
Shipped Product - November 29th 2016 Credited under "Battle - Monsters"
Ever since the game's concept was announced in 2006, I was a huge fan of it and never in my wildest dreams would I have known that 10 years later I would be one of the developers to make that concept a reality and deliver it to the many fans waiting. Truly an honor to have been able to work alongside the team who made this happen.
I worked as an AI programmer in the enemy & monsters team, working with and expanding the features of our in-house dev tools such as the AI graph tool - which has behavior trees and state machines to easily create a character's AI; the gambit system - which provides a set of rules from which the enemy can decide a course of action to take; and animation tools which allow us to embed triggers for certain behaviors during a character's animation clip.
I also had the chance to work on the well-received multiplayer expansion pack "Comrades" as a general gameplay system programmer.
FINAL FANTASY XV Official Accolades Trailer Back to Top
::: FINAL FANTASY XIV: A Realm Reborn :::
Shipped Product - August 27th 2013 Credited as "Battle System Programmer"
Reboot of the original FF14, completely rebuilt from the ground up in just 2 years. At the time, it was a high-risk project, but after long hours non-stop working on the game, everything paid off and FF14 is now one of the most successful MMORPGs in the market.
As my first time working on a professional level game, and the daunting task of remaking a failed game into a successful one, it was an honor to have been assigned as the main programmer for our item management systems - an essential part of the game in any MMORPG. I worked on both client side and server side systems and handled all interactions involving inventory, weapons, gear, markets, trades, etc. I also had the opportunity to create a dev tool for our designers where they can easily create quests, and this tool was used in authoring about 99% of the quests in the game.
After the successful reboot, we went to work straight away on the first expansion pack, "Heavensward", while also providing major updates to the game on a monthly basis.
FINAL FANTASY XIV Prologue "End of an Era" This short story trailer sets the premise for the game's reboot, allowing us to completely rebuild the world of Eorzea. Back to Top
::: REV.ENG: THE REVERSAL ENGINE :::
Screenshots: (team of 11, C++/Lua/XML Senior Year Game, 2009 - 2010) [Awarded DigiPen's Best Senior Game of 2010] [Awarded DigiPen's Best Senior Technology of 2010] Programmers Producer: MIKE SUSETYO (Physics) | Designer: Doug Macdonald (Gameplay, Physics) Tech Director: Nick Raines (Graphics) | AI: Jason Hamilton | Tools: Ryan Diederich Artists Environment: Abe Huacuja | Concept: Jennie Nguyen | 3D Models: Drew Gamble Props & UI: Matt Bullister | Animations: Jessica Jenkins & Emmanuel Geberegeorgis"Rev.Eng: The Reversal Engine" is the game I worked on for my final project in DigiPen. Our main character in the game uses a weapon called the Reversal Engine to drain energy from enemies and turn them into special powers. Typically, team-projects in DigiPen consists of 4 to 5 people, however for this project we've managed to compose a group of 11 programmers & artists who want to make something amazing for their final project. My role in the group was as the team's Producer & PhysX programmer. The completed project was a great success and won several student awards from DigiPen.
VIDEO: Back to Top
:::WORLDS BEYOND:::
(team of 3, C++/Lua/XML Junior Year Game, 2008 - 2009) Producer: Jay Austria (Graphics) | Designer: Nick Raines (Engine, Gameplay) Tech Director & Art Director: MIKE SUSETYO (Physics, Gameplay)Giant Creatures have invaded a peaceful world and it is up to the Guardian Bee to fight them off using spectacular attacks. Worlds Beyond's real-time battle system incorporates RPG-like elements such as experience & leveling up to create a unique experience. Most of the attacks in the game are particle based and rely on projectile-motion physics. Originally planned at a much bigger scale to be a full 3D RPG, Worlds Beyond had to be scaled back into a much simpler version due to the amount of workload we had to share among our 3-person team.
Screenshots: Video: My Responsibilities: + Technical Director & Art Director of the game. + Complete Mass-Aggregate 3D Physics Engine with: + Newton-Euler based Kinematics (velocity, acceleration, force, mass, damping, etc.) + Obj vs Obj Collision Detection & Response. + Terrain Collision Detection & Response. + Contact resolver. + Projectile Motion. + Particle Physics. + Spring Physics. + Rods & Cable Physics. + Rotational Physics. + Friction. + Gravity & Bounce. + Parts of Gameplay logic. + Implementation of the Lizard Boss. + Implementation of the Giant Meteor Attack. + Lots of Lua scripting. + Lots of Lua-to-C api functions. + Lots of XML files for object loading. + Lots of Physics Component Classes. + Lots of Physics Attributes. + Controls Layout for Keyboard & Mouse. + Gameplay tweaking. Back to Top
:::TEAPOT PARTY:::
(team of 3, C++ Junior Year Game, 2008) Physics: MIKE SUSETYO | Graphics: Jay Austria | Gameplay: Nick RainesA game of Teapot-tag where you have to collect as many teapots as you can before moving on to the next procedurally-generated world. This "mini-game" was actually a bi-product of our Worlds Beyond engine, just to demo the capabilities of what we can do with our engine and to show that we can make any type of game using it. Worlds Beyond: Teapot Party Edition was created in less than 2 weeks after the completion of our game-engine.
Video: My Responsibilities: (mostly the same as in Worlds Beyond) + Teapot-tag mini-game concept & design. + 3D Physics Engine: + Terrain Collision with procedurally-generated world. + Teapot vs Teapot Collison & bounce. + Sliding Physics. + Gravity & Jumping. + Gameplay logic. + Player movement. + Explosion of teapots at the start of each level. + Teapot-popping effect when tagged. Back to Top
:::PHYS.ENG (3D Rigid-Body Physics Engine):::
Screenshots: (Individual Project, C++/OpenGL, 2010)Phys.Eng is the latest iteration of my home-made Physics Engine. Built from scratch and based on real-time physics calculations, it offers 3D Rigid-Body simulation with collision detection and resolution. The physics uses impulses to calculate the positions and velocities of each object, and rotations are handled using Quaternions and angular velocities. The engine currently supports the simulation of boxes and spheres in a 3D world, with limited stacking ability. Friction calculations also give life to the spheres, allowing them to roll around realistically as well as provide traction for moving boxes. I'm currently looking into expanding support for more 3D shapes and polishing the stacking/sleeping feature.
Video: What I implemented: + 3D Rigid-Body simulation + SAT Collision Detection + Oriented Bounding Boxes (OBB) & Spheres + Impulse-based Collision Resolution + Quaternion-based rotations + Friction calculations + Bounding-volume broad-phase + Debug collision-points & collision-normals + OpenGL graphics Back to Top
:::Stacks (Nintendo Wii Project):::
Screenshots: (Individual Project, C++/Revolution SDK, 2009)First attempt at developing hands-on with the Official Wii dev-kit. This title is a first-person-shooter where you have to shoot walls of stacked boxes to make your way to the end of the level. It's a simple demo to test out the capabilities of the Wii and accommodate code for its hardware. I created a custom Physics Engine for this using simplified Box-Stacking and spatial partitioning to optimize performance on the Wii. Controls were made to match similar FPS titles on the Wii such as the Metroid Prime series.
Video: What I implemented: + Wii Revolution SDK integration + 3D Graphics Engine, ported from OpenGL + 3D Physics Engine with Box-Stacking + Wii FPS Control Scheme + All Gameplay elements + All Gameplay logic Back to Top
:::REFRAX (Cube-Mapping Reflection Demo):::
Screenshots: (Individual Graphics Project, C++/OpenGL, 2008)Refrax was made to show off some of the capabilities of my OpenGL graphics engine. A Cube-Map is a technique used to show accurate reflections on an object. It basically renders the whole scene onto the 6 sides of a cube and then texture-maps the cube onto my sphere to make it look like it's reflecting everything around it. A similar technique was used to add Refraction alongside the Reflection-map, blending the two together to make the sphere look Glass-like (take a look at the 2nd half of the video below).
Video: What I implemented: + Reflection & Refraction Cube-Map. + Manual Lighting Calculations (not using OpenGL's "reflect" or "refract"). + Blending techniques. + Per-Pixel-Shading using GLSL. + Object Rotations and movement pattern. + The OpenGL graphics engine used to make this demo. Back to Top
:::GFX.ENG (OpenGL 3D Graphics Engine):::
Screenshots: (Individual Graphics Project, C++/OpenGL, 2008)This was the base-engine I used to make my REFRAX demo and my Phys.Eng project. The whole 3D engine was built from scratch using OpenGL's GLUT and the GLSL shading language. Main features of the framework includes Per-Pixel Shading, Bump-Mapping, Shadow-Mapping, Mipmapping, Texture-Mapping, and Lighting models using Phong-Equations. All techniques implemented manually without OpenGL's fixed functions and all 3D primitives are generated from scratch using spherical vertex generation.
What I implemented: + OpenGL initialization and the 3D engine's framework. + 3D primitives generation: (cylinders, spheres, cones, cubes and planes). + Texture-coordinates and Vertex-Normals generation. + Object Transformations (scale, translate, rotate). + 1st person camera and 3rd person spherical-camera. + Per-Pixel-Lighting and Shading in GLSL using Phong-Lighting. + Bump-Mapping, Shadow-Mapping, Mipmapping. Back to Top
:::THE ROMANTIC CROSS:::
(team of 4, C++ Sophomore Year Game, 2007 - 2008) Producer: Ken Duncan (Graphics) | Designer: MIKE SUSETYO (Physics, Gameplay) Tech Director: Eric Azevedo (Engine) | AI & Art: Maile HiranoThe Romantic Cross is a 2D Action Platformer starring Rose, a pink-haired girl carrying a chain attached to a weighted Cross. The original concept and design of the game was to have players be able to perform combo attacks which send enemies flying across the screen and then use the chain to pull them back into attack-range in order to continue with another combo. A multiplayer co-op mode is also supported.
Screenshots: Video: My Responsibilities: + Game Designer for the game's concept and gameplay. + Combat & all attacks and combos. + Chain Mechanism & homing. + Enemy knockback system & effects. + Complete 2D Physics Engine with: + Realistic 2D Kinematics (gravity, velocity, acceleration) + Projectile Motion + Sprite Collision & World Collision + Bouncing Collision + Friction Drag + Simplistic Chain Physics Back to Top
:::SPLASH SQUAD ATTACK:::
(Individual Project, C++ Freshman Year Game, 2006)A puzzle game, inspired by ChuChu Rocket!, where the player must guide a group of water-droplets, called the SplashSquad, to extinguish fire in each level. The SplashSquad turns left every time they hit a wall, except around corners and Arrow-tiles where they will follow the directions indicated.
Screenshots: Video: My Responsibilities: + All Artwork & Coding. + Game & Level Design. + Gameplay Logic. + Menu System. + Statemachine Logic. + Sprites & Animations. Back to Top
:::TECHNICAL SUPPORT:::
(team of 4, C/C++ Freshman Year Game, 2007) Producer: Doug Macdonald | Designer: Eric Edelman Tech Director: MIKE SUSETYO | Product Manager: Ryan DurandTechnical Support is a text-based Roguelike game where the player plays as a technician on a space-ship that has been invaded by mutated bugs. DigiPen requires Freshman projects to be text-based games so that teams can focus on the game development process such as taking roles (Producer, Designer, etc), planning for milestones (Alpha, Beta, Gold) and developing good teamwork in general.
My Responsibilities: + Technical Director of the game. + AI programmer for enemy movement. + AI programmer for enemy combat. + Physics programmer for object collisions. + Physics programmer for player movement. + Physics programmer for environment interactions. + Balancing combat weapons. + Level Design for levels 5 & 6. + Boss Bug and Queen Bug behaviors. Back to Top
Site design and layout by mike.susetyo ©2006-2010.
Designed in Adobe Photoshop CS3, maintained using html/css.
All materials on this page are copyright their respective owners.
DigiPen Institute of Technology ©2006-2010.