Ramen is a 2D game engine written in standard Forth.
- Built with Allegro 5, using AllegroForthKit.
- Tiled map support (partial)
- Sprite animation
- Multiple display list support
- Interactive commandline console
- ColorForth-inspired, minimalist code emphasizing flat data design.
- Fast rectangle collision detection
- Roundrobin multitasking
- Graphics primitives such as line, rectangle, ellipse, blit, text, etc.
- Publish facility
- Z-sorted rendering
- Basic sound support
- Data structure extensions - 2D arrays, stacks, node trees
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
cd
andinclude session.f
- the IDE should start. - You can
ld
any of these:depth
flies
rectland
island
stickerknight
- Hit Tab to toggle between IDE and the running demo. Only
rectland
has 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