Ultimate Galactic Pandemonium

UGP 1 (the original)

UGP started out as the “Undergraduate Game Project” at SUNY Buffalo. I originally went in to computer science because I wanted to make games. It wasn’t long before I became pretty annoyed at the fact that no one else in the university seemed to be interested at all, so I got together a bunch of students, and we started developing UGP. It was my first large-scale development project, one of the first games I had attempted to develop, and my first project leadership role.

We ended up with a technology demo (which is playable). I believe that it taught me more about programming than any other single class or project I have ever taken.

Eventually, the code reached the point where we wanted to start adding additional features (like network play) which would require significant changes to the codebase. We decided that it would be better to do a re-write from scratch, using the knowledge we had gleamed from the project.

Then, I started taking graduate courses (I ended up getting my MS along with my BS after 5 years), and school got a lot harder.

UGP 2 (rev 2)

Skip ahead 2 years. Winter break before my final semester at SUNY Buffalo. I was completely stressed out from classes, and I needed something to take my mind off it. Over the month-long break, and the first two weeks of the spring semester, I developed UGP 2 (by myself, this time). The graphics are significantly better than UGP1, networking support was considered from the ground up, and advances in PC hardware allowed me to do cooler things in general. Probably most important, though, was I figured out Quaternion mathematics, which was the Right Way of doing things which had been hacked together in UGP 1.

For my Master’s project, I ended up using the UGP engine to create a planetary motion simulator (with a slick graphical interface).

Of course, durring the bulk of the semester, I was too worried about graduating too work on it. After school ended (I got my degrees, btw), I took time off to settle in to the Real World.

UGP 3 (A work in progress)

Skip ahead to present day. I’ve pretty much settled in to the Real World. There’s still a bit I need to do about my living conditions (a bit of construction work, actually), but I’ve had ideas about where the code is going and how to improve the object model pinging back and forth in my head. I’ve started some coding for UGP 3, and once my construction is done, I’m going to start working on it in force.

I was quite happy to see that many of the libraries I’ve been using from the net to load images and 3d files have matured quite a bit since I last worked on the project, and I am looking forward to playing with them again. I am just touching up the code, for UGP 1 and UGP2, and then I’ll post them to this page so you can take a look at the evolution of the project. I hope you enjoy :)

UGP 3.0


Here are features which have already been added to UGP 3:

  • Console Variables (CVAR). This allows users
    to alter game variables and settings from the console within the
    game. This will facilitate debugging, gameplay testing, and

will have the graphical capabilities of UPG 2.

  • MIP-Mapping. Level-of-detail in texture maps decreases as objects get further away.
  • Alpha-Blending text. Text looks nicer.
  • Skybox Rendering. 3-Dimensional backgrounds.
  • Native Loading of 3D Studio files. Still buggy. Needs to be cleaned up.
  • Console. A la Quake.

add at least the following features:

  • Native Loading of .MD2 files
  • Internal Native Graphics Format.
  • Procedural Textures
  • Playing avi/mpeg video
  • MP3/OGG background music
  • Compressed File support, to store all the data and graphics files
  • Console Logging