a morphic roguelike engine for Squeak - development snapshot

by Stéphane Rollandin

What is this?

I am providing here a Squeak image with the current state of development of Roguerrants, a rather ambitious and experimental game engine for real-time 2.5D (parallaxed top-down) roguelike games.

Since this is a long-term project I am making the code available just as it currently is, warts included - there are already some nice algorithms and useful tools and data structures there (see the list below), not to mention a few nice demos.

A manual is included in the image - follow the guide. from June 16th, 2023 (based on Squeak 6.0, 64 bits - use the suitable VM)

The image contains many extra packages from different sources. All code of mine (initials are 'spfa') is open-sourced under the MIT license.
I would just like to ask those of you that may recycle part of this back into Squeak to please change the class names, or ask me about it, so that I do not find clashing incompatible versions of my own code in future Squeak releases.

Note that the image also contains all of muO (including LambdaMessageSend and Boadebui).

Screencast: a commented mini-game

(based on an older version of the game engine)
That's in French, I am describing the game to my dad...

The video shows a game in two parts: one is played turn-by-turn on a gameboard where my character is struggling with snakes to make its way to the center, where lies the Staff of Snakes. Once I have the staff, the board disappears and the game transitions to a new phase where three armed opponents appear - I can now use the staff to direct the snakes against them.

This mostly illustrates the combat system, and also the tactical gameplay where decisions are taken while the game is paused, and then executed. Playing in tactical mode is optional: in the second part of the game, the whole fight could have happened in real-time (and I would probably have died...).

There is a much more detailed discussion of these topics (among others) in the above image.

The game engine provides a seamless and flexible integration of different minigames with their own gameplay and internal logic, within the framework of a larger explorable open world. It is then possible to structure a large and highly complex adventure by essentially pluging components together: the source code for the game displayed here, involving very high-level components, is about 30 lines long - in a declarative style. And this being Smalltalk, the game can restructure itself dynamically at any level of granularity while being played, so the potential for interactive stories and auto-ajusting progression and difficulty is huge.


That's it

For more Squeak games, see Saucers! and Guardians.

...and back to the main software page