README

Ramen is a 2D game engine written in standard Forth.

1.0 Documentationarrow-up-right

Status:

2.0 is in development and it fixes and improves on a lot. I am working on a rewrite of my Zelda clonearrow-up-right which runs on 2.0.

Setup (new)

This is the package repo, which depends on other packages. Grab the Distributionarrow-up-right which includes all the dependencies at the correct versions.

Download SwiftFortharrow-up-right

(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 Twitterarrow-up-right.)

Features

  • Built with Allegro 5, using AllegroForthKitarrow-up-right.

  • Tiledarrow-up-right 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_Yarrow-up-right

Also check out The Ladyarrow-up-right, 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)

  1. Download SwiftFortharrow-up-right. After installing add the bin folder to your path.

  2. Download or clone ramenExamplesarrow-up-right

  3. (If you download a release directly into your project, rename the folder to just ramen).

  4. Copy and rename afkit/kitconfig.f_ and afkit/allegro5.cfg_ to the project root, removing the underscores. Edit them if needed.

  5. Optionally get Komodo Editarrow-up-right and loading the project file - just hit F5 and the IDE should start.

  6. Otherwise load up SwiftForth, navigate to the project directory with cd and include session.f - the IDE should start.

  7. You can ld any of these: depth flies rectland island stickerknight

  8. Hit Tab to toggle between IDE and the running demo. Only rectland has any controls.

  9. For a more advanced example check out LinkGoesFortharrow-up-right. Note the IDE is active by default. The game won't receive input until you toggle out of it.

Help

Projects

Last updated