Godot

5388 readers
68 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
1
 
 

cross-posted from: https://programming.dev/post/16870410

However, despite all the attention Godot has been receiving, the switch from Godot 3 to Godot 4 called for the removal of Godot’s visual scripting system. This presented us with an amazing opportunity. We knew we needed to provide more to our users, and now Godot was lacking in a function that we know really well! And that’s how the current plan was kicked off.

Makes me wonder if they'll do something similar for RPG Maker if AGM does well enough commercially, since the RPG Maker Unite, which was supposed to work with Unity, died thanks to that charge the devs per-install kerfuffle.

2
 
 

The fediverse canvas event is starting in a couple hours (event similar to r/place) and similar to last year I figured we can place the godot logo on it!

Canvas is an event where everyone can place a pixel every so often on a shared canvas. This can overwrite previously placed pixels which can lead to communities fighting for space on the canvas

You can find the link to it here: https://canvas.fediverse.events

I set up a template beside the main programming.dev area that you can find from the below links. This can be edited if theres another godot design people like more but figured it was a good start. For real time chatting im active on the programming.dev discord and matrix

one to one template: https://canvas.fediverse.events/#x=423&y=472&zoom=5&tu=https%3A%2F%2Fbytes.programming.dev%2Ffiles%2F4ce62a78-1476-4842-a2df-fcb84049a52a&tw=44&tx=386&ty=429&ts=ONE_TO_ONE

dotted template: https://canvas.fediverse.events/#x=423&y=472&zoom=5&tu=https%3A%2F%2Fbytes.programming.dev%2Ffiles%2F4ce62a78-1476-4842-a2df-fcb84049a52a&tw=44&tx=386&ty=429&ts=DOTTED_BIG

3
4
5
 
 

Hi everybody! During the development of our point-and-click adventure game Whispers of Prague, we played around with the idea of creating some scenes in complete darkness, so the main character would need to acquire night vision goggles to navigate the scene. This idea was eventually discarded, but the effect itself isn't entirely bad, as you can see right now. Let's take a look at how such a shader works.

6
 
 

Hi everyone! Do you remember the Sobel operator that I used in one of the previous videos for edge detection? The shader that I will demonstrate today will be based on a similar principle, and its result will be an equally interesting effect. Let's take a look at how the algorithm for the emboss filter works and how to implement it as a shader.

7
 
 

Hi everybody. This is the second part of the mini-tutorial on creating 3D asteroids or other rocks in Blender and using them in Godot Engine. This time, I will focus on the Godot Engine, namely importing an already finished model into Godot and resolving subsequent issues. If you're interested in the modeling itself, I recommend watching the first part first. Now, let's dive into Godot.

8
 
 

Just learned about this today :D

9
10
 
 

Hi everybody! Would you like to know how to easily create a screenshot in your game using the Godot Engine, whether it's a 2D or 3D game? In this short video, I'll show you how.

11
 
 

A screenshot of some of the current Godot gold level supporters. The one supporter highlighted has chosen the name "TaraSophieDev (pls fix #43093)"

The issue is still open! The merge request seems to be almost ready. Though there hasn't been any new development since May.

12
 
 

That intro though.

13
 
 

Hi everybody! I know I often say "Let's make a quick video about a simple effect" and then I usually end up talking about it for over 20 minutes. But this time I hope I'll finally manage to make a shorter video because today's effect is really easy, as you can see in the background.

14
 
 

I'm curious because GDScript sounds like a very high and good abstraction for the engine.

Dynamic nature

Pros & cons of dynamic typing

GDScript is a Dynamically Typed language. As such, its main advantages are that:

  • The language is easy to get started with.
  • Most code can be written and changed quickly and without hassle.
  • Less code written means less errors & mistakes to fix.
  • The code is easy to read (little clutter).
  • No compilation is required to test.
  • Runtime is tiny.
  • It has duck-typing and polymorphism by nature.

While the main disadvantages are:

  • Less performance than statically typed languages.
  • More difficult to refactor (symbols can't be traced).
  • Some errors that would typically be detected at compile time in statically typed languages only appear while running the code (because expression parsing is more > strict).
  • Less flexibility for code-completion (some variable types are only known at run-time).

Additionally, the interesting thing for me, it resembles Python

It uses an indentation-based syntax similar to languages like Python. GDScript is entirely independent from Python and is not based on it.

and because I come from Rust, this is mind-boggling for me:

Memory management

Godot implements reference counting to free certain instances that are no longer used, instead of a garbage collector, or requiring purely manual management. Any instance of the RefCounted class (or any class that inherits it, such as Resource) will be freed automatically when no longer in use. For an instance of any class that is not a RefCounted (such as Node or the base Object type), it will remain in memory until it is deleted with free() (or queue_free() for Nodes).

15
16
 
 

The mine is Dome Keeper. I linked what's coming soon to this fun game!

17
18
19
20
21
 
 

Hi everyone! I always wanted to create this kind of effect with running lines, but I didn't know how to do it before. Now I finally know, and since it's a relatively simple algorithm, this video won't be extremely long either. Let's start with the tutorial.

22
 
 

For character abilities that have a certain trigger condition, eg. "OnAttack", "OnJump", "OnDamaged" etc..

Currently each of these triggers is a signal. When a signal fires, the character loops through all of its abilities and activates each one with that specific condition, so it just runs an if statement for every ability, regardless of whether it has that condition or not:

if ability.trigger_condition == Triggers.OnAttack:
  ability.activate()

My issue is that this could get a little unscalable with many characters on-screen each having many abilities of their own. A character could have 1 OnDamaged ability and 19 OnAttack abilities, but when an "OnDamaged" signal is received, it will still loop through all 19 OnAttack abilities.

Any advice on this is appreciated, thank you all.

23
 
 

I'm learning as I go. Proud of getting some interaction with the environment working. Still lots of bugs to sort out, especially player and camera movement!

24
 
 

Hi everyone! This time, I would create a really simple shader that can be quite useful if we need to make a smooth transition from one image to another. I experimented with it a bit while working on a side project. Let's take a look at what such a shader might look like.

25
2
ClamAV Frontend in Godot (autumn.revolt.chat)
submitted 1 month ago* (last edited 1 month ago) by MarshReaper@lemmy.world to c/godot@programming.dev
 
 

I hope this software is useful to those who feel they need it.

Available on codeberg: https://codeberg.org/MarshReaper/GuardianSecurityCenter/releases/latest

This is a client that makes use of the ClamAV packages available in most repositories. It is made to replace ClamTK and check that box for people wanting to use Linux.

Some features are still in development, so not for production use just yet. But, you can run a quick scan and update signatures which is basic enough for most users.

I saw a video DistroTube posted and it made me a bit confused. It was about the Kasperky being offered on Linux. If you have seen the comments you would understand.

Anyways, this had me remember people I know ask me about anti viruses on Linux. I tried ClamTK, but it is very unintuitive and has a somewhat broken workflow.

I hopped on Godot and searched for an image of a popular antivirus software. I then made the software using the pretty layout that many people are used to.

I learned some things about Godot and I hope others will too with this project. Enjoy!

Also, if anyone could help me find the best way to distribute this software that would be great! (flatpak? repos? it requires administrative privileges)

view more: next ›