expand; repeat; is a game where you build machines and program them using a special visual scripting language. It's a submission for the 2024 GMTK Game Jam. It fits the theme for reasons too advanced for a human brain to comprehend.


As of now, there aren't many features. But we built what we built and we're proud of it. Enjoy the experience.


SHORTCUTS:
ESC to quit

In world:

* WSAD to move around
* Space to instantiate a blueprint (there's also a plus for that)
* Tab to switch to editor (there's also a button for that)

In editor:

* Ctrl+N for new file (There's also a menu for that)
* Ctrl + O for open file (There's also a menu for that)
* A for add node
* S for an alternative add node menu
* Move around by dragging
* Drag the nodes around with mouse. Connections also by dragging
* Remove connections by clicking on in/output with RMB
* Remove modules by clicking on them with RMB
* Select modules by clicking on them.
* Tab to switch to world

The game saves when you quit.

Impulse is the scripting language. You can only connect matching colors unless one of the connections is white. Nodes get updated when one of their inputs changes. If a node has an "Impulse" input it only updates on input changes AND an Impulse-typed input. If a node has an "Impulse" output, it fires when any of the outputs changes.

Blueprints are the things where you build your machines. Machines are made of modules. A machine cannot have disjoint modules and can have at most one Core module. The Core module also has a special setting: Script. Set it to a name of one of your scripts for it to load onto the core.

In the world you can instantiate your blueprints and watch your machines do wonders.


TUTORIAL:

The game doesn't have a tutorial, which can be confusing for new players. So here's a quick walkthrough to make your first basic machine started.

First, let's create a machine. For that, either press the notebook icon in the top left corner or press Tab. Then, from the top menu choose File -> New File or press Ctrl + N and in the window that appears select Blueprint from the dropdown. Choose a name of your own liking, I'll go with "Pathfinder". From the newly appeared bar in the bottom of the screen choose and place a purple-colored module named "Core" and place it somewhere in the main editor window. Then, place a "Motor" next to it.

Now is the time of the script. Create a new file again, this time select "Script" from the dropdown and call it whatever you want. I'll go with "motion". In there, press A or click the Add button and add a Move node from the Interfaces category. In a similar fashion, add the Startup node and connect its Impulse output to the Move's Impulse input (click & drag). On the Move node there are also two inputs. They represent a vector. The top input is X, the bottom is Y. Set the X to 1. This way the programmed machine will move to right.

The way it works is that the Startup node, when the machine first wakes up, will send an Impulse through the connection to the Motor node. This will move in the specified direction until either the direction changes or the machine collides with something. When a collision happens, the Motor's Collided Impulse output will send a signal. Now all that's left to do is connecting the script to the machine. To do that, simply switch back to the machine using the tabs or Ctrl + O or File > Open, click on the Core module and in its settings change the "Script" value to the name of your script.

Now simply switch back to the world (Back to World button or Tab), press Space or the plus button in top left corner, pick your blueprint from the displayed list and place it somewhere on the grid. You can now admire your machine moving to the right every half a second or so.


CREDITS:

1 Temporarily anonymous person
Art - Ghostek
Music - Princent Vice
SFX & Concept Art - Aleksander Książek
Programming - Michał Margos

Download

Download
Windows executable 72 MB

Install instructions

Should work after decompressing.

Leave a comment

Log in with itch.io to leave a comment.