|
| |
Implemented animated hierarchical mesh with quaternion-based interpolation and orientations (VQS); simple Inverse Kinematics with constraints; soft-body cube simulation.
Developed software triangle rasterizer with perspective-correct texture sampling, bilinear filtering, 3ds model loader, dynamic shadows.
Authored demo of FFD on an arbitrary mesh shape using C++, OpenGL & CG shaders.
Local and global illumination, anti-aliasing.
Source Code and Images
Implementation of a dynamic occlusion mapping algorithm.
Continuously interpreted graphics scripting language for teaching basic programming, and to allow generation of complex 2D geometric patterns.
Processing library based off knowledge gained from L-Script, allows for rapid complex UI development in processing.
Tool developed to design holiday light shows. Bezier-based spline editor window used to lay out light sets for live preview of show; Light channels window to show/hide light sets, delete channels and edit the amount of lights per channel; Sequence Editor with adjustable BPM grid and note snapping to 1/16 of a measure; On screen midi keyboard representation.
Application developed to organize and display large sets of photos on an infinitely zoom-able plane. All photos can be scaled, rotated and zoomed. Off screen culling, mip-maps, and multi-threaded image loading are used to increase performance.
Example written for a co-worker to show a method of determining the outside of a convex or concave polygon without requirements on counter/clockwise placement.
Color picker to help with finding 5-color palettes. Has a couple color theory based sampling mode.
Wrote a custom full screen visualizer for a friend’s party to show relevant DJ timeslots, slideshows and flyer-based visuals that move to the music using FFT based beat detection.
Built a mouse-controlled tool to facilitate fast text-based communication for speech-impaired.
3D photo gallery applet with reflections, shadow. Developed for TrainEvolution.com, focused on optimizing load times and appearance as much as possible.
Hauser the Hound, is a 3-D side scrolling adventure platformer with zany physics puzzle elements. Hauser was my senior game project at DigiPen Institute of Technology. The main goal we hope to accomplish with the game is providing simple and intuitive 2D and 3D gameplay that actually makes you have to think. Visit the game website.
I developed Snowboard Superpipe as a one semester project for an independent study course. We had to develop a web game somehow related to the Seattle Sports Commission web site and I chose to make a snowboarding game since I love the sport so much. The game runs on Java 2 and uses OpenGL acceleration.
Gridlocked is a 2D puzzle game that runs on Java based cell phones that support MIDP 1.0 and MIDP 2.0.
Andy Vella and I created gridlocked as part of a two man team over the summer of 2006 for the DigiPen & Toyota Yaris cell phone competition. We both designed and programmed the game, and together, created the 20 playable levels in the game.
The concept behind the game is that you're driving around a city and you have to find and pick up your four friends. The problem is that there are cars that get in your way, and the only way to move them is to get behind or beside them and honk, which then causes them to move forward. The puzzle elements kick in when there start to be a large number of cars in the map. You can't always drive around cars and if two cars are facing each other they become "GridLocked!"
Also as you progress through the levels, more gameplay elements are unlocked including trucks, road cones and even using your mp3 player to move people around the level.
To download the game you can direct your cell phone to cell.jackkern.com
NOTICE: I AM NOT RESPONSIBLE FOR YOUR CELLPHONE DOWNLOAD CHARGES. Many cell phone carriers charge per kilobyte of data transfer. Even though I do not personally charge to download from my website you may still be charged!
Ice Wars was my Sophomore game project and it was created with four other team members. We developed the game over approximately nine months.