Lex's Avatar

Lex

@snoozingrat

Game dev, pixel artist, TTRPG writer. Rat parent.๐Ÿ€ In progress: - 2.5D party-based roguelike - action-platformer metroidvania - games re: mental health AuDHD, queer ๐Ÿณ๏ธโ€โšง๏ธ (they/them) Mastodon: @snoozingrat@mastodon.gamedev.place Itch: snoozingrat.itch.io

222
Followers
286
Following
345
Posts
07.11.2024
Joined
Posts Following

Latest posts by Lex @snoozingrat

Post image

there's no going back...

#pixelart #pixeldaily #indiegame #gamedev #aseprite

09.03.2026 11:15 ๐Ÿ‘ 51 ๐Ÿ” 8 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

One of the weirdest lingering effects from the concussion last year is that I get a much wider variety of songs stuck in my head, more frequently, more completely, and more accurately than before. Like a glitchy radio in my head.

Maybe it's time to dust off the keyboard and open Reaper again.

06.03.2026 15:39 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

To help picture the music that was in my head while I wrote this, imagine the lead vocalist screeching "collide" like an enraged mountain lion.

05.03.2026 02:28 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
# NOTE: 
# #-attack
#
# tracked you back to the start
# decrypted your deception
# staring you down at the end
# we're headed for a # collision
#
# we collide (the face in the mirror)
# you look like me (i'll break you up)
# you're nothing like me (i'll tear you apart)
# i'll get inside (shatter the chains)
# show you just how different we are
# 
# listing everything that's wrong
# with me and my perception
# i can see you clearly now
# we're headed for a # collision
#
# we collide (the face in the mirror)
# you look like me (i'll break you up)
# you're nothing like me (i'll tear you apart)
# i'll get inside (shatter the chains)
# show you just how different we are
#
# how long you've been gloating there
# thief of my own reflection
# can't compare me to you anymore
# we're headed for a # collision
#

# NOTE: # #-attack # # tracked you back to the start # decrypted your deception # staring you down at the end # we're headed for a # collision # # we collide (the face in the mirror) # you look like me (i'll break you up) # you're nothing like me (i'll tear you apart) # i'll get inside (shatter the chains) # show you just how different we are # # listing everything that's wrong # with me and my perception # i can see you clearly now # we're headed for a # collision # # we collide (the face in the mirror) # you look like me (i'll break you up) # you're nothing like me (i'll tear you apart) # i'll get inside (shatter the chains) # show you just how different we are # # how long you've been gloating there # thief of my own reflection # can't compare me to you anymore # we're headed for a # collision #

# we collide (you're not like me)
# we collide (you're nothing like me)
#
# i coalesce (from cracks in the glass)
#
# we defy (the face in the mirror)
# you look like me (i'll break you up)
# you're nothing like me (i'll rip you apart)
# i'll get outside (spread my wings)
# show you just how different we are
#
# we collide (we collide)
# we collide (i coalesce)
# i coalesce
# ...

# we collide (you're not like me) # we collide (you're nothing like me) # # i coalesce (from cracks in the glass) # # we defy (the face in the mirror) # you look like me (i'll break you up) # you're nothing like me (i'll rip you apart) # i'll get outside (spread my wings) # show you just how different we are # # we collide (we collide) # we collide (i coalesce) # i coalesce # ...

Me: Brain, will you pretty please absorb this tiny bit of information so I can get on with my work?

Brain: Best I can do is spend three hours writing a stupid metal song about hash collisions.

