JuggleMaster is now open source, and all the source code is available for download
or in a CVS repository. The official development page is found at
http://www.icculus.org/jugglemaster/
I have used the original JuggleMaster source code (written in C) to create a portable C++
library I have called JMLib. JMLib is the basis for JMPalm and JMPocket, and can be used to
port JuggleMaster relatively painlessly to other platforms with a C++ compiler. JMLib
basically uses C++ as a better C, and doesn't use any advanced C++ features (this is because
JMLib is targeted for embedded platforms), so basically any C++ compiler will do. Rewriting
the library to C if neccesary shouldn't be too much of a problem either.
I have also ported JMLib to JavaScript, which allows JuggleMaster to run inside a web browser.
A widget version of JuggleMaster using this library (for Opera and Dashboard) is also in the works.
Gary Briggs has also ported JMLib to TorqueScript, which allows you to use JuggleMaster inside the
Torque Game Engine.
JMLib has also been used to create a wxWidgets version, which enables it to run on
several popular platforms including Windows, MacOS and Linux/Unices. This port
is written by Gary Briggs. He has also written a aalib version, which lets JuggleMaster
run from a console. He is also the person who did all the work on making JuggleMaster
open source (figuring out licensing, setting up a CVS repository etc.)
Other versions include a QT version of Sharp Zaurus by Catstar and a OS X cocoa
version by Scotch Tom.
Porting JuggleMaster to your favorite platform shouldn't be very difficult,
as JMLib already takes care of all the juggling stuff as well as parsing and
validation of siteswaps. The following needs to be written specifically for
each platform:
- Graphics drawing / anmiation (where to draw the balls and hands is calculated
by JMLib)
- A user interface for selecting patterns etc.
Parsing of the pattern library is included in JMLib for platforms that can use the
standard C FILE* mechanism. Other platforms must provide their own implementation
(Palm OS is an example of such a platform.) The JavaScript version also uses a custom
pattern library format. Converters to turn the standard pattern library format into
the Palm OS and JavaScript custom formats are available.
The following different versions are already available in CVS as of 06.10.2006:
- aalib
- Cocoa (OS X)
- Palm OS
- Pocket PC
- Widget version
- wxWidgets (multiplatform)
- QT version for Sharp Zaurus
Hopefully this list will grow substantially in the future.
The following is a list of suggested platforms for JuggleMaster
(note that some of these may already be in the works, so before you
start coding, it is probably a good idea to drop an email to
Gary Briggs (chunky@icculus.org) or Per Johan Groland (jm@jugglemaster.net)
Nintendo DS / Game Boy Advance
PSP
Symbian
Linux PDAs
Microsoft.net
Gamepark GP32
etc. etc.
In fact, any platform with reasonable computing power will do!
Also, if you have ideas on how to improve JMLib with new features
(for instance 3D :), feel free to get in touch.
|