ï»?!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Ben Johnson: Ace Programmer!

Site Logo

My Programmer Portfolio

Ben Johnson

Thank you for taking the time to view my programming portfolio page. Below you will find everything you should need. If you would like to see a more comprehensive view of the games I have worked on, check out my Design Portfolio. If you have any questions or concerns, email me at bjohnso2@digipen.edu

MY BREIF RESUME

MY DETAILED PROGRAMMING RESUME

  • Fury Demo Code - This contains code for an enemy and a boss AI I wrote, as well as the scoreboard system we used. (Copyright 2009 DigiPen (USA) Corp.)
  • Fury's Vengeance Too: The Revengeance - This is a 2D side-scrolling action game. I did this with my Sophomore team of myself and 2 others. My main responsability were level design and AI programming lead. (Copyright 2008 DigiPen (USA) Corp.)
    FPic


  • Breakout - This contains a version of Breakout I wrote using DirectX sprites and Direct Sound. It also contains Breakout.cpp and Breakout.h which demonstrate my collision detection and graphics code. (Copyright 2008 DigiPen (USA) Corp.)
    BPic


  • Basic OpenGL FPS Engine - This is the code and executable for a basic first person camera and graphics engine I wrote using OpenGL and GLUT. It reads in model and texture coordinate data from a custom .jmd file and the texture is procedurally generated. This was a personal project I did over this past summer.
    EPic


  • Advanced 3D rasterizer - This is the code for a 3D software rasterizer featuring 3D camera, lighting w/ shadows, picking, and texturing. This was a sophomore project. (Copyright 2009 DigiPen (USA) Corp.)
    3DPic


  • 3D graphics using OpenGL - This is the code and an executable for an example graphics pack of different rasterization and lighting techniques using OpenGL. It features rasterizing geometry with holes, 3D specular and ambient lighting with materials, texture mipmapping, bump mapping, and reflection mapping. Be sure and read README.txt (Copyright 2009 DigiPen (USA) Corp.)
    GfxPic


  • 3D Heirarchical Occlusion Mapping - This is the code and an executable for a demonstration of Heirarchical Occlusion Mapping, whcich is essential a technique to find if any small objects are being covered by larger 'occluder' meshes and, if so, not to rasterize them. This is a software implementation, but on hardware it could be highly valuable for 3D scenes with a high ammount of objects. This was a junior project. Be sure and read README.txt (Copyright 2009 DigiPen (USA) Corp.)
    HOMPic


  • 3D Frustum Culling - This is the code and an executable for a demonstration of View Frustum culling using heirarchical bouding volumes. given a scene, I generate a set of heirarchical bounding volumes starting at each object and ending with one around the entire set. Then, when rendering, I do a pass through the objects and if the bounding volume for anobject or set of objects is outside the frustum, its veertices do not get passed on to the graphics card. This was a junior project Be sure and read README.txt (Copyright 2009 DigiPen (USA) Corp.)
    cullPic


  • Space Conflict X - This is a text based game written in c++ that I wrote several years ago on my own. Included are the executable and display files as well as a readme and all source code for the project.
  • Template List - Included is a templatized doubly linked list written for a project as well as a couple of lists that inherit from it and a demo-sample.cpp to demonstrate how these were used for the given assignment. There is also an executable included the shows the list at work based on the demo cpp. (Copyright 2008 DigiPen (USA) Corp.)
  • Sphere Model Generation - This is a command line program that creates a sphere model file (.ifs) given the number of stacks and slices of the sphere and the sphere radius. It is an exercise in using 3D spherical coordinates and 3D camera manipulation. (Copyright 2008 DigiPen (USA) Corp.)
  • Previous Java Code - This contains two .java files which demonstrate an application and an applet I had written in Java several years ago.
  • Previous CS Presentations - Included here are 2 presentations. The first is a presentation I had to give on my Hunter game and the benefits of using the Torque Game Engine. The second is a presentation I gave on a small research project I did on multi-threading and thread level parallelism
index index index map map map index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index index