Why am I like this? (It's the ADHD.)

#gamedev #ADHD

04.03.2026 21:42 ๐Ÿ‘ 6 ๐Ÿ” 1 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
Video thumbnail

Guess I'm making portals now. Maybe I could use the stencil buffer somehow here.

#godot #godotengine #godotshaders

03.03.2026 09:48 ๐Ÿ‘ 552 ๐Ÿ” 64 ๐Ÿ’ฌ 15 ๐Ÿ“Œ 3
Video thumbnail

Luca saying goodbye to Robo, who is leaving the party to help tend a forest for future generations.
This is a Commission I just finished. Sharing it here with permission from my client.
#ArtProcessVideo #Drawing #Sketch #Illustration #FanArt #ChronoTrigger #VideoGameArt

19.02.2026 23:00 ๐Ÿ‘ 4 ๐Ÿ” 2 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
DevLog #2: I Coded A Dialogue System Between holidays and head injuries, I was slow to get work done on the Megastructure, but now I'm excited to say I have a customizable, extensible dialogue system of my very own - for use in this, or....

Second devlog! Talking a bit more about how I designed my dialog system.

Also, I improved audio and visual feedback when interacting with the dialogue options. That little arrow wasn't enough.

snoozingrat.itch.io/the-megastru...

#godot #indiedev #rpg #gamedev

18.02.2026 23:42 ๐Ÿ‘ 9 ๐Ÿ” 3 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Oh, just a head's up. I have some external code modifying the default_offset property to give it that curved motion up from the speaker underneath:

default_offset.x = dialog_box.size.x / 4

17.02.2026 04:44 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

No problem! It was a fun little challenge to tackle, and I'm happy to have helped!

17.02.2026 04:25 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
godot_sequential_text_effect | PasteFox by Anonymous ยท gdscript ยท class_name RichTextBubble extends RichTextEffect ## Bubble text floats from a given offset into place in the text box. ## Curves can be provided for c...

Here it is! The good thing about ADHD is that I leave myself a lot of comments. Whether they're helpful to other people is another story.

pastefox.com/q9edmn

17.02.2026 03:41 ๐Ÿ‘ 2 ๐Ÿ” 2 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Thanks! I wrote a custom BBCode script for it, which adds a delay between each character becoming visible based on its position in the String (with optional extra delay at stops). It also handles the animating of the text (which is customizable).

I'd be happy to share, if you wanted to take a look.

17.02.2026 03:05 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Video thumbnail

It's done! (For now.)

Pretty pleased with how my dialogue system is shaping up.

#godot #indiegame #rpg #gamedev

17.02.2026 00:58 ๐Ÿ‘ 28 ๐Ÿ” 4 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
A screenshot of the Godot Inspector panel, showing a variety of nested resources. Each resource represents a single task, such as displaying text, waiting for user input, or evaluating branches of dialogue.

A screenshot of the Godot Inspector panel, showing a variety of nested resources. Each resource represents a single task, such as displaying text, waiting for user input, or evaluating branches of dialogue.

The dialogue system itself is coming along great, but I am really going to have to find a better way to create and edit Transcripts.

The granularity is great for flow control and customization/extension, but...

This isn't even a long conversation (or all of it).

#godot #indiedev #rpg #roguelike

14.02.2026 18:08 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

New tileset and background system looking pretty good to be honest >_>
#monogame #pixelart #indiedev #gamedev

13.02.2026 23:31 ๐Ÿ‘ 28 ๐Ÿ” 6 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
Video thumbnail

Dialogue progress!

Automated punctuation stops, speaker name, branching dialogue, mixed BBCode effects, player input indicator. Almost doubled the font size, too.

Next step: the scratchpad node used to interact with the data from the rest of the game.

#godot #indiedev #rpg #roguelike

12.02.2026 20:19 ๐Ÿ‘ 8 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Messing around more with my spider legged little rig, this time I got a web/grappling hook thing to work, and I'm so proud of this little guy! #gamedev #godot #indiedev

11.02.2026 23:03 ๐Ÿ‘ 22 ๐Ÿ” 5 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Video thumbnail

Is this font too small for handhelds? (and also just in general)

I don't want to make decisions I'll regret if I need to scale it up later.

#godot #indiegame #accessibility

07.02.2026 17:55 ๐Ÿ‘ 6 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I'm on a #podcast, a good one, and I'm really excited about it :D

We'll be covering indie dev in general, working with collaborators and the upcoming #HighwayNoir

10am Pacific Time is 6pm GMT for my fellow Brits. And I'll be taking audience questions #JustSaying :)

06.02.2026 22:40 ๐Ÿ‘ 6 ๐Ÿ” 3 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Getting excited over Events for my dialog system, and then I catch myself thinking, "With Parallel I could run WaitInput and WaitTimer and return when either completes and..."

I felt a sudden chill as the spectre of QTEs loomed heavy over my shoulder.

Not today, Satan.

#godot #indiedev #rpg

06.02.2026 18:14 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
A photo of an adult male hooded fancy rat, Gus, hanging out in a drawer next to me.

A photo of an adult male hooded fancy rat, Gus, hanging out in a drawer next to me.

A photo of an adult male hooded fancy rat, Flea, chilling on a pile of fresh laundry (one of his favourite things).

A photo of an adult male hooded fancy rat, Flea, chilling on a pile of fresh laundry (one of his favourite things).

A photo of two adult male hooded fancy rats, Flea (left) and Gus (right). They're stretched out next to each other on a hoodie, beside one of their cardboard huts.

A photo of two adult male hooded fancy rats, Flea (left) and Gus (right). They're stretched out next to each other on a hoodie, beside one of their cardboard huts.

I love having these two as company while I work.

#rats #petrats #ratsky

05.02.2026 17:41 ๐Ÿ‘ 15 ๐Ÿ” 2 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Thanks! That's what I was imagining when drawing them, actually. The big one just looking like a block of crystal on the ground until it activates, the little one being a scout or repair bot or the like.

Part of me really wants to make the alien a shopkeep you can meet on runs.

03.02.2026 15:19 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
A pencil sketch of a pair of robots. The smaller one, upper right, is a hovering orb with a triangular screen for a "face."

The larger robot's head is a truncated rectangular prism. It's largest visible faces have markings that resemble angry and happy faces. The robot's head is hovering over its body, which is a similarly-shaped plate, and an orb that connects the two. It has three legs - each one is broad, and marked with a downward-pointing triangle on the top, and an upward-pointing triangle on the bottom.

A pencil sketch of a pair of robots. The smaller one, upper right, is a hovering orb with a triangular screen for a "face." The larger robot's head is a truncated rectangular prism. It's largest visible faces have markings that resemble angry and happy faces. The robot's head is hovering over its body, which is a similarly-shaped plate, and an orb that connects the two. It has three legs - each one is broad, and marked with a downward-pointing triangle on the top, and an upward-pointing triangle on the bottom.

A pencil sketch of a large entity that has a vaguely human-like upper torso, but three arms and an alien, triangular "head." The entity's body seems to be fused to its surroundings. 

The face is the most visually detailed element, with three eyes arranged at each point on the entity's triangular head. Softer lines and creases connect the eyes together, and a sharp-edged tetrahedron protrudes from the centre.

A pencil sketch of a large entity that has a vaguely human-like upper torso, but three arms and an alien, triangular "head." The entity's body seems to be fused to its surroundings. The face is the most visually detailed element, with three eyes arranged at each point on the entity's triangular head. Softer lines and creases connect the eyes together, and a sharp-edged tetrahedron protrudes from the centre.

I started idly sketching enemy concept ideas, with a vague theme of "triangles" in my head, and it sure went places.

My art tends to go two very different ways.

#art #weird #scifi #indiedev

03.02.2026 04:42 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Figured I'd share a bit of steam review insight on the horse game server inspired by this ๐Ÿซก

31.01.2026 11:20 ๐Ÿ‘ 156 ๐Ÿ” 95 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 2
Video thumbnail

Made some upgrades to Cinder's model and now she can move her eyes! ๐Ÿ‘๏ธ๐Ÿ‘๏ธ
Sorry for good quality editor capture.
#CRUST #gamedev #indiegame #indie

02.02.2026 18:04 ๐Ÿ‘ 255 ๐Ÿ” 38 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 1

Yeah, I feel that. An dropdown field for this would be so useful!

My initial thought was a script to automate taking the string ids and formatting them into a nice collection of enums for use as export variables, which I'd fetch as Strings at runtime.

02.02.2026 17:48 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Wow, setting this up was easy. It literally Just Works.

29.01.2026 20:39 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
A .CSV file open in LibreOffice. The three columns show the string IDs, the English translation, and a French translation for a test dialogue.

A .CSV file open in LibreOffice. The three columns show the string IDs, the English translation, and a French translation for a test dialogue.

Getting started on my localization CSV now, because it would be hell to implement later. Thankfully Godot seems to make localization relatively painless (said the person who has never tried to implement it before).

#godot #indiedev #rpg #roguelike

29.01.2026 17:40 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
A screenshot of the Inspector dock from Godot 4.6, showing how nested resources take up the full width of the inspector dock now, making reading and editing them much simpler.

This screenshot shows a hierarchy of nested Resources for the equipment loadouts for player-controlled characteres: the Loadout resource contains Equipment resources, which themselves contain StatModifier resources (not shown: CombatAction resources, defining the actions the equipment grants in combat).

A screenshot of the Inspector dock from Godot 4.6, showing how nested resources take up the full width of the inspector dock now, making reading and editing them much simpler. This screenshot shows a hierarchy of nested Resources for the equipment loadouts for player-controlled characteres: the Loadout resource contains Equipment resources, which themselves contain StatModifier resources (not shown: CombatAction resources, defining the actions the equipment grants in combat).

A screenshot of the Inspector dock from Godot 4.6, showing how nested resources take up the full width of the inspector dock now, making reading and editing them much simpler.

This particular screenshot shows the hierarchy of resources and nodes handled by the DialogPlayer. Transcripts hold Arrays of DialogEvents, which the DialogPlayer processes each sequentially; never moving on until the previous one sends its completed signal. When it reaches the end of the transcript, it closes the window and resets. 

This test transcript holds four events: two DialogEventDisplayTexts (with different text and parameters), each immediately followed by a DialogEventWaitInput, which simply puts the box in focus and waits on its _gui_input() for a cancel/affirm button press, before the DialogPlayer moves to the next line/Event.

DialogEventDisplayText handles fast-forward/skipping pretty great, which is such a relief (and took a bit to work the kinks out).

A screenshot of the Inspector dock from Godot 4.6, showing how nested resources take up the full width of the inspector dock now, making reading and editing them much simpler. This particular screenshot shows the hierarchy of resources and nodes handled by the DialogPlayer. Transcripts hold Arrays of DialogEvents, which the DialogPlayer processes each sequentially; never moving on until the previous one sends its completed signal. When it reaches the end of the transcript, it closes the window and resets. This test transcript holds four events: two DialogEventDisplayTexts (with different text and parameters), each immediately followed by a DialogEventWaitInput, which simply puts the box in focus and waits on its _gui_input() for a cancel/affirm button press, before the DialogPlayer moves to the next line/Event. DialogEventDisplayText handles fast-forward/skipping pretty great, which is such a relief (and took a bit to work the kinks out).

#godot 4.6 has been an absolute godsend in my extremely resource-heavy project. I know it has plenty of great going for it, but this single QoL feature is so, so good.

#gamedev #indiedev #rpg

28.01.2026 04:34 ๐Ÿ‘ 20 ๐Ÿ” 3 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Coding my own dialog system! Pretty basic - DialogPlayers process DialogEvents, from a Transcript resource, on a text box. "DisplayText" and "WaitInput" are it atm, but it's very extensible (e.g. "Choice", "Branch," etc)

If I could code a text editor for Transcripts though...

#godot #indiedev #rpg

28.01.2026 03:47 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

They're adorable!

20.01.2026 15:59 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0