Frame of Mind

a game of thoughts.

Frame of Mind is a brief and cozy narrative game that lets you discover a character trough thoughts and mementos they find while moving out of their parents home. It's an introspective game, meant to share some experiences a peer-group of neurodivergent queers, including the developer, had growing up.

Made by @betalars
Part of @purpleSloth.
Beginning of polynormal games.

2025-06-15

#Steam #NextFest was quite the wild ride!

We hat tons of great community feedback and also a networking event smack down in the middle of it.

@betalars held a deep-dive workshop on 10 Insights into Godot and we hope to record that for a wider audience soon.

This evening, we will also once again do a live stream. This time not with hotfixes, but - as promised - with actual #VFX magic. ✨

#gamedev #godot

Frame of Mind boosted:

Today we check out an extension for #GodotEngine that really should be built-in, DebugDraw 3D. It makes visualization inside Godot stupidly easy.

gamefromscratch.com/godot-debu

#gamedev #indiedev

2025-06-10

@outfrost a very special time :D

2025-06-10

Day two of #Steam #NextFest

Join us in creating sparkling shaders and ask us anything!

We will be showing off how we create shaders and textures in blender and also some of the dark magic that is shaders in Godot. prepare for minds to be blown and trains to be dipped into a river of time.

#godot #gamedev #vfx #blender

steam next fest sharepic for june 10 16pm CET
live development and vfx magic is written on sticky notes that are attatched to a cutout train car that has a arrow pointing at a splash in train tracks that are filled with glowing waves in a subway station
2025-06-09

We will be live-streaming during next-fest on #steam. Yes the fact that steam has a streaming-service built in also was news to us.

During this stream, I will probably mostly work on a subway car in #blender

store.steampowered.com/news/ap
#gamedev #indiedev

Steam Next Fest June 9-16.
Play the demo.
Live development and playtesting!

Sharepic with a purple-green steam design, some sticky notes and a blurry git diff in the background.
Frame of Mind boosted:
Sordid Amok!SordidAmok
2025-06-06

If all electric companies were publicly owned, they'd all be powered by renewables. Your electric bill would just be for maintenance.

2025-06-03

We all know thoughts we didn't choose to have yet got lodged into our brains. Does burning them bring you closer to a better frame of mind?

#gamedev #shaders #vfx

2025-06-02

To celebrate #pridemonth, we decided to rebrand our ... oh wait.

Sorry, my bad.

I almost forgot we've always been #queer

polynormal games Logo:
geometric design with a rainbow colored infinity symbol that makes up the Os of poly and normal.

the implied perspecive of the infinity design goes against the direction of the text, making the logo somewhat escheresk.
2025-05-29

Context:
godot can pause the scene tree meaning all nodes do not get function calls and stuff.

You can include or exclude components by explicitly setting their process mode.

The pause menu should be set to always process, naturally. However as in my game for somewhat weird reasons, the root scene handles the pausing and unpausing of the game, I set a trap for myself.

Because the demo uses a stripped down version of my usual main scene and I forgot to reconfigure the pause mode.

Frame of Mind boosted:
2025-05-29

🎉⛵ TRAILS is out now! ⛵🎉

Hoist the sails - the desert awaits!

Get the game here:
store.steampowered.com/app/3605120/...
purplesloth.itch.io/trails

#indiegame #release

2d Keyart of our game TRAILS. A white sailing ship with a violet sail is moving over the dunes of a stylized desert, leaving a dust trail behind it. The red mountains in the background are lit by a rising sun. The logo "TRAILS out now!" is set in front of the sun.
2025-05-29

I was wondering why the pause menu wouldn't close.

Note to self: setting the pause menu process mode to pausable may cause game to become un-unpausable. :godot:

#godot #gamedev

2025-05-22

Okay one really neat thing about #Godot voxel global illumination is you can have multiple intersecting voxel grids and can attatch these to moving objects. 🤯

I can bake the light in my subway car and have it move into my subway station that also has baked lighting!!!

Unfortunately, it seems to be quite heavy on performance. so I may to find another solution. or find a way to make it more efficient.

2025-05-04

Our shader uses two vectors: the total amount of sloped movement and the total amount of horizontal movement our staircase must do to cross a given distance and height.

