Godot Block Coding Plugin: Building a simple game
HTML-код
- Опубликовано: 31 июл 2024
- Here at Endless we are looking at different ways to ease first-time game developers into Godot. As part of this we have just published our initial learner-oriented block programming plugin prototype for Godot. Here is a demo of how it can be used to build a simple game, without needing to first learn GDScript programming.
If you want to try this, please note that one setup step was omitted from this video. After you install the plugin from AssetLib, you must enable it within Project → Project Settings → Plugins.
To learn more about our game development initiatives, including how we make game creation accessible for early-stage learners, please visit: www.endlessos.org/game-making
How to set up the Pong scene from scratch: • Godot Block Coding Plu...
More info: github.com/endlessm/godot-blo...
Video by William Baumgartner Наука
This is the Godot visual scripting i've been looking for for years. Thank you for starting this project, I hope it grows full and well. Making this as much like Construct/Gdevelop (even possibly improving on them) as possible would be the most impressive feat imaginable. So many beginners and people that just like the block code workflow would be happy.
Agreed. I think Scratch-like blocks are much better than nodes or spreadsheet code (think Clickteam Fusion, GDevelop, etc.) as they're visually cleaner and you are unlike to accidentally make incomprehensible mess of nodes, a.k.a. actual spaghetti code (nodes being the meatballs and connections between them being noodles).
@@UltimatePerfection as a GDevelop user, I greatly enjoy the hierarchical structure of the event sheet (spreadsheet). It pains my OCD to see coding blocks being placed at random locations on a canvas. At least make them snap to align vertically or horizontally!
griffpatch's gonna have a field day with this one
😂
funny,this was the kind of stuff i was looking for the past few days
Amazing!
There is a huge potential for this as the next VISUAL SCRIPTING which needs to be a default system.
I didn't see the same options of the blocks on the left list on the version I downloaded from the AssetLib, so I'm not sure what's the most up to date version the video or the library.
I also tried to change animation but I didn't see any block related to it, I guess it's not there yet.
Some Suggestions:
1. As reference please look at Construct or GDevelop how they also change some "tech terminology" to more Human-Like instead of GDScript terms, so even if someone doesn't know GDscript will be able to Drag & Drop to make anything.
2. A Dedicated comments block will be nice to connect or just put floating between blocks on the Block-Code canvas.
3. Navigation:
- While Holding the Middle Mouse Button to pan around
- While dragging MMB to Zoom in Out
4. Canvas:
- Adding a GRID and Snap to Grid will be VERY nice
- Set the GRID transparency and color so it will be easy to control.
5. More Blocks to cover more and more of what GDScript can do
I'm not a programmer but I used some visual scripting so I'm a decent "test subject" 😅
6. Search / Filter to easily find specific blocks.
7. Mouse Control:
Right Click over a BLOCK or Multiple Blocks (marque / lasso selection) for different tasks:
- Duplicate Block (or group of blocks)
- Delete (I know you can drag to the left but it's good to have another way instead of dragging one by one to the left.
- Copy/Past blocks obviously
8. Instead of "magic numbers" like in the video example, allow to use variables (I couldn't do it on the current version)
9. Autocomplete will be nice to help enter existing node names, variables etc..
TBH - I have so many more ideas, but since I see the huge potential of this visual scripting... I had to share my most basic things I noticed not yet in the plugin.
Please keep up the wondaful job you do! ❤
Thanks for the feedback and suggestions! The version in the video is slightly ahead of the latest AssetLib release, we'll have more releases flowing shortly. I expect the appearance will continue to change as we are still in early stages. Also, the selection of available blocks depends on which node you are attaching to (e.g. the "Move with player 1 keys" block only applies to a custom component we include in the plugin called SimpleCharacter).
@@EndlessOS I'm looking forward to see what will you cook for upcoming versions 💙
@@EndlessOShey for some reason my code blocks plugin doesn’t set up when I install it from asset lib, I tried to reach out over the discord and didn’t get any help
@@thedragonsden2004 Hey! Sorry to hear you're having trouble. Sometimes, the issue can be that the plugin isn't enabled after installation. We've placed step-by-step instructions on how to enable it in the description of the RUclips video. After you install the plugin from AssetLib, you must enable it within Project → Project Settings → Plugins. Let us know if you still have any issues!
HELLO FELLOW SCRATCH DEVELOPERS!!!
This is extremely helpful to beginners, I really hope you continue to support this plugin :-)
Even though I’m a “professional” coder, I kinda want to use this just to relive my Scratch days lol
AMAZING WORK
Yesssssssss thank you so much for this! Cannot wait to see it fully implemented
I tried that one game you guys made a while back about the pipes and the programming to make the pipes longer or shorter and stuff. I liked it.
This is awesome work!
thank you, SO MUCH for this 😭
Im trying to transition from Turbowarp [a scratch addon] to Godot, but im pretty overwhelmed by the UI's and just wanna start building stuff first without having the copy paste some scripts
Now Thats one Hot Cup Of Cool! Nice job 🎉🎉
Amazing!!!!!
This is amazing. I love this. Thank you so much.
This is actually crazy, thank you.
a little issue i'm having. i would install the plugin and enable it and all, but the block code editor doesn't seem to show up like your screen and just shows a blank screen, and i cant seem to find a way to activate it.
Scratch plugin looks neat!
I agree, I want to see this make it. As unity's scratch coding failed. This could do better though.
Cool stuff. Would be handy to be able to reuse logic on multiple nodes.
Very curious if there is or will be a feature to convert the block code into a GDScript, this would help learn off what the person built to give them a good idea of how it would look in GDScript. Other than that, thank you for this!
this is actually the case. There is a "Print generated script" button that can be seen in the editor. Then going to the Output at the bottom dock shows the GDScript. But yeah this needs can be improved.
I can't get it to work ):
does it work for 3d?
can you make 3d multiplayer game with this?
Neat well done
Hello, good initiative! It might be interesting to reproduce Brackeys' tutorial with this tool. It has become fashionable for different engines to reproduce the same game that Brackeys made in his tutorial and it is an excellent way to compare engines... it would be great to see this visual tool reproducing that same game.
Also, I can't get the image to show up unless I add a Sprite2D as well
I'm getting an error when I try to run the file: Parser Error: No constructor of "Vector2" matches the signature "vector2(int)".
it doesnt work! (for me) when i create a new project, download the blockcode i add a character body 2D with the collision shape etc. but when i add the blockcode node its just a white circle node and nothing happens also i tried checking the project plugins but it was empty
Hello! Could someone help me? I downloaded this plugin, but when I add the blocks they do not appear, but are on the list on the left
as a scratch user this is fucking awesome
good job m8.
What’s the strategy for when blocks get hundreds of lines long? It looks easy in the beginning but how do you get an overview as projects grow?
so cool
Looks awesome bruv. I would use it if I used Godot.
i made a simple label node i just wanted to make the label.text="hello world" , i couldn't find anything in the blocks that can bring nodes and change their properties am i messing something ? also there was no mention of Random numbers , lets say i want something to move in a random speed , u cant do it using this plugin , it has alot of potential but its too early for it to be useful , thanx for the effort though
I got a question. How well does it perform compared to Orchestrator? Was thinking of using that, since it is like visual scripting, but I've read that some people did not manage to make it work and the difference might be that this Block Coding is far more closer to actually looking like code and a better choice to actually learn coding.
Are there complications with this plugin/addon or is it easy and safe to use for your project?
i am a scratch pro this is perfect
Same
Great video, the only criticism I have is you started off assuming your viewer knew what block coding was about for some reason. It would be good to mention early that it is an alternative form of coding that is akin to visual scripting languages.
ho this looks cool
If you create a tuto for a match 3 in block coding, you will be truely sympa
LOL, I was seriously pondering making this 🤣🤣
I installed it successfully, but the node doesn't exist on my directory. I installed from asset lib into my addons file. I can see the files under addons under res in file manager inside a project, but no node. What do I do?
Did you enable the plugin? In Project → Project Settings → Plugins.
Apologies that this step was missed in the video.
@@EndlessOS I did. Eventually I had to look into the folder and find that the first folder was not needed. By taking it out, which actually had all the files in it and putting that into my addon folder, it worked. Ty
So it turns out the same thing, only you don’t write the code.
This is for those who already know the code and just want to speed things up. Any beginner will have to learn the code so that later they at least know which node is responsible for what
Is it for 4 or 3? Also, can you implement custom blocks with GDScript?
It's for Godot 4.2 and newer.
Custom blocks can be implemented, see the SimpleCharacter scene shipped in the plugin (and the GDScript attached to it) as an example
This is really neat! Obviously reminds me a lot of Google Blockly and Scratch.
I was wondering how the underlying block engine is implemented, and what the plans for this plugin are. Could this be used not just as a godot plugin, but instead used as a node type (like graphnode) to make a game/app that teaches block programming, by making an editor with blocks that can be defined by the dev (me), and used by the player?
We don't have any docs for the underlying implementation yet but the code is all there, it's open source and written in GDScript. You can create custom blocks attached to your own node/scene types. For example check out the SimpleCharacter building block scene that we include in the plugin, in the GDScript attached to that node it defines a custom block for simple movement based on keyboard input.
I think there are challenges in taking this outside of the Godot editor, that is not really something we are designing and architecting for. For example the Pong game here needs to be built in the Godot editor to create, place and configure all the nodes (we have a separate video showing this setup process). Then only at that point, you add block code to it.
Looks like scratch got so popular the community ported a method of it to godot LOL (i am a scratcher and lua user... to im happy)
Does it work in 3D mode?
Why not
I absolutely love this. Is it open source. Id love to contribute to its development if possible.
[Edit] found it. Seeing a lot of room for enhancements/features.
I am currently trying to make a platformer game using this code block system. is there a comunity discord server for this plugin yet?
Brilliant! Can't wait to hear how you get on. On the Godot Cafe discord server, there is a #visualscript channel where we are participating. Another place to give feedback is here: forum.godotengine.org/t/block-coding-high-level-block-based-visual-programming/68941/14
i installed it, and its in my addons folder, but nothing appears on the top of my screen, and it doesnt appear as a node
nevermind i got it working, thanks!
nevermind, i got it as a node, but still nothing appears on the top of my screen
ahhh i got it working. you have to go to project settings. then plugins, and enable it
@@yeaglaceshorts546 Thanks for trying our project. Apologies for missing this step in the video!
@@EndlessOS so I thought I got it working, but the node will not appear, even though the block coding tab is at the top…
This could use some animation blocks.
scratch but good
why is playing audio directly from code not possible in normal godot? I don't want to bloat my scene trees with a billion audioplayers
It's possible but perhaps a bit tedious! Our audio playing blocks generate GDScript code to play the sounds.
3D support ?
The blocks can manipulate any node type, so it should work for 3D games too. But we have not specifically designed for this case (yet) so you might find that some operations are missing or tedious to achieve using blocks. Please give it a try and let us know!
@@EndlessOS ok , thanks!!👍
so this is the next generation of godot engine? what a scary thing
reminds me of scratch
Doesn't work 😢
Sorry to hear it's not working for you! Could you provide a bit more detail on the issue? That way, we can help you better.
AT LONG LAST CONSTUCT WILL NOT HOLD ME IN CHAINS