Nearly all of them can be viewed more as proof of concept because I just wanted to try out something or I wasn't allowed much time to finish the project. I hope they can give you some good times and perhaps teach you a thing or two if possible. I still have fun exploring many things about 2d/3d and multimedia programming. So expect some stuf to be added as time goes by.
note: my main development workstation is Linux, so most of the recent stuff will be written for that platform, although I keep an open mind and use open-source cross-platform development tools and libraries (libSDL, Python, C/C++, OpenGL - to name a few) so my code can easily ported to Windows, *BSD and MacOSX, or even custom hardware like game consoles and embedded devices.
PAC-Dude: A side scroller game for W95.
Description: Made for a C++ school project in 1998. While my other classmates
were working on 4-in-a-row icon-based games, I made a sweet tile-based side-scolling
game with MIDI background music.
Download here.
Dox here.
Source code here.
Download here.
Dox here.
Source code here.
PAC-Dude Level Editor
Author: Piet Goedemans
Description: Piet made this together with my help, so I didn't have to hand-code the levels in the game. And this way, he had a cool project for school as well.
Download here.
Source code here.
Description: Piet made this together with my help, so I didn't have to hand-code the levels in the game. And this way, he had a cool project for school as well.
Download here.
Source code here.
OpenGL Tutorial for classmates
Description: A collection of documentation and C++ coding examples to learn programming
3D application with OpenGL. Made in 1999 for a school project.
Download exe and src here.
Download exe and src here.
One-on-One 3D Shooter with LAN
Description: Made in 1999 for a school project, this is a 3D shooter coded with OpenGL (in C++).
You can play over network against 3 other people. While making this game, I was quite
annoyed that our teacher forced us to use the Microsoft Foundation Classes with seperate
document and viewer classes. Games are never intended to be written in MFC. The result is a
really simple networked 3D shooter in which you have to deathmatch eachother in a box with
2 walls. The networking code was supposed to be written by a classmate, but he didnt have
time so I did it myself and let him document the network implementation.
Download here.
Download here.
Playstation 2 Vector Unit Physics Demo
Description: After getting my first console in 2001, a playstation 2, I also 'donated' some
money to Sony to get a devkit. I started out by porting Linux to the console so I could have
something to easily test code with. Then I programmed some stuff on the PS2 learning about
its unique hardware and made a small physics demo running on the 2 Vector Units. Written in
128bit VU assembly with open-source tools found at http://playstation2-linux.com/.
Download src here.
Download src here.
Mandelbrot Zoomer
Description: Exploring the mandelbrot set in Python scripting language, then a
C implementation, then C with inline assembly for the x87 floating point unit and last but
not least an implementation with 3dNow! instructions.
Download src here. (209kB)
Download src here. (209kB)
Linux Intro
Description: Learning about emulation software, I coded this little intro as an ode to the
good old times on the C64. It is a simple SDL (libsdl.org)
application, but with a patched-in 6510 CPU and 6581 SID emulator to simulate the audio
capabilities of the commodore 64. So this program is a simple intro, but with authentic
sounding c64 intro music :)
Download src here.
Download src here.
Liquid demo on ARM-based board computer
Description: After porting the Linux operating system to a custom board-computer for vehicles,
I wanted to show off its CPU power. I programmed a 2D demo that ran on top of my own drivers
and abstraction software. It has 5 parts: rotozoomer, lens-effect, water-effect, bump-mapping
and a liquid wavy effect. Our hardware was displayed at an international exhibition and
attracted quite some attention :)
Download src here.
Download src here.
OpenGL Shading Language based raytracer.
WORK IN PROGRESS
Description: I'm currently coding a raytracer that will entirely run on the graphics hardware. The idea is to just make an opengl call to glRects(-1,-1,1,1); to make a rectangle with the size of the screen and then attach your vector and fragment shaders to it. Then you are able to just do anything you like with this powerfull hardware and "draw" any mathematically correct structure no matter the complexity, including reflections, refractions (Beer's Law), etc. The main 'engine' component is a raycaster with invers ratio of complexity-to-distance.
And if your scene is not too complex you can even make it realtime and animated!
Download src here. (unfinished poc)
Description: I'm currently coding a raytracer that will entirely run on the graphics hardware. The idea is to just make an opengl call to glRects(-1,-1,1,1); to make a rectangle with the size of the screen and then attach your vector and fragment shaders to it. Then you are able to just do anything you like with this powerfull hardware and "draw" any mathematically correct structure no matter the complexity, including reflections, refractions (Beer's Law), etc. The main 'engine' component is a raycaster with invers ratio of complexity-to-distance.
And if your scene is not too complex you can even make it realtime and animated!
Download src here. (unfinished poc)
Playstation3 Cross Development Environment
Description: After buying a Playstation3, I wanted to start developing for it just like the
time I had my PS2. I installed Linux on the console (Yellowdog Linux 6.1), but I was surprised
that the console is a tad bit slow in compiling software even though it has a two-way
multithreaded 64bit PowerPC CPU running at 3.199GHz. So I set out to make crosscompilers and
a development environment (IDE + tools) to develop home-brewn software for my powerfull PS3.
The entire environment consisting of crosscompilers, editors, scripts and Makefiles is too
large for my available webspace, but I can help out in setting it up for you if you are interested.
Just send me a mail.