We then gradually increase both values to one as the stair moves up.

Using a lot of cosine, we also interpolate transitions where stairs will slide across each other to transition from a surface to a staircase.

Visualized is the difference in horizontal and sloped movement with pink and green.

diagram of one stair moving relative to another stair with some vectors. It illustrates how the front faces of stairs are cutout cylinders and how a movement vector from one stair to another will always have the same length regardless of slope.

It (poorly) demonstrates how this means the upper stair moves slightly in on the lower stair.Diagram of vector scale over time with a  green and a pink line both starting at zero. First the pink line increases linearly. When it crosses a dotted line, it flattens out while the green line starts to gradually increase following an inverse cosine-curve that touches the zero-line.

Then the green line linearly increases as the pink line stays flat until they switch around again to finally meet at the top.diagram illustrating how an escalator will transition from horizontal to sloped back to horizontal movement.
2025-05-04

Okay recently we discussed how to create an efficient escalator geometry, but what about animating it?

Of course you can always just send a bunch of stairs along a spine, but I didn't like that. First of all: a bunch of objects running on a loop seems like a bit of a hassle and also a waste of draw-calls.

So as I was expecting to do a lot of math anyways, I wanted to just do it properly.

mastodon.gamedev.place/@FrameO

#godot #techart #gamedev

2025-03-31

In their defense: they were warning me about the process of verification taking a long time because the testing is quite thorough.

I am not 100% sure if they were concerned about text being smaller than this in their game.

2025-03-31

So maybe because it is awesome and it runs #Linux, maybe because I actually used it as a development machine, but my goal was always for Frame of Mind to be verified on #SteamDeck.

So recently I talked to another #GameDev about it and they said getting verified was hard, as valve tests everything, even font size.

So to make sure I won't mess that up, I made sure to make myself a size template to illustrate the recommended and the absolute minimum text size valve lists:
partner.steamgames.com/doc/ste

A banana for scale with a lilac text on dark grey background:
Game Developers were worried about meeting this Usability Standard.

An arrow points to two very small black on white text boxes:
This is considered legible on a SteamDeck.
and
this is the smallest text that will be verified.
2025-03-29

We have released our Demo on Steam. Since the public alpha still available on #itch, it may appear as if nothing big has changed.

But we have made tons of progress under the hood in the time in-between.

There's internationalization, a really nice menu with settings, there's save games, the UI has been overhauled to make it more stable and intuitive, we wrapped up the story for the second part of the game and are working hard on creating a flat that is as detailed as the first room.

#GameDev

Rendering of a messy youth room with a desk lit by a warm lamp, a starlight projector and a back-free rocking chair in front of a brick wall.
2025-02-25

Small Note:
We Originally wanted to attend #Steam next fest, but could not due to our demo not getting reviewed in time.

So a heads up for any #indie #gamedev that is trying to touch sensitive topics with their game:

The usual two week deadline for submitting builds is not enough. There will be more back and forth necessary and you will miss promotional events and maybe even your release if you think the two weeks will suffice.

2025-02-24

The most fun thing about this asset are the stairs tho:

They use two neat tricks: First and foremost I don't use tons of geometry to create the gills, but rather a texture with rills and a second texture with transparency right on top to create a very convincing effect that won't cause anti aliasing nightmares.

Second trick: I am not bothering with making these separate objects and giving each one an animation. I am just going to create a displacement sharer to make the escalators move.

rendering of escalator stairs from below. They seem to have depth but with one stair model is broken apart.
On the right side you can just see an array of thin metal pieces next to each other with spaces inbetween. On the other side, a slightly smaller sheet of metal that seems very groved, but has a flat silhouette indicating the rills are created using texture magic.

When examining the teeth of the other stairs closely, you can see the teeth actually are just a hull placed around a second slightly smaller mesh.
2025-02-24

I think I am going to go with a hybrid approach:

Because one undeniable benefit of a dedicated material is I have some place to put decals and make the asset a lot more lifelike.

I can still also somewhat make use of tiling when I'm smart about it. The panels can re-use the same texture space and the handrails can also tile when you unwrap them correctly.

Also I found out a lot of dedicated textures can be reused as atlas textures on other assets when you are bold enough.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst