← @stas Twitter archive

Stanisław Małolepszy

@stas

Two weeks ago over Easter I started working on a submission to the @Gamedevjs Jam. The theme was 'Raw,' and I wanted to create a processing pipeline simulator. This is how Super Simple Salad Simulator came to be. #gamedevjs

https://stas.itch.io/super-simple-salad-simulator

3.05.2022, 08:38:41

Favs: 12

Retweets: 5

Stanisław Małolepszy

@stas

It's my hommage to The Incredible Machine from 1993, and also to the vegetable salad, sałatka jarzynowa in Polish. It's a springtime treat in Poland. The full list of ingredients includes potato, carrot, green pea, apple, pickled cucumber, onion, boiled egg, and mayonnaise.

3.05.2022, 08:38:42

Favs: 2

Retweets: 0

Stanisław Małolepszy

@stas

When researching it for this project, I learned that the salad apparently started as a completely different recipe with many kinds of meats in it. Depending where you are, you may know it under the name of the French, the Italian, or the Russian salad. https://en.wikipedia.org/wiki/Olivier_salad

3.05.2022, 08:38:43

Favs: 2

Retweets: 0

Stanisław Małolepszy

@stas

Due to the Real Life happening at the same time, I wasn't able to complete all the features I had planned. Super Simple Salad Simulator is an unfinished sandbox, but I still think it can be pretty fun for a few minutes.

3.05.2022, 08:38:43

Favs: 1

Retweets: 0

Stanisław Małolepszy

@stas

There's no real gameplay nor end goal, other than discovering what the exact recipe is and trying to design a pipeline which puts the processed ingredients in the red bowl.

3.05.2022, 08:38:44

Favs: 2

Retweets: 0

Stanisław Małolepszy

@stas

I've had the most fun tweaking the frequency of spawning new ingredients, which can be a good stress test for the pipeline you design.

3.05.2022, 09:26:49

Favs: 1

Retweets: 0

Stanisław Małolepszy

@stas

The ingredients bounce off the edges of the screen which was meant as a temporary feature during the development, but I had so much fun playing with zooming the camera in and out that I decided to leave it in.

3.05.2022, 09:27:44

Favs: 1

Retweets: 0

Stanisław Małolepszy

@stas

It's also possible to tweak some parameters of the physics simulation. It's my custom work-in-progress engine, so it's not very realistic, but you can tinker with the friction of movement, bounciness of collisions, and the gravity.

3.05.2022, 09:29:10

Favs: 1

Retweets: 0

Stanisław Małolepszy

@stas

The collisions are rather naive: the ingredients collide with the utensils but don't collide with each other. They're implemented as two for loops on the main thread, which quickly becomes a performance bottleneck.

3.05.2022, 09:29:11

Favs: 1

Retweets: 0

Stanisław Małolepszy

@stas

However, I'm quite happy with the performance of the WebGL-based 2D renderer which I had been working on last year. When I turn the collision detection off, the renderer can easily scale to tens of thousand sprites.

3.05.2022, 09:29:29

Favs: 1

Retweets: 0

Stanisław Małolepszy

@stas

Thanks to Super Simple Salad Simulator, I had an opportunity to improve the renderer, and to build an automated pipeline for assembling images into a spritesheet. Managing assets turns out to be one of the most important features of a game engine.

3.05.2022, 09:29:31

Favs: 1

Retweets: 0

Stanisław Małolepszy

@stas

My goal now is to make Goodluck a capable solution for building 2D games before #js13k starts in August. I'd love it if someone other than myself and @michalbe builds a game in it. Stay tuned for Goodluck2D!

3.05.2022, 09:29:31

Favs: 7

Retweets: 1