README
Ramen is a 2D game engine written in standard Forth.
Status:
2.0 is in development and it fixes and improves on a lot. I am working on a rewrite of my Zelda clone which runs on 2.0.
Setup (new)
This is the package repo, which depends on other packages. Grab the Distribution which includes all the dependencies at the correct versions.
Download SwiftForth
(GForth support is working on Linux, if anyone can help get it working on Windows please get in touch (post an issue or send me a message on Twitter.)
Features
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
See Ramen in Action
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.
Getting Started (OLD!!! will update when 2.0 releases)
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.
Help
Submit Issues
Tweet @RamenEngine
Links and Resources
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.cc forum - A very helpful and fairly active community. And gladly, language-agnostic.
Projects
Last updated