I know web pages should be past this, but this site doesn't look right on IE.
I will fix it some day ( not for IE 6 though) but for now this is easier and a lot more fun.

Download firefox or chrome or hide this message forever...

Asteroids

  • JOGL/OpenGL
  • MVC
  • Multithreading

This is a remake of the classic game Asteroids using Java and OpenGL. This version uses the active rendering technique where the game logic is separated from the drawing into two separate threads. This way the game is progressing in a constant manner across different machine, but the drawing occurs as fast as possible.


Controls
Arrow Keys => Turn, accelerate, and decelerate
Space Key => Fire
Num 1 => Regular weapon
Num 2 => RPG
Num 3 => Spread Shot
Num 4 => Shock Wave
Num 5 => Sniper Rifle
Num 0 => Nuke

Zombies

  • Genetic Algorithms
  • Flocking Algorithms
  • Team Development
  • Networking
  • JOGL/OpenGL
  • JOAL/OpenAL
  • MVC
  • Multithreading

Zombies is a 3D 1st person shooter written in Java and uses OpenGL.


This game uses two AI techniques. The hoard of zombies logic is controlled by a flocking algorithm. Also one of the weapons is a homing missile that uses a genetic algorithm as a path finding algorithm to catch a zombie.


Controls
Arrow Keys => Look up, down, left, right
A, W, S, D => Move and strafe
Space => Throw a ball
F => Use a homing ball

GLSL

  • GLSL
  • JOGL/OpenGL
  • MVC

GLSL is a shader language. When you use GLSL you overload the vertex and the fragment shader of your grphics card. This allows for some pretty cool effects.

This is a GLSL demo consisting of a few simple shader and texture programs I have created. There are two views in this program, the left is the original view that is unaltered by the GLSL. The right view is the same scene redrawn with my own shader and texture programs.


Note: GLSL is something that is only available in newer Graphics Cards and even then some of these might not work. The wigglepot GLSL should be the first to fail and will just show a blank view if it does fail.

Minimax

  • Min-Max Algorithm
  • Multithreading

This is a text based implementation of a simplified version of anti-chess. Each player has four pawns, two knights, and two bishops and the winner is the first one who looses all their pieces. If you can take a piece you have to.


It sounds easy but the computer is using the Minimax algorithm to decide their next move. Also, in the computers process of computing their move, they find your best move. While the computer is waiting for you to make you move, it creates another thread computing it's next move assuming you chose the best move. So the longer you take, the better the computer does.

Senior Project

  • PHP
  • CSS
  • Agile Development
  • Team Development

Senior Project at CSUS is a two semester team project. The team of five has to find a customer and complete a job for them. The first semester is nothing but requirement building. The second semester consists of a finalization of the requirements, implementation, testing, and delivering the product to the customer. Our customer was Dr. Mattiuzzi and the product was pysris.com. Pysris is a social networking site for psychologists. It allows them to create a public website as well as find other psychologists. It give people an easy way to find psychologists the specialize in what they need help with.

Wedding Website

  • Ruby on Rails
  • AJAX
  • CSS
  • RSS

This website solves a few problems my fiancee and I had when we became engaged. First, we have many distant relatives and friends that only know one side of our new family but not the other. With this website, they can familiarize themselves with the wedding party. Second, it gives our guests an easy was to get additional information about the wedding that isn't normally included in the invitation. Also, it provides a centralized place for the wedding list .