Physics Simulation Alpha version
March 30, 2008
This is a very early version of a second semester project. It is a physics simulation comprising of a deformable cloth object and rigid spheres. At the moment, the user can interact with the surrounding cube by rotating it in two axis, add and remove balls at any time and also record a try and replay it.
The physics are running a basic Euler integrator, with a very small time step though. The tessellation of the cloth is high, 20×30 vertices with one particle (point of mass) per vertex.
The collisions taking place are planes with particles and particles with particles. That being said, I must point out that all rigid bodies are treated as a single particle, while the cloth is, as expected, treated as multi-particle object. Hence a collision with the cloth is actually a collision between all its particles and the ‘other’ object. No optimizations so far.
The whole thing is running in a single thread at the moment and it is VERY CPU consuming, but I intend to apply serious optimizations. Right now I am developing on an Intel T7500, so I have room to spare.
The system is designed, once more, as component-based, although this time a lot better, far more decoupled and much better inter-component communication. The todos though are still many.
As a final product, the simulation will be two things: a multithreaded server and a multithreaded client. The physics for the server and all the clients will run on the server part and must communicate back to the clients with regular network programming!
Source code for the project is available here.
The executable version can be found here. There is no guarantee that is going to work, since it has not been tested in many systems and it does require a fairly new machine to run.
Spacegame Simulation
February 6, 2008
This game was developed during my first semester in the games programming master and is the first large scale game I have made.
The graphics are done in OpenGL and shaders in GLSL. The stage has per-pixel lighting, basic [CPU] particle systems and collision detection/response.
It comes with two camera views, a first and a third person camera, quaternion based camera that creates smoother movement, a minimap and recording capability (disabled in the demo).
Lasers leave scorch marks on the walls, trigger doors to open, blades to stop rotating, forcefields to disable and they also destroy enemy laser turrets.
The game was programmed with a component-based object architecture, but the design is pretty immature.
Source code for the project is available here.
The executable version can be found here. There is no guarantee that is going to work, since it has not been tested in many systems and it does require a fairly new machine to run.
Particle System
February 5, 2008
This is one of the very first particle systems I have programmed and is three years old already.
The physics and rendering are handled in a separate thread, with no particular reason. The particle system was experimental, a way to understand how to develop a multithreaded application and implement multiple simple particle systems.
Undergraduate Graphics Project
February 5, 2008
This is the project for a graphics module I took in my third year.
It was a very simple project that required a scene with four different objects, a moving wheel system, and a spot light. For the spotlight, instead of using a lightmap, I used a tessellated surface and I also added textures and more controls just for fun.
Start Wars
February 4, 2008
This very simple, silly and colorless little application is my first attempt to make a game in 2002.
It uses DirectDraw and has only three enemy ships that spawn from the right side of the screen in a random vertical position and just move in a straight line until they reach the end of the screen, in which time they re-spawn from the right side.
The player can fire up to three bullets and every time he hits an enemy ship, gets one point. When an enemy ship dies, it immediately re-spawns.
The graphics were made with Windows Paint.