Retroidian Games's Avatar

Retroidian Games

@retroidiangames.bsky.social

Currently developing Pudding Yeet ๐Ÿฎ

14 Followers  |  3 Following  |  35 Posts  |  Joined: 29.04.2024  |  1.8439

Latest posts by retroidiangames.bsky.social on Bluesky

Chocolate Pudding Day 2025 - Pudding Yeet Main Menu Teaser
YouTube video by Retroidian Games Chocolate Pudding Day 2025 - Pudding Yeet Main Menu Teaser

Happy Chocolate Pudding Day! In honor of this day of deliciousness, here's a look at Pudding Yeet's main menu! What do you think? We'd love some feedback! #GameDev #IndieDev

www.youtube.com/watch?v=kArN...

26.06.2025 15:44 โ€” ๐Ÿ‘ 13    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 3

Pudding Yeet is in development! If you like small indie horror games, we'd love if you could honor us with a follow. Love live gaming! #GameDev #IndieDev

22.05.2025 16:03 โ€” ๐Ÿ‘ 5    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Squishy, the player's friend in "Pudding Yeet," has been transformed into a washing machine.

Squishy, the player's friend in "Pudding Yeet," has been transformed into a washing machine.

Squishy, the player's friend in "Pudding Yeet," is performing a disco dance.

Squishy, the player's friend in "Pudding Yeet," is performing a disco dance.

A view of some abandoned halls somewhere in Pudding Yeet.

A view of some abandoned halls somewhere in Pudding Yeet.

A view a mysterious foggy hedge maze level somewhere in Pudding Yeet.

A view a mysterious foggy hedge maze level somewhere in Pudding Yeet.

Happy National Vanilla Pudding Day! To honor this day of deliciousness, We're proud to announce the official title of #ProjectSquish:

Pudding Yeet

You live in the quiet town of Cloverbee with your friend, Squishy. But, is everything really so dandy? Unravel the unsettling mystery of Pudding Yeet!

22.05.2025 16:00 โ€” ๐Ÿ‘ 1    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 2

#ProjectSquish official name drops at 12PM EST! #GameDev #IndieDev

22.05.2025 15:34 โ€” ๐Ÿ‘ 3    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
A pixel art face with a smile, eagerly awaiting a new guest...

A pixel art face with a smile, eagerly awaiting a new guest...

Project Squish's official name will be dropped on May 22, 2025. It has been planned for a long time, just had to make sure it still felt right. So excited to share more with all of you! Stay tuned...
#GameDev #IndieDev

16.05.2025 12:02 โ€” ๐Ÿ‘ 4    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
A picture of an in-development level from a project by Retroidian Games. It depicts a forest environment with water and mountains in the background.

A picture of an in-development level from a project by Retroidian Games. It depicts a forest environment with water and mountains in the background.

Been cooking up a new level! Here's an aerial view that only devs can see... #GameDev #IndieDev

26.02.2025 14:22 โ€” ๐Ÿ‘ 7    ๐Ÿ” 4    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Merry Christmas and Happy Holidays to all! ๐ŸŽ…๐Ÿป๐Ÿคถ๐Ÿป๐ŸŽ๐ŸŽ„

25.12.2024 18:30 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
The silhouette of an unrevealed character for Retroidian Games's upcoming title, Project Squish.

The silhouette of an unrevealed character for Retroidian Games's upcoming title, Project Squish.

Cooking up a new character mesh #GameDev #GameArt

20.12.2024 17:35 โ€” ๐Ÿ‘ 7    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

#Gamedev tip:

Planning your gameโ€™s code is great, but trying to perfect it early on can be bad.

Bugs and design flaws are a natural part of development! Instead of perfecting one feature, try getting multiple systems working at once. Then, polish them so they harmonize!

13.08.2024 17:14 โ€” ๐Ÿ‘ 5    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
a man in a brown jacket says with great power comes great responsibility ALT: a man in a brown jacket says with great power comes great responsibility

#GodotEngine #gamedev tip!

Match statements! Theyโ€™re awesome, and really easy to make bugs with! Hereโ€™s one example.

match this_is_an_enum: -> if this is your expressionโ€ฆ

not_an_enum: -> make sure patterns are the right type. Godot wonโ€™t throw an error if you donโ€™t!

09.08.2024 22:30 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

4d.)

Almost forgot - make sure to connect _on_mouse_hover() to the ui element's mouse_entered signal!

18.07.2024 16:45 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

4c.)

- Update ui element script again:

func _on_focused():
if parent_ui_ref.can_scroll:
parent_ui_ref._scroll_menu(self)
else:
parent_ui_ref.can_scroll = true # Makes can_scroll true again so it'll work with keyboard/gamepad.

Now, you should be good to go! Adjust to your liking ๐Ÿ˜€

18.07.2024 16:41 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

4b.)

- Update ui element script:

Create function:

_on_mouse_hover():
parent_ui_ref.can_scroll = false
grab_focus()

This prevents the scroll effect when the mouse hovers over an element, but allows it from other sources.

18.07.2024 16:40 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

4a.) Voila!

If your code grabs focus on mouse hover like ours does, and you don't want the mouse to be able to scroll the ui when it hovers, modify your code like this:

- Declare in parent ui script under scroll container ref:

