Keep up on this project through my Blog.
ForthQuest (A.K.A. Quest) is a library that's intended to become the preeminent game development language extension for Standard ANS Forth. Forth is a minimal-syntax, stack-based language that is the fastest interpretive language that also makes it easy to extend the language - application-writing in Forth is language-creation. Quest currently supports the SwiftForth compiler/IDE, but future target platforms include GForth (Linus and Windows), VFXForth, Win32Forth, PowerMops (Mac), and Swiftforth for Linux. Quest is based on OpenGL and uses SDL to manage input and image data, and DevIL to save and load images.
ForthQuest can do a lot and will be able to do a lot more, but currently here are some standout features:
- Included Graphics Editor for editing sprites and tilesets
- Collision detection between points, rectangles, ovals, and circles (future combos include lines, polygons, and bitmap)
- Robust 2D support with the groundwork laid for future 3D support
- Display trees
- Flash-style Tweening
- Fast tilemap, sprite and text
- Fixed-point Math
- Cooperative multitasking
- Infix parameters (for some words, currently basic and limited)
SwiftForth is available for free on an unlimited trial basis from http://www.forth.com. The only things that are missing from the trial version are the system's source code and the ability to export .EXE's, but you can still run programs directly from source code. SwiftForth has a great OOP extension that you can use with this library, though the library itself is written without OOP to increase portability.
The library is compromised of these sub-libraries:
- KAGI - Contains several generally useful functions
- SEKI - OpenGL windowing, input, portability
- SORA - Game engine building facilities, incl. graphics
- MARU - Development facilities
- MONO - Future GUI library
- YOKU - Future runtime foundation library
Docs at the moment are sparse, but if you love figuring things out, download the distro and see what this is all about for yourself.