Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

willnationsdev

14
Posts
1
Topics
1
Followers
6
Following
A member registered Feb 06, 2017

Creator of

Recent community posts

Oh, that may be the case. Would need to test it. When I made my attempt to do web game stuff, only the ENet and WebSocket stuff existed, and of those two, only WebSocket multiplayer worked with HTML5 builds. WebRTC came on later. I checked back with the docs to see if there was any change, but that quoted line I provided also came from the docs in the high-level multiplayer page, so I thought it was still the case. If the WebRTC docs specify otherwise, then the docs may just need updating to avoid conflicting reports then.

(1 edit)

Some helpful tips for anyone planning to learn multiplayer in Godot (things that were confusing to me in the beginning as I was learning):

1. There is a Note in the docs with the following statement that is *very* important for those trying to make multiplayer web games: "Most notably, the HTML5 platform currently only offers WebSocket support and lacks some of the higher level features as well as raw access to low-level protocols like TCP and UDP." So, when setting up networked gameplay, do not use NetworkedMultiplayerENet or WebRTCMultiplayer. You must use WebSocketMultiplayerServer/Client/Peer.

2. The high-level multiplayer API ultimately has two kinds of communication. Communication between game instances (effectively from one SceneTree instance to another SceneTree instance - see `MultiplayerAPI.send_bytes`) and communication between nodes executed via `rpc()`/`rpc_id()` calls that target methods to which you have applied the network keywords (`client`, `server`, `sync`, etc.). In the latter case, it's important to note that methods are executed by following the identical absolute NodePath of the executing node. So if /root/A/B calls method `foo()` using RPC, then the remote game instances will also look for a Node at /root/A/B and attempt to call `foo()` on that Node too (to replicate the behavior). So if you want operations to be replicated over the network, then the Node trees have to match. You can't simply target a Node by its reference or its ObjectID because those values are the Node's actual memory address in the computer which will be different between different devices. If you need to relay remote instructions between node trees that are similar, but differently organized, then you'll need to delegate that task either through a Node that *is* shared between the game instances or delegate it to the SceneTree itself (via calling `send_bytes` on one and connecting to the signal that receives those bytes on the other game instance).

Pretty much everything can be learned very readily in the docs/demos and online tutorials, etc. but I just wanted to bring people's attention to this stuff since it can be easy to gloss over it when learning so much new information.

(1 edit)

For those who are interested in Godot Shaders, some things to know.

1. Godot uses a custom Godot Shader Language which attempts to simplify the task of writing shaders as much as it can. There is both a text format and a visual nodes-and-wires format. For more information on writing Shaders in Godot, please see the updated Shader documentation which covers a plethora of topics: what a shader is, how they work in Godot, the assets they manifest as, how you use them in a project, as well as various examples of walking you through writing them.

2. There are many good resources for finding Godot Shaders online.

  1. The official `godot-demos` GitHub repository which has a 2D section that includes example sprite shaders and screen-space shaders. All links here are pointing to the 3.2 branch which, at the time of writing, is the latest "stable" branch copy of this repo (is likely similarly compatible with later 3.x releases).
  2. The GDQuest `godot-shaders` GitHub repository for its "Godot Shader Secrets" course (all source code is under the MIT license).
  3. The `https://godotshaders.com` website contains many uploaded examples of Godot Shaders from the community (and works even for people who have no understanding of git source control).
  4. The official Godot Asset Library (section: Shaders) website similarly has many uploaded examples of Godot Shaders from the community. These are directly downloadable straight from the Godot Editor's `AssetLib` tab on the main toolbar.

Source/Full Disclosure: I've been a (minor) Godot contributor since 2017 and have seen the growth of various resources over time.

I'm glad you enjoyed it! :-D

