A simple 3-D game based on Babal for HP48 by U-Foot.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data
scripts
src
CHANGELOG.txt
COPYING.txt
README.txt
babal_applet.html

README.txt

BABAL
Copyright (C) 2003 Emanuel Borsboom (http://www.nuel.ca/)
Based on Babal for HP48 (http://www.ufoot.org/babal/) by U-Foot.
Map data by U-Foot (http://www.ufoot.org/) and Makoto Miyamoto.

Goal:
    
    Don't fall into the holes!

Keys:
    
    Space - Jump    
    Up    - Speed up    
    Down  - Slow down    
    Left  - Move left    
    Right - Move right
    P     - Pause

About:

    I just made this to learn a bit about OpenGL and to experiment with writing
    a game using a scripting language (Python).  As a side benefit, since I
    could use Jython to run the Python code under Java and jGL for OpenGL, I
    made a Java applet version.  I thought folks might like to try it, so here
    it is.

    Babal was my favorite game for the HP48 calculator that I got in grade 11,
    and there doesn't seem to be anything like it for other platforms so I
    thought it would be a perfect game to remake for my project.

    This is totally un-optimized, so it runs much more slowly than it should,
    especially the Java version (jGL does not appear to have been made for
    real-time, and Jython isn't exactly fast either).  My PIII 800 only runs
    the Java version a little bit faster than the HP48 version ran!

    The game isn't complete yet.  There is no score keeping, and you can't
    actually win (once you reach the end of the level, you just keep going
    forever).  Most of the original game is there, though, and it's just as
    addictive.

    I have a number of ideas for expansions on the concept that I may be
    implementing in the future, in addition to speed and graphics improvements.

Running the Windows executable:

    Requirements:

        - OpenGL.  Any recent version of Windows should include this.

    Unzip 'babal-win32.zip' and run 'babal.exe'.  To play a different map,
    specify the filename on the command-line.

    I have tested this with the following configurations:
    
        - Windows 2000, nVidia gForce 3
        - Windows ME, Matrox G400
        - Windows 98, NeoMagic 128XD

Running it using Python:

    Requirements:

        - Python (http://www.python.org/).  Tested with version 2.2 under Linux
          and Win32.  The 'python' executable must be in your path.
        - PyOpenGL (http://pyopengl.sourceforge.net/).  Tested with version
          2.0.0.44.

    Run it from the base folder using the following command-line: 

        python src/babal.py

    To play a different map, specify the filename on the command-line.

    I have tested this with the following configurations:

        - Linux Mandrake 9.0, Matrox G400
        - Windows 2000, nVidia gForce 3
        - Windows ME, Matrox G400.
        - Windows 98, no video acceleration

Running it using Jython (Java):

    Requirements:

        - Java (http://java.sun.com/).  Tested with J2SE 1.4.1 and JDK 1.1.8.
        - Jython (http://www.jython.org/).  Tested with version 2.1.
        - jGL (http://www.cmlab.csie.ntu.edu.tw/~robin/JavaGL/).  Tested with
          version 2.4.
        - You must modify jGL's jgl/GL.java class and add this method:

            public MemoryImageSource glXGetImageSource() {
                return new MemoryImageSource(Context.Viewport.Width,
                                             Context.Viewport.Height,
                                             Context.ColorBuffer.Buffer, 0,
                                             Context.Viewport.Width);
            }

          Then, recompile jGL.
        - The 'jython' executable must be in your path.
        - The jGL classes must be in your CLASSPATH.

    Run it from the base folder using the following command-line: 

        jython src/babal.py

Building and running the Java Applet:

    Requirements:

        - Same requirements as above.
        - If you want the applet to run in as many web browsers as possible,
          use JDK 1.1.

    To create the Applet JAR, run 'scripts/build_applet.sh'.

    To view the Applet, load 'babal_applet.html' into your web browser or
    appletviewer.

    The 'map' Applet parameter specifies the map to load.

    I have tested the applet with the following configurations:
    
        - Windows 2000/Linux, Mozilla 1.2, J2SE 1.4.1
        - Windows 2000, Internet Explorer 6.0, J2SE 1.4.1
        - Windows ME, Internet Explorer 5.5, JRE 1.4.1
        - Windows 98, Internet Explorer 6.0, JRE 1.4.0
        - Windows 98, Internet Explorer 6.0, Microsoft JVM 98 (some graphics
          glitches, but playable)
        - Windows ME, Internet Explorer 5.5, Microsoft JVM 2000

    In theory, the applet should run in any browser that supports Java 1.1 or
    above.

Building the Windows executable:

    Requirements:

        - Same as for running the Python version
        - py2exe (http://starship.python.net/crew/theller/py2exe/index.html).
          Tested with version 0.3.3.
        - Info-zip zip (http://www.info-zip.org/)

    First, edit 'scripts/build_exe.bat' and set the variables at the top
    appropriately.

    Run 'scripts/build_exe.bat', which creates 'babal-win32.zip'.

License:
    
    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the Free
    Software Foundation; either version 2 of the License, or (at your option)
    any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.