Welcome to Tutorial Tuesday! This is a weekly thread where you can post any kind of tutorial for how to do things using Godot or request one from others

Text tutorials, video tutorials, image tutorials, linking to a post in the community, etc. are all allowed. If you feel it deserves its own post feel free to instead post it as a separate post and then link it here

  • russ@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    I was curious about writing one-off scripts in Godot, so here’s a tiny example for doing that in Godot 4.

    ./hello-godot.gd (also in my dotfiles):

    #!/usr/bin/env -S godot --headless --script
    extends SceneTree
    
    func _init():
      print("hello godot!")
      print("args", OS.get_cmdline_args())
      quit()
    

    Note the first line, which invokes godot and includes the --headless and --script arguments. You can read more about these args via godot --help.

    Once the script has executable permissions (typically via chmod +x hello-godot.gd), you can run it in a shell like:

    ./hello-godot.gd "some arg" "some other arg" 123
    

    That should output something like:

    hello godot!
    args["-s", "/home/russ/.local/bin/hello-godot.gd", "some arg", "some other arg", "123"]
    

    This kind of thing can be useful for running tests via something like GUT (which is where I started digging into this), or exporting games in scripts/CI.

    Which makes me think I should look into how some of those godot CI docker images run - maybe there are other arguments/features/best-practices there to build on.

  • ZachAR3@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Very cool! Debating on remaking some heartbeast tutorials for Godot 4 (specifically the prodcederul tile generation with a walker and tilemap to 3d level + optimizations). Curious if people would be interested in that or not though, thoughts?

    • beforan@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      This would be great!

      I’m new to Godot, but I’ve leaned on proc gen in game jams in the past to avoid static level design under time constraints ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