GLforth
About
GLforth is an OpenGL engine written in Gforth.Gameplay
You were playing a nice game of chess when suddenly the holodeck failed, security mode was disabled and you were attacked by Tron-Observers from the evil kernel32. Luckily you have found a rocket launcher from the Umbrella cooperation to defend yourself. Try to survive as long as possible, maybe someone (not the masterchief!) will come through the halo in the center of the world and rescue you ;)Authors
- Gerald Wodni ( Programmer - Maintainer )
- Daniel Abouakil ( Artist, Debugging - inactive )
- Norbert Sattler ( Artist, Debugging - inactive )
Screenshots
r18
r29
Benchmarks
Normal Game
| CPU | GPU | Graphics-RAM | Resolution | Multisamples | Average FPS |
| i386 1800MHz 512 KB Cache | GForce 8800 | 512 | 1024x768 | 4 | 626 |
Cube Benchmarks
| CPU | GPU | Graphics-RAM | Resolution | Multisamples | Cubes | Average FPS |
| i386 1800MHz 512 KB Cache | GForce 8800 | 512 | 1024x768 | 4 | 15625 | 13.39 |
| 64 | 640x480 | 1 |
Problems / Feedback
Feel free to submit your ideas and experiences or problemsDocumentation
Settings
- gams.fs
- window-width, window-height: window (contents) resolution
- window-fullscreen: instead of creating a window, glforth will render on the whole screen
- window-fovy: player's field of view angle
- window-clipping-near, window-clipping-far: elements outside this range will not be rendered
- player-movement-basic-speed: based upon this value the players frame based speed will be calulated
- fps-update: specifies the milliseconds between the environment updates (in the future the world will be updates after every frame)
- gl-multisamples: anti-aliasing factor (0 disables it), leave this to 0 until your gforth renders without problems
- cube-number: enables cube-benchmark (0 disables it), the number itself specifies the cubes per dimension
- debug-mode: will output some additional information to stdout during the game
- enemies.fs
- enemies-number: Number of allocated enemies
- enemy-dying-decrease: Alpha loss per world update
- rockets.fs
- rockets-light-offset: OpenGL features 8 lights supported by the GPU, this number specifies the first light used by rockets, together with ↓ this value must be ≤ 8
- rockets-number: number of allocated rockets
- rocket-segments: as a rocket consists of a cone, a pipe and a circle its not possible to display it without jaggies, increase this number to make the rocket "rounder"
- rocket-length-scale, rocket-diameter-scale: rocket's size in OpenGL-Units
- rocket-max-distance: maximum distance from worldcenter (when a rocket passes this distance it will self destruct)
- rocket-destruction-distance: rockets proximity ability, once a rocket gets this close of an enemies center it will blow up and kill the enemy
- world.fs
- star-number: Number of displayed stars
- star-seed: seed of the star-placing random generator
- star-size: size of a star (in OpenGl units)
- world-sections: quads per dimension (in OpenGL units)
Requirements
- Gforth 0.6.9
- libtool (also required by Gforth 0.6.9 itself)
- libSDL
- libGL
- libGLU
Downloads
- glforth_r18.tar.gz
first release
- glforth_r29.tar.gz
presentation-version for the EuroForth 2008
( features presentation mode + slides and in-game console )