Submitted by , posted on 31 December 2002

Image Description, by

Machine Ball is a futuristic sport with amazing 3D graphics and realistic physics with very simple rules: Get the ball into your opponents goal.

It's 2 player only on the same computer with optional joystick support.

I worked alone on Machine Ball. Total development time was about 6 months, with about 200 hours of coding time.

Machine Ball uses Russel Smith's excellent Open Dynamics Engine(ODE) library for the physics. It uses AllegroGL for cross-platform input and sound and DUMB for music.

The graphics are pretty average and technically there is nothing fancy, just plain OpenGL 1.1. But it still looks nice and the focus is on gameplay, which is really very good (in my opinion of course).

I'd like to write a few words about the coding style. When I began to code Machine Ball I decided to do it in a very clean OOP way with C++. I very quickly got bored and started coding very sloppy. I knew what I was doing and I had a very detailed design document, and knew that I wouldn't be adding new features that would require total rewrites or anything. Near the end I got super lazy and started using wacky variable and function names. If you look at the code now it's pretty neat. In some places you find well defined classes and in other's you find pure spaghetti code. You can sort of see the (backwards) evolution if you look close enough. Anyway, why am I telling you all this? Before the release some bugs popped up. They were almost impossible to track through my code. I spent hours and hours trying to figure out what was going on. (In the end, one of the bugs turned out to be a bug in a library I was using). But if I could go back in time and choose to code everything from the start properly, I probably wouldn't do it. It would be too boring. The saved coding time outweighed the debugging time in this project. But for a larger project, or a project that isn't clearly defined, I'd definetly do things right.

Machine Ball website with screenshots and free download:

Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.