Welcome to the EDrive Homepage

created and maintained by Evan Weaver, last updated 14 Apr 2005

EDrive is a long term project I am pursuing in my spare time, and is planned to be an open source driving simulator/game that can be used to practice advanced driving techniques in a safe and inexpensive way.

My rationale for developing EDrive is two-fold. First, I am interested in game development, and I would like a deeper game-programming experience. Hopefully, this may lead to Seneca offering some serious courses in game programming beyond our current introductory course, GAM666.

Second, I am interested in high-performance driving and, as a hobby, instruct at high performance driving schools offered by a few automobile clubs in Southern Ontario. I would like clubs that offer advanced driving schools to be able to give participants a disk with the track at which an upcoming event is to be held, so that those people can arrive at the event with some knowledge of the track, gained from having been able to "drive" an approximation of the track on their computers.

I hope to come up with something that has the following features:

Of course, there are endless wishlist items, such as fancy graphics, multiuser racing, networking capability, realistic (vs. reasonable) physics, and a track editor, some of which may eventually get done, but are not necessarily essential.

So far I have produced a preliminary "proof of concept", which runs in both Windows and Linux. In it, you can drive four wheels (no car body!) around a very simple track. The physics are abysmal (if you drive too fast into a corner, it wants to go straight, and if you lift off in a corner it turns too much, but otherwise things like gravity and weight transfer have no effect whatsoever), but the code is in place to start the real work.

2 June 2004 - A Windows/Linux version of the preliminary EDrive "proof of concept" is available. Furthermore, the source code is available and is free! I have put copyright notices in the source code, but there is no restriction on its use other than you cannot prevent me from doing what I want with it. (I plan to release later versions of EDrive as Open Source software, rather than free software). It is a very rough proof of concept telling me that I have worked out the most essential issues on the Windows and Linux platforms. You can get a zip file of EDrive 0.1 for Windows, a tarball of EDrive 0.1 for Linux ("tar -xzf edrive_0_1.tgz" to extract it), or the individual files (right-click and Save Target As):

Source code (optional): To use the Windows version, you will also need the DirectX 9 runtime if you don't already have it installed on your system. Programmers who want to play with the source code will need the DirectX 9.0 SDK "Summer 2003 Update" (or a later update of the DirectX 9.0 SDK, such as the "October 2004 Update" which is available as I write this)

To use the Linux version, you will need OpenAL installed on your system. If you don't have it, you can try my pre-compiled version of the OpenAL library (put it in /usr/lib and also "ln -s libopenal.so libopenal.so.0"). If that doesn't work, then you'll have to install OpenAL properly - you can use this OpenAL tarball (tar -xzf openal.tgz to extract it). Note that OpenAL is Open Source, not free, so if you distribute it, be sure to distribute the whole package including the source code. Some Linux versions also lack the GLUT library (extra OpenGL functionality), so if you need to install that, here is a GLUT 3.7 tarball. Finally, if you want to calibrate your joystick/steering wheel under Linux and you need to calibrate it, here is a calibration program from the standard joystick driver package ("cc jscal.c -lm -o jscal" to compile it, then "jscal /dev/js0" [or whatever device your joystick connects to] to calibrate it).

Have a look at the readme file for more information about EDrive 0.1.

There are a bunch of things I'd like to do, and I am interested in getting Seneca College programming students involved in contributing to the project. The next release, which hopefully will incorporate code added by these students, will be released as open source software (probably under the GNU General Public License) when it is ready. Some of the aspects I'd like to get people to work on are:

Seneca students who would like to help out are encouraged to contact me.

NEW! See the development snapshot (no guarantees that anything works there).