Side Projects |
Gauntlet (2008)
This project was done for my computer graphics class for the 2D Project. It uses nothing but Java2D to render this 2.5d-dimensional scene. It may look 3d, but everything is actually done on a 2d grid (to define walls). Gauntlet uses raycasting to achieve this goal.
Play
- Java Applet
Download
- Source
|
Unnamed Project (2007)
This project is an offshoot of my previous one. Right now there are no file procedures because I did not want to be bothered with that while I try and work everything else out. As before the objects derive from a common object interface and from there specialize into objects like a camera class, a billboard class, or the background (board) class. Each object is given interpolation info so that the game can make logic updates at 20 frames per second whereas your computer will draw everything as quickly as it can and still look smooth. The game caches 9 levels into memory (the current level plus the 8 around it) so that there can be seamless transitions between the levels. Collision detection has been added between the player and his environment, but not other sprites (YET!). You will need Visual Studio 2005 and Irrlicht 1.3 to compile. You will also need to point Visual Studio to the lib and include subfolders of where ever you install Irrlicht.
Download
- Windows Binary
- Source
|
Sidra (2006)
This is Sidra's latest incarnation. This project has completely done away with singletons. There are still managers, but they are passed to the objects that needs them instead of letting every object have access. The objects on screen derive from a common interface for drawable objects. In this version, objects take care to draw themselves. If I want to make an object drawn in a special way, instead of modifying code in a renderer, I only need to make a new object that can be drawn that specific way. There is an animated object class that pieces together images from different files to create a truely cusomtizeable animation. The data for the animation is stored on disk and then loaded in and matched with whatever images the sprite is given. This allows you to mix and match different body pieces to create unique characters. I also was experimenting with object factories which would take serialized data and return a specific object. This project has lead me into my next one, where the ideas of this one are being finetuned. This requires Irrlicht to compile.
Download
- Windows Binary
- Source
|
Incognito (2004)
Incognito was my next project, a two-dimensional isometric game written in C++. This project relied heavily on the singleton pattern, having many large objects that acted as managers. The backbone of the program was a kernel object that managed the different tasks of the game: the clock, input, video, or any other tasks I would want to give it (logic, sound, networking, etc.). The video task, for example, would check to see if the game is active and if so, draw something to the screen. It would also check to see if it ever needed to reload any images into memory and then take care of it accordingly. Memory management was done by reference counting. In the given screenshot, a mockup GUI was created for completeness. This game was more organized than my last but still had its flaws. Looking back, I would not even want to use singletons in the manner that I did on this project. Some of the code is weird and C-like at times. Its lack of comments makes it hard to figure out what I was thinking at the time. This project was developed with Bloodshed Dev-C++ using SDL for graphics and input.
Download
- Windows Binary
- Source
|
SidraX VB (2003)
SidraX was the very first game that I worked on, written in Visual Basic. I started it in the fall of 2003 and stopped working on it during the spring of the following year. During school I worked on it off and on, but that wasn't the complete reason why I stopped developing it. As I continued to add more and more features to it, I realized how little thought I put into the overall design and it became a lot harder to continuously add new features. Then there was also the fact that I wanted to move to C++. In the end, the game was far from complete but had a fair amount of features: sprite animations, sound effects, music, level warps, a semi-working multiplayer mode, chat commands, and a text engine. The game was written with Visual Basic 6. Unfortunately, it will not compile in VB.NET because there are far too many conversion errors that would not be worth fixing. The source files are still available for download, however.
Download
- Windows Binary
- Source
|
Fundamentals of Computer Science |
War of the Worlds
This was a homework assignment for Fundamentals of Computer Science. The object of the game is to shoot down the UFO before it reaches the ground or kills you. Requires DrScheme, choose Advanced Student under How To Design Programs for language.
Download
- SCM File
|
Fireworks
This was the final assignment for the class. The goal was to grab input from the user, and then based on the keys pressed shoot up a rocket with a unique explosion or color. When no more rockets or explosions are on screen, the program ends. Requires DrScheme, choose Advanced Student under How To Design Programs for language.
Download
- SCM File
|
Freshman Honors Seminar |
Exercise 1
Problem 1: Function Tables
Problem 2: Binomial Revisited
Problem 3: Dice and Random Throws
|
Random Stuff |
Polynomial Class
This class can create a polynomial given values for f(1), f(2), ... , f(n)
Polynomial Class
Problem Set 9 A2
Added 06/11/06 @ 9:00 PM
Problem Set 9 - A2
|