RichBuilds.com ~ Coder, Hiker
@richbuilds.bsky.social
500 followers 77 following 870 posts
Indie Game Developer, Father, LARPer, Hiker and Nemophilist. I post dev log videos here: https://www.youtube.com/@richbuilds_com
Posts Media Videos Starter Packs
Pinned
richbuilds.bsky.social
Penistone (a village in Derbyshire)
richbuilds.bsky.social
Thanks! Oh - it shoots frick'n laser beams too!

(Here's me testing the electronics)
richbuilds.bsky.social
More sponge stippling. Really good for dry / old rust effects:
richbuilds.bsky.social
My take on a Fallout Pistol:

I used sponge stippling for my chipping effects.
richbuilds.bsky.social
I have my Actor class extend from Node so it can be attached to anything. That's why I cast to the explicit type in the component onready.

This is an old video of the first draft of my setup: www.youtube.com/watch?v=nXvZ...

(I've switch to Actor instead of Entity now to avoid confusion with ECSs)
Indie Game Dev: Building an Immersive Sim in Godot 4. Pt. 4 - Entities and Interactions
YouTube video by RichBuilds
www.youtube.com
richbuilds.bsky.social
So I end up doing:

@onready var actor_ref: Actor = get_parent()
@onready var body_ref: CharacterBody3D = get_parent()
richbuilds.bsky.social
My problem was getting a reference to the actor from inside the component:

(in this example actor is a CharacterBody3D with an Actor class)

if you declare it as

@onready var actor_ref: Actor = get_parent()

but then you lose autocomplete for the CharacterBody3D that actor inherits from.
richbuilds.bsky.social
I self enforce the node hierarchy and naming conventions so components are only ever direct children of actors.

i use it like this:

var inventory_component: InventoryComponent = actor.get_component("InventoryComponent")

if inventory_component:
# actor has inventory component
richbuilds.bsky.social
No it doesn't. And I got shot down on reddit for asking for a workaround :-/

I use GDScript. I have a class (Actor) that can have components with the following script:

func get_component(component_name: String) -> Component:
return get_node_or_null(component_name)
richbuilds.bsky.social
komoot just upped their pricing to £4.99 A WEEK and have fired 85% of the workforce after getting bought out by venture capitalists.

Goodbye komoot
richbuilds.bsky.social
He's looking a lot less bumpy this morning...
richbuilds.bsky.social
I'm literally days away from heading off on my big adventure, and Harry has decided to grow a bump on the side of his face.

He's not in pain, it doesn't hurt when I touch it, he's eating normally and seems oblivious.

Off to the vets today to have him checked out...
richbuilds.bsky.social
I've used facial ID on 4 different sites today, and it's failed to identify I'm 56 each time.

Looks like I'm buying a VPN.

I'm pretty sure the new legislation isn't meant to drive everyone underground and off radar, but that's what's happening.