#GDScript

Whatisgoingonthemipper
2026-02-12

Took me a while to find a balance that I feel comfortable with when using entity component systems, nodes and state-machines concurrently.

Currently updating my older implementations. Already looks cleaner and easier to add systems and features. There is no better metric to know that you learned something 😃

And as usual there are a million ways - just need to find the one that works for you.

2026-02-12

Interesting that the only difference between a breadth-first search and a depth-first search is whether you get the first or last item from the queue...

#Godot #GDScript #Programming #GameDev #Godot4 #BFS #DFS #BreadthFirstSearch #DepthFirstSearch

Screenshot of a GDScript function that does either a breadth-first search or a depth-first search based on the boolean value of an argument.
2026-02-12

Really enjoying learning about #pathfinding algorithms and how to apply them to #tilemaps in #Godot.

#Godot4 #GDScript #GameDev #Programming #BFS #BreadthFirstSearch #tileset

2026-02-08

Why, when I create a new variable, does it have a different color than my other variables? It's grey instead of blue...

#Godot #GDScript #GameDev #Godot4

Screenshot of a Godot script showing how a newly-added variable name displays in grey rather than blue like other variable names.
2026-02-07

Passing arrays by reference is a weird concept that's bitten me a few times. I need to remember to do a deep copy/duplication instead. If there's a good reason for references, I haven't come across it yet...

#Godot #GDScript #GameDev #Programming

2026-02-06

Godot
Struggling with UI
As foreseen by prophesy
Trying to export a value so I can set Alignment of rows of boxes in a re-usable hbox_container, but success is eluding me

#godot #godotengine #gdscript #gamedev

2026-02-06

Blades in the Dark
Godot
Contacts list is working - Select a Playbook, and names/descriptions are filled in
Clicking the faces changes Relationship.
Not extracted as a Generic Node setup yet, but I've (almost) got the hang of how to that

#godot #BladesInTheDark #gamedev #ttrpg #godotengine #rpg #gdscript

A list of Contacts, with brief description and "Smiley" face showing relationship
Green/smile = good
Blue = neutral
Red/Frown = bad
2026-02-04

Still all muddled on where to store all my data.
I've got a bunch of (mostly) static info to be called up by the Character Sheet.
Currently, most of it is stored in ScoundrelManager, as that is where is is used (to send to Scoundrel)
I have extracted some to its own (Global) file.
Should I move it all there? Should I make more Global data-stores?
Is there a better way?

#godot #ttrpg #gamedev #rpg #gdscript #BladesInTheDark

2026-02-03

Blades in the Dark
Godot
Representing Clocks
I'm making an interactive Character Sheet, and looking at ways to represent Clocks (beginning with a Healing Clock)
I've considered using a Texture Button, and Clicking it moves the Segments on. Looks quite intricate tho
Any better ideas? Sprite2D, with some sort of on-click?

#godot #ttrpg #gamedev #rpg #godotengine #bladesInTheDark #gdscript

Snippet of Character Sheet showing Harm and Healing section including Healing Clock (outlined)
2026-02-02

Blades in the Dark Character Sheets:
I have a whole bunch of data (mostly lists of Text, but some text Dictionaries, and other) that needs to be called by Character Sheet.
What is the best way to hold this data, and where?
e.g. lists of Heritages, Backgrounds, Special Abilities (by Playbook), etc

#ttrpg #godot #gamedev #rpg #godotengine #gdscript #BladesInTheDark

2026-02-01

Blades in the Dark Playbook in Godot
Running into data-storage questions.
2 Current questions:
1) Save Scoundrel (etc) Data so it is available next time app is run.
2) call additional Data (e.g. list of Crews) for Scoundrel to pick from/add to.

If anyone knows resources to point to, or things to search for, please do be saying

#godot #godotengine #gdscript #ttrpg #rpg #bladesInTheDark

2026-02-01

Big announcement today!!!

I'm officially going ✨part-time✨ to make more free interactive guides for Godot!!

You can support me on Patreon and get early access and cool rewards 😎

To celebrate, I made a free tween cheatsheet in 8 languages, available here:

patreon.com/posts/tween-cheats

Boost are very appreciated!! 🩵🩵

#Godot #MadeWithGodot #GameDev #Indie #GDScript

A tween cheatsheet for Godot, going over sequences, tweeners, transitions, eases, an example, killing tweens and other usefull methods
2026-01-31

Complete pivot back to roots
One of the first things I created on computer was a D&D character sheet
I'm currently running Blades in the Dark, so I think I'll build a fully-interactive PC Sheet, for keeping track of things.
Right... where do I start? Control Nodes? Panel? VBoxContainers? Wow, lots of stuff going on here...
Then I need a Data Layer, for all the different info (multiple PCs, Factions, Contacts, etc)
Lost already

#ttrpg #gamedev #rpg #godot #gdscript #godotengine #BladesInTheDark

2026-01-30

Here you can see GDKata in action :) I think it turned out quite nice #godot #kata #learnprogramming #coding #gdscript

2026-01-30

I love it when I have a question, and then the documentation answers it for me.

#Godot #GDScript #GameDev

Screenshot of Godot's documentation that explains how void functions can return early without returning a value.
2026-01-29

github.com/Paragrimm/GDKata

Since nobody cared: I polished it a bit and made it open source. I think it's a nice resource to #learn #godot and #gdscript via code #kata. Feel free to add further Katas :). Also make sure to read the disclaimer as I've used AI for the finishing touch to save time.

2026-01-28

In #Godot, how do I set the return type of a function if it returns `null` sometimes and an `Array` other times?

Is `Variant` the only option, or can I specify multiple return types?

#GodotEngine #GDScript #Godot4 #GameDev #programming

2026-01-24

godot ceasar cipher
now even you can hide your military plans in plain sight

class_name CeasarCipher
extends Node


const ALPHABET: Array = ["a","b",'c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']


func _ready():
	print(encrypt("Hello! My name is George. Don't say my name wrongly! Why would you do that??? I hope if you do, it will be a very valuable lesson... !@#$%^&*()_+"))
	print(decrypt("khoor! pb qdph lv jhrujh. grq'w vdb pb qdph zurqjob! zkb zrxog brx gr wkdw??? l krsh li brx gr, lw zloo eh d yhub ydoxdeoh ohvvrq... !@#$%^&*()_+"))


func encrypt(string: String, displacement_amount: int = 3) -> String:
	var encrypted_string: String = ""

	for i in string.length():
		for e in ALPHABET.size():
			if string[i].to_lower() == ALPHABET[e].to_lower():
				encrypted_string += ALPHABET[(e + displacement_amount) % 26]
				break
		if !string[i].to_lower() in ALPHABET:
			encrypted_string += string[i]

	return encrypted_string


func decrypt(string: String, displacement_amount: int = 3) -> String:
	var decrypted_string: String = ""

	for i in string.length():
		for e in ALPHABET.size():
			if string[i].to_lower() == ALPHABET[e].to_lower():
				decrypted_string += ALPHABET[(e - displacement_amount + 26) % 26]
				break
		if !string[i].to_lower() in ALPHABET:
			decrypted_string += string[i]

	return decrypted_string
#godot #gdscript #indiedev #cryptography

Claudio Zizza 🦜SenseException@phpc.social
2026-01-19

#GDScript is Python minus some useful features.

2026-01-14

I love this video explaining the differences between #inheritance and #composition, and why the latter is preferable in certain situations:

youtu.be/74y6zWZfQKk

Favourite quote from the video:
"This is already getting a little bit complicated, and all we did was add a tree."

#Godot #GodotEngine #GameDev #GDScript

Client Info

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