var can_scroll = true

18.07.2024 16:38 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

3.) Ensure your UI elements have a script with a reference to the parent UI script. Create a script like:

func _on_focus_entered():
parent_ui_ref._scroll_menu(self)

Also, remember to connect the button's "focus entered" signal to this _on_focus_entered() function.

18.07.2024 16:32 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

2.) In your UI script, write a function like this:

func _scroll_menu(control:Control):
if not control == null:
scroll_container.ensure_control_visible(control)

18.07.2024 16:26 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

#GodotEngine #GameDev tip!

Want to scroll a Scroll Container when one of its ui elements is focused? Godot makes it so easy!

1.) In your UI script, declare an @export for the scroll container, and assign it in the inspector (or assign it however you like).

18.07.2024 16:26 โ€” ๐Ÿ‘ 2    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

#GodotEngine #GameDev tip:
get_owner() allows you to find the local root of a scene!
Use example:
-Player
โ€”ArmorSlot
โ€”-ChestPiece
โ€”โ€”Necklace
โ€”โ€”-Pendant
Node 5 (Pendant) wants to print the name of node 1 (Player). In node 5โ€™s script, run:
print(โ€œMy owner is: โ€œ, get_owner())

18.07.2024 16:22 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Use get_total_character_count() to find the amount of characters in your text, the value youโ€™ll want to stop at when incrementing โ€œVisible Characters.โ€ Sure beats counting!!

18.07.2024 16:22 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

#GodotEngine #Gamedev tip:
Typewriter effect! Godot makes this classic effect so easy.
In a label node, look for the โ€œVisible Charactersโ€ property. Set the value to 0 to hide your text, add to the value to reveal each character.
Voila!

18.07.2024 16:21 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

This spooky bug highlights the importance of version control! Always use something like Git (GitHub Desktop App is easy)!
If you donโ€™t have any yet, do this:
Copy/paste project folder before EVERY dev session. Keep one a week, more if you want.
Youโ€™ll thank yourself later!

18.07.2024 16:21 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

If neither of these worked, you may have to double-check the scene file itself for missing โ€œdelimiters,โ€ symbols like โ€œ[โ€œ or โ€œ{โ€œ that organize scene file info (โ€œsub resourceโ€ and so on).
Ensure that the first line of the file has a โ€œ[โ€œ in front of it, and that could help.

18.07.2024 16:21 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

No luck yet?
It may be corrupted by a bug with Godot thatโ€™ll be fixed in v4.3.
If you use an โ€œonready preloadโ€ of your scene in any scripts, the engine may be corrupting the file there. Change these to โ€œexport PackedScene,โ€ or โ€œvar path:String,โ€ and try the previous step again.

18.07.2024 16:21 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

#GodotEngine #GameDev tip! โ˜๏ธ๐Ÿค“
Is Godot suddenly saying your scene is corrupt/invalid? Donโ€™t panic!
Rename the scene file, go to project -> reload project, try opening it again.
If it opens, yay! Close its tab, change the scene name back, and reload one more time. Fixed!

18.07.2024 16:21 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

#Gamedev tip for #GodotEngine:
GDScript is dynamic, it doesnโ€™t always know what type your var is. To ensure autocomplete while typing:
# Declare it
var my_var:RigidBody3D
# Cast it
var new_var = my_var as RigidBody3D
# Check for it
if my_var is RigidBody3D:
# Do stuff

18.07.2024 16:20 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Option 1 childs your node to the one with the script that instantiated it. Good for basic instantiations.
Option 2 childs your node into the root node of the scene tree, itโ€™ll be on its own with no parent to affect its position, visibility, etc. Good for dynamic entities.

18.07.2024 16:20 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

#GodotEngine #gamedev tip!
When you instantiate something in GDScript, it wonโ€™t be added to the scene tree; itโ€™s still in the void. Either do:
var inst = your_node.instantiate()
add_child(inst)
Or:
var inst = your_node.instantiate()
get_tree().root.add_child(inst)

18.07.2024 16:20 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

#GodotEngine #gamedev tip!
When you instantiate something in GDScript, it wonโ€™t be added to the scene tree; itโ€™s still in the void. Either do:
var inst = your_node.instantiate()
add_child(inst)
Or:
var inst = your_node.instantiate()
get_tree().root.add_child(inst)

18.07.2024 16:19 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Due to the language Godot uses for nodeโ€™s active states, describing this can be confusing. For clarity:
For both
Parent.visible = true
Child.visible = false
and
Parent.visible = false
Child.visible = true
child.is_visible_in_tree() will return false.

18.07.2024 16:19 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Node3D Inherits: Node< Object Inherited By: AudioListener3D, AudioStreamPlayer3D, BoneAttachment3D, Camera3D, CollisionObject3D, CollisionPolygon3D, CollisionShape3D, GridMap, ImporterMeshInstance3D, Join...

#GodotEngine #gamedev tip!
Toggling a parent nodeโ€™s visibility to false will hide its children visually. But, their visibility can still be set to true.
To see if a parent/ancestor is hiding a visible child, check:
child_node.is_visible_in_tree()

docs.godotengine.org/en/stable/cl...

18.07.2024 16:19 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@retroidiangames is following 3 prominent accounts