Hey there! Cool someone recognizes me (though I'm not sure from where - GitHub? Reddit?).

If they decide to use Blender to create the 3D art, you might look into Godot's escn format. Last I recall, someone had built tools in the Editor for somehow having Blender export a scene as a specialized format that could be directly opened in Godot (an exported scene, i.e. *.escn format). More info can be found here and there is plenty of other documentation for importing 3D assets in the official docs.

Have fun!

Cool. Looking forward to seeing your guys' projects!

This would be my first time submitting anything to a game jam, but from what someone else said, it looks like you upload a game to Itch and then somehow link / submit that game to the jam? In which case, the upload is linked to your Itch account and you probably just have to credit the people involved rather than systematically binding multiple social profiles as "co-owners" of the submitted work.

Again, this is my first time, so take with a many grains of salt.

(1 edit)

I'm a Godot Engine contributor and I help build plugins/tools. Was planning to participate for fun, but I'm wondering exactly how many are planning to use Godot. I'm guessing it won't be nearly as many as Unreal/Unity/GameMaker, but it would still be kinda fun to know if there are others out there.

My guess would be that something like ReWired, which really gives a stronger feature set for something a game engine should already provide (sort of engine-level things) would be fine to use, but something like Corgi Engine (which essentially gives you fully complete gameplay implementations for a given genre) would break the mandate of not "purchasing" elements of game design. I could be wrong though and both end up being acceptable.

> Just to make sure, are their any money based licenses around Godot?

Nope! The engine is completely free and open source, following a FOSS philosophy. There is a Patreon for donations, and users who donate get credits they can use to vote on new features and documentation in monthly polls. Godot Engine is managed by the Software Freedom Conservancy, a non-profit dedicated to free and open source software, so you can rest easy knowing that there are no commercial incentives behind its development. The developers' are purely devoted to building the best engine possible for the community.

(1 edit)

From their license statement, it appears that the free trial period license does not permit you to make a final executable (which is a requirement of participating in the GMTK game jam). So no, you would need to purchase a full version of the editor in order to use it, to my understanding.

As an alternative, you could try out Godot Engine. It's completely free and open source, is honestly a lot better than GMS2 (and gradually approaching the quality of Unity/Unreal, though still has a lot of work to do to get there), and even includes visual scripting if you wanna go that route (though the official step-by-step tutorial series uses GDScript, a C++-Python hybrid that is tightly integrated with the engine and *extremely* easy to use and build content with. Like GMS2, it has a dedicated 2D editor, but is also a lot more flexible and powerful. Supports GDScript, VisualScript, C#, and, if you know what you are doing, at least a dozen other languages.

Full Disclosure: I'm a Godot contributor.

The "gdscript mechanism" you mentioned is actually meant to refer to the GDNative C API. You are linking to the gdscript basics documentation. I'm sure it was a simple mistake cause you seem to know what you are intending to refer to. XD Just wanted to give you the heads up. Nice article overall. :-)

(2 edits)

I tried to run this game in the browser on my Windows computer, and the only inputs that seemed to work were walking left (when holding down A) and pausing the gameplay with ESC (no menu came up though, if that was supposed to happen). I could not walk right or click on anything.

Edit: seems like the Windows desktop version is working fine. Although, you get a "crash" result when you close the game, so I'm not sure why that's happening. Certain resources / memory references still in use at exit or something?

I really liked the game. The art, music, and gameplay was decently fun considering its a jam game. Here is some feedback.

1. The bread cart wasn't functional (nothing was thrown when I was on it). I don't know if that's a bug or if it's a feature that just didn't make it in, but either way, it was a "thing" in the level that gave the appearance that I could interact with it, but I couldn't. This is a fault in the game design.

2. Throwing bombs at the birds was fun, but I feel like the game would've been more entertaining if there'd been some kind of challenge to it. Perhaps with faster birds that would swoop down and try to hit the player directly (perhaps allow the player to have a jump mechanic to jump over the diving birds) and then to have occasional birds come by with weights that, if not shot in advance, drop their load on a cart and potentially damage the train (so the train has health too). In every game I played, I basically had to let the weights fall onto me in order to lose. Or get careless with the heat and watch my train burn without realizing I can also chuck water by standing over the water cart (happened the first time I played).

Anyway, this was a fun little project. Great work! I could easily see this being a tiny little mobile game btw.