Ramen is a 2D game engine written in standard Forth.
This is the package repository, containing only Ramen and none of its dependencies or any examples.
Currently all documentation pertains to the 1.0 branch.
2.0 is being developed on the Master branch. The new main distribution repository, containing all dependencies (as submodules) and examples, is at https://github.com/RogerLevy/RamenEngine.
I didn't see any conversion on 1.0/1.x (and probably for good reason) and I don't expect anyone to use it right now , but here is a link to the 1.x documentation anyway: Documentation
- Built with Allegro 5, using AllegroForthKit.
- Tiled map support (partial)
- Sprite animation
- Multiple display list support
- Interactive commandline console
- Fast rectangle collision detection
- Roundrobin multitasking
- Graphics primitives such as line, rectangle, ellipse, blit, text, etc.
- Publish facility
- Z-sorted rendering
- Basic sound support
- Collections with Venery
Want to watch some videos? Here's footage of examples from Ramen's predecessor. They're being updated to work on Ramen.
https://www.youtube.com/playlist?list=PLO8m1cHe8erpbejS5yZVJAsQNI4Lmpo_Y
Also check out The Lady, a commercial game I wrote in Forth to prove it can be done. Large chunks of this game's engine live on in Ramen.
- Download SwiftForth. After installing add the bin folder to your path.
- Download or clone ramenExamples
- (If you download a release directly into your project, rename the folder to just
ramen). - Copy and rename
afkit/kitconfig.f_andafkit/allegro5.cfg_to the project root, removing the underscores. Edit them if needed. - Optionally get Komodo Edit and loading the project file - just hit F5 and the IDE should start.
- Otherwise load up SwiftForth, navigate to the project directory with
cdandinclude session.f- the IDE should start. - You can
ldany of these:depthfliesrectlandislandstickerknight - Hit Tab to toggle between IDE and the running demo. Only
rectlandhas any controls. - For a more advanced example check out LinkGoesForth. Note the IDE is active by default. The game won't receive input until you toggle out of it.
- Submit Issues
- Tweet @RamenEngine
- Forth: The Hacker's Language on HACKADAY
- Programming Forth by Stephen Pelc
- Forth Programming 21st Century on Facebook - The current active and growing forum on the web for modern desktop Forth programming (as opposed to on embedded or classic computers.)
- Allegro 5.2.3 Documentation
- Allegro.cc forum - A very helpful and fairly active community. And gladly, language-agnostic.
- The DPANS94 Forth Standard