this post was submitted on 13 Jun 2023
13 points (100.0% liked)

Godot

127 readers
3 users here now

Welcome to the programming.dev Godot community!

This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.

Make sure to follow the Godot CoC while chatting

We have a matrix room that can be used for chatting with other members of the community here

Links

Other Communities

Rules

We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent

Wormhole

!roguelikedev@programming.dev

Credits

founded 1 year ago
MODERATORS
 

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

top 5 comments
sorted by: hot top controversial new old
[–] russmatney@programming.dev 6 points 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 5 points 1 year ago (2 children)

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?

[–] russmatney@slrpnk.net 2 points 1 year ago (1 children)

I'd love to see it! Still trying to get into more proc-gen in my own stuff, so more relevant tuts are always appreciated

[–] ZachAR3@lemmy.world 2 points 1 year ago

Good to know! I will look further into when I have the time.

[–] beforan@lemm.ee 2 points 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 ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