Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

sok-stories reference Sticky

A topic by Sokpop Collective created 68 days ago Views: 471 Replies: 9
Viewing posts 1 to 3
Developer (8 edits)

This is a reference for the basic use of sok-stories, as well as some more detailed info over how exactly the rule system works.

Basic use

To start making a story, first click the plus in the object list and then draw something on the sketchpad. You can't add another object until the newly made one has been drawn on. The object shown in the sketchpad is also your selection for the level editor and the rulebook. Clicking the lock will toggle whether the object is dragable or not.

Drag or place objects onto the canvas by dragging from the object list (which will select that object) or clicking. Double-click an instance on the canvas to bring it to the front. Right-click to remove an instance.


To add a room, click the plus on the left from the canvas. You can add another only if the new room isn't empty. To remove a room, simply leave it empty and remove any transitions that directly reference it. If it's empty and  and not last, it will be removed. If it's empty and it's the last room, it will get removed when you save.

The toggle to the left of each room indicates if it restarts or not. A room restarts when it is entered via a transition. You can bring a instance into a restarting room with the "take" argument in the transitions. A persistent room will be the same when you re-enter it.


Click the rulebook to edit rules. Flip its page to see the transitions. Rules only take objects, transitions take objects on the left-hand side and a resulting room on the right. You can either click a circle to add an object there, or drag one on from the object list at the bottom. Click the area right from "go to:" to toggle the resulting room. 

When the person is released on the door, the game will go to the next room, taking the person with it.

Click the arrow to change a rule or transition from being on release or on-click to executing every tick. To play a sound when a rule fires, click the smaller circle to the left of the rule. This opens a menu to select a sound effect. For the transitions, clicking this circle selects the object to take with you to the next room.  If a "go to next" is executed in the last room, it will loop around and go to the first room. The same goes for when a "go to prev" is executed in the first room.

Click the rectangle at the top of the canvas to edit a story name. Click the circle to change the game's icon to the object you have currently selected. Click the save button to save and go back to the menu. 

In-depth rules description

There are two types of rules: single left-hand side (LHS) rules and combine rules. Rules with an empty LHS are ignored. Single LHS rules work on-click by default, combine rules work when you release one object and it collides with the other. Combine rules always pick the object they collide with that's most on top if there are multiple collisions at once.

For continuous (every tick) rules, both single LHS and combine rules execute on-tick. One important thing to note is that the case that both are on tick, combine rules always go before single LHS rules, so an object that can both execute a single LHS and a combine rule, will always pick the combine rule.

If there is a collision with a plant object, the top rule will always be executed.

Rules are evaluated starting with the top-most instance going down, and each instance will try to combine with the instance most on top. If there is no combine rule or transition possible for that instance, it will try to execute a single LHS rule instead.

If there are two or more rules with the same LHS possible, a random one of these is picked on execution. This also works for combinations of rules and transitions that have the same LHS. One more thing to note is that order of the LHS has to match.

coin flip example

The blue object will either turn into a heads or a tails object when clicked.

As for the resulting objects, the leftmost object from the right-hand side (RHS) will try to replace the leftmost object in the LHS. The middle RHS object will replace the rightmost LHS object. "Replace" means it will take its depth, position, and become the new dragging object if it was dragged before. The rightmost RHS object is the "result", and is placed halfway between the two LHS objects, all the way on top of other objects.

This rule will flip the positions of the two soccer players every tick.

If there is no object to replace (for single LHS rules), the left and middle RHS objects are instead added at the position of the single LHS object, and so that they are most on top.

Objects can only execute one rule at a time, so newly created objects won't execute another rule in the same tick or frame. If a transition fires (changing the room), the rest of the rules for that tick in the previous room are not executed.

Releasing outside of sok-stories

Unfortunately, there is no native way to export a story in a standalone way, except for the link you get on You can, however, put the game on itch linking to your game's page. Because the link is shareable, you can't ensure that people will pay for it, but pay-what-you-want will work well this way. You can also hide your story from the library list so it's only discoverable through your own channels. 

Edit: You can now use this Unofficial sok-stories Embedding Tool to make a standalone HTML file for your game! Wow!

( fwiw I don't think the object replacement rules are consistent between the web player and the downloadable client? in terms of what ends up on top ... )


No, i'm still working on getting them to be consistent on web! Will fix in about a week's time

"If there are two or more rules with the same LHS (in the same order!) possible, a random one of these is picked on execution. This also works for combinations of rules and transitions that have the same LHS."

is there a visual to this example- im a bit confused on it but sounds like a cool way to make randoms!

Added a screenshot of a random rule. You can try it out here!

thanks i tried it and it worked! visuals help! Is there a way to make it so an object can collect starting from top to bottom but not bottom to top? also, how can install any patches after i purchased it! Keep up nice work! PS that mario runner //platformer is sweet! Im trying to figure out how to make my own based on it.. 


Not sure about your collecting question. You can "install" patches by just downloading the newer version from here, or it will happen automatically if you're using the itch app!

thanks! i figured out another way to collect based on order (so the person has to pick the right object first). Ok thanks!

hi i made my first game demo (like a figure out the emojis/drawings). How can I show others is there an online place to see the game?  I uploaded it to library thanks.

Developer (1 edit)

you can play all stories in browser: