home.social

#gdscript — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #gdscript, aggregated by home.social.

  1. Hawk Hill Manor
    Research
    Maybe I duplicate my Inventory system, for "Research Logs". Create a bunch of Logs (similar to Goods), such as "Ghosts Killed", "Mine depth" etc, and send signals via ResearchManager to add/subtract Logs from the Inventory.
    Then, a ResearchRecipe can check the LogsInventory, to see if/how much Research/Events have been done.

    Thoughts?

    #gamedev #godot #roguelike #gdscript #rougelight

  2. Hawk Hill Manor
    Research
    Maybe I duplicate my Inventory system, for "Research Logs". Create a bunch of Logs (similar to Goods), such as "Ghosts Killed", "Mine depth" etc, and send signals via ResearchManager to add/subtract Logs from the Inventory.
    Then, a ResearchRecipe can check the LogsInventory, to see if/how much Research/Events have been done.

    Thoughts?

    #gamedev #godot #roguelike #gdscript #rougelight

  3. Hawk Hill Manor
    Research
    Maybe I duplicate my Inventory system, for "Research Logs". Create a bunch of Logs (similar to Goods), such as "Ghosts Killed", "Mine depth" etc, and send signals via ResearchManager to add/subtract Logs from the Inventory.
    Then, a ResearchRecipe can check the LogsInventory, to see if/how much Research/Events have been done.

    Thoughts?

    #gamedev #godot #roguelike #gdscript #rougelight

  4. Hawk Hill Manor
    Research
    Maybe I duplicate my Inventory system, for "Research Logs". Create a bunch of Logs (similar to Goods), such as "Ghosts Killed", "Mine depth" etc, and send signals via ResearchManager to add/subtract Logs from the Inventory.
    Then, a ResearchRecipe can check the LogsInventory, to see if/how much Research/Events have been done.

    Thoughts?

    #gamedev #godot #roguelike #gdscript #rougelight

  5. Hawk Hill Manor
    Research
    Maybe I duplicate my Inventory system, for "Research Logs". Create a bunch of Logs (similar to Goods), such as "Ghosts Killed", "Mine depth" etc, and send signals via ResearchManager to add/subtract Logs from the Inventory.
    Then, a ResearchRecipe can check the LogsInventory, to see if/how much Research/Events have been done.

    Thoughts?

    #gamedev #godot #roguelike #gdscript #rougelight

  6. Hawk Hill Manor
    How to keep track of Research Requirements?
    I was trying to build them similar to Crafting/manufacturing Recipes, but I need more freeform Reqs, too.
    I can crowbar in some signals, for linked to a ResearchManager global, that keeps track of things, but how to link this to a ResearchRecipe resource?

    #gamedev #godot #roguelike #gdscript #godotengine #rougelight

  7. Hawk Hill Manor
    How to keep track of Research Requirements?
    I was trying to build them similar to Crafting/manufacturing Recipes, but I need more freeform Reqs, too.
    I can crowbar in some signals, for linked to a ResearchManager global, that keeps track of things, but how to link this to a ResearchRecipe resource?

    #gamedev #godot #roguelike #gdscript #godotengine #rougelight

  8. Hawk Hill Manor
    How to keep track of Research Requirements?
    I was trying to build them similar to Crafting/manufacturing Recipes, but I need more freeform Reqs, too.
    I can crowbar in some signals, for linked to a ResearchManager global, that keeps track of things, but how to link this to a ResearchRecipe resource?

    #gamedev #godot #roguelike #gdscript #godotengine #rougelight

  9. Hawk Hill Manor
    How to keep track of Research Requirements?
    I was trying to build them similar to Crafting/manufacturing Recipes, but I need more freeform Reqs, too.
    I can crowbar in some signals, for linked to a ResearchManager global, that keeps track of things, but how to link this to a ResearchRecipe resource?

    #gamedev #godot #roguelike #gdscript #godotengine #rougelight

  10. Hawk Hill Manor
    How to keep track of Research Requirements?
    I was trying to build them similar to Crafting/manufacturing Recipes, but I need more freeform Reqs, too.
    I can crowbar in some signals, for linked to a ResearchManager global, that keeps track of things, but how to link this to a ResearchRecipe resource?

    #gamedev #godot #roguelike #gdscript #godotengine #rougelight

  11. Hawk Hill Manor
    Guess I should start on the "Factory"/Tech-Tree system.

    Latest Idea, seeing as I already have the Manor House, is to have Research Options, that require Materials, and possibly other things ("Must have been a Ghost Attack", "Mine 500 Coal", etc)
    Dedicated Workers will take the Goods (Prioritised over anyone else!) to the Manor, and the Progress Bar will fill up. Then I need some way of implementing the Research.

    #gamedev #godot #gdscript #roguelike #rougelight

  12. Hawk Hill Manor
    Guess I should start on the "Factory"/Tech-Tree system.

    Latest Idea, seeing as I already have the Manor House, is to have Research Options, that require Materials, and possibly other things ("Must have been a Ghost Attack", "Mine 500 Coal", etc)
    Dedicated Workers will take the Goods (Prioritised over anyone else!) to the Manor, and the Progress Bar will fill up. Then I need some way of implementing the Research.

    #gamedev #godot #gdscript #roguelike #rougelight

  13. Hawk Hill Manor
    Guess I should start on the "Factory"/Tech-Tree system.

    Latest Idea, seeing as I already have the Manor House, is to have Research Options, that require Materials, and possibly other things ("Must have been a Ghost Attack", "Mine 500 Coal", etc)
    Dedicated Workers will take the Goods (Prioritised over anyone else!) to the Manor, and the Progress Bar will fill up. Then I need some way of implementing the Research.

    #gamedev #godot #gdscript #roguelike #rougelight

  14. Hawk Hill Manor
    Guess I should start on the "Factory"/Tech-Tree system.

    Latest Idea, seeing as I already have the Manor House, is to have Research Options, that require Materials, and possibly other things ("Must have been a Ghost Attack", "Mine 500 Coal", etc)
    Dedicated Workers will take the Goods (Prioritised over anyone else!) to the Manor, and the Progress Bar will fill up. Then I need some way of implementing the Research.

    #gamedev #godot #gdscript #roguelike #rougelight

  15. Hawk Hill Manor
    Guess I should start on the "Factory"/Tech-Tree system.

    Latest Idea, seeing as I already have the Manor House, is to have Research Options, that require Materials, and possibly other things ("Must have been a Ghost Attack", "Mine 500 Coal", etc)
    Dedicated Workers will take the Goods (Prioritised over anyone else!) to the Manor, and the Progress Bar will fill up. Then I need some way of implementing the Research.

    #gamedev #godot #gdscript #roguelike #rougelight

  16. Hawk Hill Manor
    Tried to optimise my navMesh a bit, by adding NavigationObstacles to all my Buildings.
    Now everything lags and stutters :(

    #gamedev #godot #godotengine #gdscript

  17. Hawk Hill Manor
    I've been having a think about adding paths/roads, but I cannot see how to do it.
    The plan would be for Roads to allow for faster travel, but I have several questions:
    - How to place them (in-game), allowing for height changes, collisions, etc
    - How to tell the NavRegion/Map about differing speeds

    I also thought about "Desire Lines", that get built as paths are used, but I have even less clues about how to do this!

    #gamedev #godot #gdscript #godotengine

  18. Funny, calling _ready() manually also resets all the @onready variables. This piece of code prints "1" every frame.

    #GDScript #Godot #GodotEngine

  19. Now you can try to launch your "Battle for Burgers 🍔🍔🍔" server 🔌 through Docker 🐋, because I have leave instructions about how to do this on their Codeberg 🏔️ page 👉 codeberg.org/xolatgames/Battle

    (But I think that experts in Docker 🐋 already can do something similar without those instructions)

    #godot #godotengine #gdscript #docker #multiplayer #game #games #3d #3dgame #platformer #opensource #codeberg #online #OnlineMultiplayer

  20. Now you can try to launch your "Battle for Burgers 🍔🍔🍔" server 🔌 through Docker 🐋, because I have leave instructions about how to do this on their Codeberg 🏔️ page 👉 codeberg.org/xolatgames/Battle

    (But I think that experts in Docker 🐋 already can do something similar without those instructions)

    #godot #godotengine #gdscript #docker #multiplayer #game #games #3d #3dgame #platformer #opensource #codeberg #online #OnlineMultiplayer

  21. Ruby Radiance
    Slowly building up the Town.
    Got some basic Dialogic placeholder conversations.
    I think I'll have a look at Weapons/Attacks next

    #gamedev #rpg #godot #roguelike #gdscript #rougelight #godotengine

  22. Ruby Radiance
    Slowly building up the Town.
    Got some basic Dialogic placeholder conversations.
    I think I'll have a look at Weapons/Attacks next

    #gamedev #rpg #godot #roguelike #gdscript #rougelight #godotengine

  23. Ruby Radiance
    Slowly building up the Town.
    Got some basic Dialogic placeholder conversations.
    I think I'll have a look at Weapons/Attacks next

    #gamedev #rpg #godot #roguelike #gdscript #rougelight #godotengine

  24. Ruby Radiance
    Slowly building up the Town.
    Got some basic Dialogic placeholder conversations.
    I think I'll have a look at Weapons/Attacks next

    #gamedev #rpg #godot #roguelike #gdscript #rougelight #godotengine

  25. Ruby Radiance
    Slowly building up the Town.
    Got some basic Dialogic placeholder conversations.
    I think I'll have a look at Weapons/Attacks next

    #gamedev #rpg #godot #roguelike #gdscript #rougelight #godotengine

  26. Ruby Radiance
    I still can't reliably import Textures on my .glb files, but managed to mangle something together.
    It seems that the "File is large on disk" was *actually* being caused by the Trimesh Collider!
    Replace with a "Multiple Simplified" and the warning goes away.

    :(

    #gamedev #godot #rpg #roguelike #gdscript #rougelight #godotengine

  27. Ruby Radiance
    I still can't reliably import Textures on my .glb files, but managed to mangle something together.
    It seems that the "File is large on disk" was *actually* being caused by the Trimesh Collider!
    Replace with a "Multiple Simplified" and the warning goes away.

    :(

    #gamedev #godot #rpg #roguelike #gdscript #rougelight #godotengine

  28. Ruby Radiance
    I still can't reliably import Textures on my .glb files, but managed to mangle something together.
    It seems that the "File is large on disk" was *actually* being caused by the Trimesh Collider!
    Replace with a "Multiple Simplified" and the warning goes away.

    :(

    #gamedev #godot #rpg #roguelike #gdscript #rougelight #godotengine

  29. Ruby Radiance
    I still can't reliably import Textures on my .glb files, but managed to mangle something together.
    It seems that the "File is large on disk" was *actually* being caused by the Trimesh Collider!
    Replace with a "Multiple Simplified" and the warning goes away.

    :(

    #gamedev #godot #rpg #roguelike #gdscript #rougelight #godotengine

  30. Ruby Radiance
    I still can't reliably import Textures on my .glb files, but managed to mangle something together.
    It seems that the "File is large on disk" was *actually* being caused by the Trimesh Collider!
    Replace with a "Multiple Simplified" and the warning goes away.

    :(

    #gamedev #godot #rpg #roguelike #gdscript #rougelight #godotengine

  31. I rewrote the whole threading and caching backend. It is now robust and predictable. And most of all I can query the progress while it is processing - Which is nice when working with a library of > 250.000 files.

    The gallery is now searchable.
    The viewer now shows the original with color coded frames.

    Added an atlas editor where you can adjust the rows and cols and can generate frames based on this. It also removes empty frames.

    #mipgam #godot #gdscript #godottool

  32. I am adding core features for a release on itch.io.

    One of those is proper loading and saving your projects.

    I built my own file dialog that allows to provide a regex filter for the filenames. It only shows files that match this filter and strips away the extension and a prefix.

    This way I can only show my project files without showing anything else.

    #godot #gdscript #godottool #mipgam

  33. Ruby Radiance
    Godot
    "The text-based scene at path "res://Assets/MeshTest/Inn/inn.tscn" is large on disk (530.3 KiB), likely because it has embedded binary data"
    How to address this?
    i imported the glb from a downloaded Blender file
    I looked at the .tscn and it has some text in it. It seems to have references to the Textures (even though I have tried to remove them from the mesh)
    Apparently I should "save the resources as their own file" HOW?

    #godot #gamedev #rpg #roguelike #gdscript #rougelight

  34. Instead of the Berlin Interpretation, might make my Roguelike follow the Copenhagen Interpretation:
    Everything exists as proc-gen probabilities, until the Player experiences them, at which point the Function collapses, everything blue-screens, I use non-deterministic words, and things on my desk approach relativistic velocities.

    #gamedev #godot #roguelike #gdscript #rpg #godotengine #rougelight

  35. Godot:
    I forgot the last answers, so I have to ask again:
    What are "Shaders"? What do they do, and why?
    I don't need to know how "easy" they are, or how fancy the output is, just *what*they*are/do*
    Why would I use them?

    #godot #gamedev #shaders #gdscript #godotengine

  36. Godot:
    I forgot the last answers, so I have to ask again:
    What are "Shaders"? What do they do, and why?
    I don't need to know how "easy" they are, or how fancy the output is, just *what*they*are/do*
    Why would I use them?

    #godot #gamedev #shaders #gdscript #godotengine

  37. Godot:
    I forgot the last answers, so I have to ask again:
    What are "Shaders"? What do they do, and why?
    I don't need to know how "easy" they are, or how fancy the output is, just *what*they*are/do*
    Why would I use them?

    #godot #gamedev #shaders #gdscript #godotengine

  38. Godot:
    I forgot the last answers, so I have to ask again:
    What are "Shaders"? What do they do, and why?
    I don't need to know how "easy" they are, or how fancy the output is, just *what*they*are/do*
    Why would I use them?

    #godot #gamedev #shaders #gdscript #godotengine

  39. Godot:
    I forgot the last answers, so I have to ask again:
    What are "Shaders"? What do they do, and why?
    I don't need to know how "easy" they are, or how fancy the output is, just *what*they*are/do*
    Why would I use them?

    #godot #gamedev #shaders #gdscript #godotengine

  40. Ruby Radiance
    Snuck in some nice, if probably unneeded, code
    Chest sizes it's Inventory to the number of Items. Then stacks similar items. Removes Empty Slots. Then adds slots so it fills the 3-slot-wide section neatly.

    #gamedev #rpg #godot #roguelike #gdscript #rougelight

  41. Ruby Radiance
    Chest loots seem to be stacking properly!
    Still can't stack from different Chests, but it'll have to do for now.
    Now to write the proper loot tables...

    #gamedev #rpg #godot #roguelike #gdscript #rougelight #godotengine

  42. If you are using #gdunit4 and struggle asserting signals - make sure to use the exact same amount of variables when asserting. Otherwise the assert will always timeout.

    class emitter:
    signal test(a,b)

    e = monitor_signals(emitter.new())

    # exact values
    e.test.emit(1,2)
    assert_signal(e).is_emitted(e.test,1,2)

    # any values
    e.test.emit(1,2)
    assert_signal(e).is_emitted(e.test,any(),any())

    # timeout
    e.test.emit(1,2)
    assert_signal(e).is_emitted(e.test)

    #godot #gdscript

  43. Ruby Radiance
    Loot Make proof-of-concept is working
    Current issue: All Items are created as Unique i.e. they can't stack with each other, even if they are identical :(
    I suppose I could write a big "Are these the same?" function, but it seems a bit hacky?

    Anyway, more to do

    #gamedev #godot #rpg #gdscript #roguelike #godotengine #rougelight

  44. Ruby Radiance
    Next: Random Loot Generator.
    Ideas: Move loot generator to its own script
    create Base Items, in Categories (Armour: Leather, Maille, Plate. Consumable: Apple, Potion, Scroll. etc) (RESOURCE)
    Functions to add Effects to Base Items, creating actual Items, including 2d and 3d representations (RESOURCE)
    Category will determine what Effects can be added
    More as I start building.

    #gamedev #rpg #godot #roguelike #gdscript #rougelight #godotengine

  45. Didn't knew how much I missed seeing unit test runs in #Godot

    This really should be part of the internal editor and framework.

    And since I am already dreaming:

    Please push the two refactoring feature requests to completion that add rename refactoring to the godot editor.
    And the one that makes the debugger a separate floatable window.
    With these I would never wanna leave the godot editor.

    #gdscript #programming #gamedev

  46. Ruby Radiance
    A quick review of progress:
    World: UI, Player, current_scene
    Inventory
    Items: Item_data resources feed into Inventory, and pick_up_items
    Town:
    random pick_up_items, shops, chest, portal to Dungeon
    Shops: Dialogic conversations and buy/sell
    NPCs: dialogic
    Dungeon:
    proc-gen rooms/corridors
    Random loot/chests
    Spawn foes
    portals up/down
    foes: Enum State machine to patrol/chase/etc

    #gamedev #godot #rpg #roguelike #gdscript #rougelight #godotengine

  47. Decided to add a new unit testing framework to my #godot project.

    Should have probably not started with the one class that uses threads and signals to learn the unit testing framework 🤣

    But alas it finally works as expected.

    #gdscript #programming

  48. Ruby Radiance
    Monster Spawning kind of working. Now to build them a State Machine, so they know whether to Idle, Patrol, Wander, Chase Player, or Retreat.
    Simple Enum/Match? Or Full Blown Node-Based Finite State Machine?

    #gamedev #rpg #godot #roguelike #gdscript #rougelight #godotengine

  49. Ruby Radiance
    Can procedurally spawn a monster in each room!
    They wander around randomly.
    Got some glitches to be figuring out, such as these queues, where they can't get past each other

    #gamedev #godot #rpg #gdscript #roguelike #godotengine #rougelight

  50. Ruby Radiance
    After some finagling, I've managed to get a Foe to Navigate the Dungeon (gridmap)
    But I am getting lags and warnings about the Navigation, due to stuff being done at run-time: Dungeon is proc-gen, then navmesh is Baked. Something about "source geometry"? I am struggling to figure what this means.
    I fear that adding more foes will lag even more. :(

    #gamedev #rpg #godot #roguelike #gdscript #rougelight #godotengine