Turtle Holder 🐀
@turtleholder.bsky.social
Illia, 25 🇺🇦
Based in Calgary, AB 🇨🇦
#Godot Game Developer
Co-founder of @sparrowbomb.bsky.social
BEANDEJO: https://store.steampowered.com/app/3207200
Lead Dev at @shadeprotocolgame.bsky.social
Shade Protocol: https://store.steampowered.com/app/3581730
Based in Calgary, AB 🇨🇦
#Godot Game Developer
Co-founder of @sparrowbomb.bsky.social
BEANDEJO: https://store.steampowered.com/app/3207200
Lead Dev at @shadeprotocolgame.bsky.social
Shade Protocol: https://store.steampowered.com/app/3581730
dual revolvers are cool but HOW ABOUT DUAL SHOTGUNS WITH A TRIPLE SHOT MODIFIER????
#godot #indiedev #pixelart #roguelike #roguelite #beandejo #
#godot #indiedev #pixelart #roguelike #roguelite #beandejo #
March 7, 2025 at 5:07 AM
dual revolvers are cool but HOW ABOUT DUAL SHOTGUNS WITH A TRIPLE SHOT MODIFIER????
#godot #indiedev #pixelart #roguelike #roguelite #beandejo #
#godot #indiedev #pixelart #roguelike #roguelite #beandejo #
March 7, 2025 at 2:53 AM
January 3, 2025 at 3:59 AM
Monday #Godot tip: don't be sad if your Area2D doesn't fire a body_shape_entered/body_shape_exited signal. It might be because you have a Monitorable property turned off, which doesn't make ANY sense to me, but anyway.
December 23, 2024 at 8:03 PM
Monday #Godot tip: don't be sad if your Area2D doesn't fire a body_shape_entered/body_shape_exited signal. It might be because you have a Monitorable property turned off, which doesn't make ANY sense to me, but anyway.
/11 Draw something on your BG tilemap layer and press the Refresh button. Your PC should explode from all the power you summoned and... my bad, it should just automatically draw shadows and walls for you.
Thanks for attending my TED talk. Lemme know if you want more!!!
Thanks for attending my TED talk. Lemme know if you want more!!!
December 19, 2024 at 9:13 PM
/11 Draw something on your BG tilemap layer and press the Refresh button. Your PC should explode from all the power you summoned and... my bad, it should just automatically draw shadows and walls for you.
Thanks for attending my TED talk. Lemme know if you want more!!!
Thanks for attending my TED talk. Lemme know if you want more!!!
/10 Now refresh you plugin by re-enabling it.
December 19, 2024 at 9:13 PM
/10 Now refresh you plugin by re-enabling it.
/9 Setting up a Terrain
- I used TilePipe (aleksandrbazhin.itch.io/tilepipe2) for managing a complex tileset
- Create a terrain set in your Godot's tileset
- Go to Tileset bottom menu, select your tileset and paint everything that isn't a shadow
- I used TilePipe (aleksandrbazhin.itch.io/tilepipe2) for managing a complex tileset
- Create a terrain set in your Godot's tileset
- Go to Tileset bottom menu, select your tileset and paint everything that isn't a shadow
December 19, 2024 at 9:13 PM
/9 Setting up a Terrain
- I used TilePipe (aleksandrbazhin.itch.io/tilepipe2) for managing a complex tileset
- Create a terrain set in your Godot's tileset
- Go to Tileset bottom menu, select your tileset and paint everything that isn't a shadow
- I used TilePipe (aleksandrbazhin.itch.io/tilepipe2) for managing a complex tileset
- Create a terrain set in your Godot's tileset
- Go to Tileset bottom menu, select your tileset and paint everything that isn't a shadow
/8 REBUILDING THE TILEMAP PT. 2
- Create walls on peaks/lows (I'm literally hardcoding tile ids here lol)
- Connect the shadows and outlines
Voila! Nothing works yet, because you need to set up Terrains for shadows and wall outlines.
- Create walls on peaks/lows (I'm literally hardcoding tile ids here lol)
- Connect the shadows and outlines
Voila! Nothing works yet, because you need to set up Terrains for shadows and wall outlines.
December 19, 2024 at 9:13 PM
/8 REBUILDING THE TILEMAP PT. 2
- Create walls on peaks/lows (I'm literally hardcoding tile ids here lol)
- Connect the shadows and outlines
Voila! Nothing works yet, because you need to set up Terrains for shadows and wall outlines.
- Create walls on peaks/lows (I'm literally hardcoding tile ids here lol)
- Connect the shadows and outlines
Voila! Nothing works yet, because you need to set up Terrains for shadows and wall outlines.
/7 REBUILDING THE TILEMAP (code is experimental)
- Get floor cells (using get_used_cells())
- Clear everything that isn't a floor
- Sort positions by X
- Separate position data into blocks by X
- Sort every block by Y value and get peaks/lows for every "island" (let me know if I need to explain it)
- Get floor cells (using get_used_cells())
- Clear everything that isn't a floor
- Sort positions by X
- Separate position data into blocks by X
- Sort every block by Y value and get peaks/lows for every "island" (let me know if I need to explain it)
December 19, 2024 at 9:13 PM
/7 REBUILDING THE TILEMAP (code is experimental)
- Get floor cells (using get_used_cells())
- Clear everything that isn't a floor
- Sort positions by X
- Separate position data into blocks by X
- Sort every block by Y value and get peaks/lows for every "island" (let me know if I need to explain it)
- Get floor cells (using get_used_cells())
- Clear everything that isn't a floor
- Sort positions by X
- Separate position data into blocks by X
- Sort every block by Y value and get peaks/lows for every "island" (let me know if I need to explain it)
/6 Back to the functionality part. The refresh_tilemap() function is responsible for retrieving every tilemap layer in the group (yes, it doesn't expect a null lol), filtering them by name (ik ik, that's not idiot-proofed enough) and then calling a _rebuild(). Groups were assigned manually btw.
December 19, 2024 at 9:13 PM
/6 Back to the functionality part. The refresh_tilemap() function is responsible for retrieving every tilemap layer in the group (yes, it doesn't expect a null lol), filtering them by name (ik ik, that's not idiot-proofed enough) and then calling a _rebuild(). Groups were assigned manually btw.
/5 I prefer to manually assign references to the neighbouring nodes, so that's what I did here. Don't forget to connect the button's pressed signal and call the non-existent refresh_tilemap() function (you can also use the editor icons in your UI with get_editor_theme() and theme.get_icon()).
December 19, 2024 at 9:13 PM
/5 I prefer to manually assign references to the neighbouring nodes, so that's what I did here. Don't forget to connect the button's pressed signal and call the non-existent refresh_tilemap() function (you can also use the editor icons in your UI with get_editor_theme() and theme.get_icon()).
/4 What about our one and only UI element - Refresh button? I placed an HBoxContainer, just in case I'd come up with more functionality in the future, but you can skip this part. Set Container's layout mode to Anchors - Full Rect, and button's container sizing to Horizontal - Expand.
December 19, 2024 at 9:13 PM
/4 What about our one and only UI element - Refresh button? I placed an HBoxContainer, just in case I'd come up with more functionality in the future, but you can skip this part. Set Container's layout mode to Anchors - Full Rect, and button's container sizing to Horizontal - Expand.
/3 Let's start with our parent node. First of all, I'd recommend to set a Custom Minimum Size to something like (x: 30, y: 30). Therefore, your UI will look like it belongs there, not just hanging around.
December 19, 2024 at 9:13 PM
/3 Let's start with our parent node. First of all, I'd recommend to set a Custom Minimum Size to something like (x: 30, y: 30). Therefore, your UI will look like it belongs there, not just hanging around.
/2 Create a new Control scene where you'll place your desired UI elements. But before we place any, we'll create a child Node that'd be responsible for the plugin's functionality and assign @tool scripts to both - we'll get back to that a bit later.
December 19, 2024 at 9:13 PM
/2 Create a new Control scene where you'll place your desired UI elements. But before we place any, we'll create a child Node that'd be responsible for the plugin's functionality and assign @tool scripts to both - we'll get back to that a bit later.
/1 Create a plugin: Project -> Project Settings -> Plugins -> Create New Plugin
December 19, 2024 at 9:13 PM
/1 Create a plugin: Project -> Project Settings -> Plugins -> Create New Plugin
Made a small #godot plugin that automatically adds walls and shadows based on the floor tiles. It feels pretty good to finally have it automated, instead of spending tens of minutes on a manual labor like this.
#IndieDev #Roguelite
#IndieDev #Roguelite
December 18, 2024 at 7:18 PM
Made a small #godot plugin that automatically adds walls and shadows based on the floor tiles. It feels pretty good to finally have it automated, instead of spending tens of minutes on a manual labor like this.
#IndieDev #Roguelite
#IndieDev #Roguelite
Tag your mutuals & post games with mouthwatering foods.
Sleeping Dogs
The infamous burger in Battlefield: Hardline
The Legend of Zelda: Breath of the Wild
Animal Crossing: New Leaf
@aceedv.bsky.social
@benjigamedev.bsky.social
@kingaurorus.bsky.social
@manoelpdb.bsky.social
Sleeping Dogs
The infamous burger in Battlefield: Hardline
The Legend of Zelda: Breath of the Wild
Animal Crossing: New Leaf
@aceedv.bsky.social
@benjigamedev.bsky.social
@kingaurorus.bsky.social
@manoelpdb.bsky.social
December 9, 2024 at 4:13 AM
Tag your mutuals & post games with mouthwatering foods.
Sleeping Dogs
The infamous burger in Battlefield: Hardline
The Legend of Zelda: Breath of the Wild
Animal Crossing: New Leaf
@aceedv.bsky.social
@benjigamedev.bsky.social
@kingaurorus.bsky.social
@manoelpdb.bsky.social
Sleeping Dogs
The infamous burger in Battlefield: Hardline
The Legend of Zelda: Breath of the Wild
Animal Crossing: New Leaf
@aceedv.bsky.social
@benjigamedev.bsky.social
@kingaurorus.bsky.social
@manoelpdb.bsky.social
It’s so adorable to see the bluntest tool in a shed trying to “make gaming great again” and “remove DEI from games” ☺️☺️☺️
Pathetic POS, go play some stellar blade thirst trap and stop whining.
Pathetic POS, go play some stellar blade thirst trap and stop whining.
November 29, 2024 at 6:46 PM
It’s so adorable to see the bluntest tool in a shed trying to “make gaming great again” and “remove DEI from games” ☺️☺️☺️
Pathetic POS, go play some stellar blade thirst trap and stop whining.
Pathetic POS, go play some stellar blade thirst trap and stop whining.
Graphics are so impressive these days.
DISCLAIMER: Yes, I'm not ashamed to quote post this with my own variation of the meme. Sue me, call me a burglar, I don't care - I'm playing by the rules of the Old West 🤠 (100% fully organic BEANDEJO promotion)
#Godot #PixelArt #IndieDev #Cartoony #Western
DISCLAIMER: Yes, I'm not ashamed to quote post this with my own variation of the meme. Sue me, call me a burglar, I don't care - I'm playing by the rules of the Old West 🤠 (100% fully organic BEANDEJO promotion)
#Godot #PixelArt #IndieDev #Cartoony #Western
November 27, 2024 at 11:12 PM
The player character from my indie game.
November 26, 2024 at 11:35 PM
The player character from my indie game.
the current mood
November 26, 2024 at 1:20 AM
the current mood