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
  • НаукаНаука

Комментарии • 88

  • @theARDISAN
    @theARDISAN Месяц назад +46

    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.

    • @UltimatePerfection
      @UltimatePerfection 25 дней назад +5

      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).

    • @VictrisGames
      @VictrisGames 17 дней назад +2

      @@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!

  • @bcbdjane
    @bcbdjane 12 дней назад +12

    griffpatch's gonna have a field day with this one

  • @t0kthx792
    @t0kthx792 Месяц назад +24

    funny,this was the kind of stuff i was looking for the past few days

  • @MrDanINSANE
    @MrDanINSANE Месяц назад +22

    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! ❤

    • @EndlessOS
      @EndlessOS  Месяц назад +10

      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).

    • @MrDanINSANE
      @MrDanINSANE Месяц назад

      @@EndlessOS I'm looking forward to see what will you cook for upcoming versions 💙

    • @thedragonsden2004
      @thedragonsden2004 Месяц назад

      @@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

    • @EndlessOS
      @EndlessOS  Месяц назад +2

      @@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!

  • @justlimeguy
    @justlimeguy 15 дней назад +5

    HELLO FELLOW SCRATCH DEVELOPERS!!!

  • @Gavyynn
    @Gavyynn 27 дней назад +4

    This is extremely helpful to beginners, I really hope you continue to support this plugin :-)

  • @kevinfischer4869
    @kevinfischer4869 7 дней назад +1

    Even though I’m a “professional” coder, I kinda want to use this just to relive my Scratch days lol

  • @sharethepudding
    @sharethepudding 13 дней назад

    AMAZING WORK

  • @sanparuzu
    @sanparuzu 25 дней назад

    Yesssssssss thank you so much for this! Cannot wait to see it fully implemented

  • @oglothenerd
    @oglothenerd 24 дня назад +1

    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.

  • @PokeParadox
    @PokeParadox Месяц назад +4

    This is awesome work!

  • @Waqinton
    @Waqinton 23 дня назад +2

    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

  • @dreamwritego
    @dreamwritego Месяц назад +5

    Now Thats one Hot Cup Of Cool! Nice job 🎉🎉

  • @hopelessdecoy
    @hopelessdecoy 7 дней назад

    Amazing!!!!!

  • @visualcodinghub
    @visualcodinghub 22 дня назад +1

    This is amazing. I love this. Thank you so much.

  • @sebashtioon_
    @sebashtioon_ 25 дней назад

    This is actually crazy, thank you.

  • @sneakeeno7507
    @sneakeeno7507 14 дней назад +1

    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.

  • @DGdevv
    @DGdevv 25 дней назад

    Scratch plugin looks neat!

  • @RyanHarris-ix1lm
    @RyanHarris-ix1lm 15 дней назад

    I agree, I want to see this make it. As unity's scratch coding failed. This could do better though.

  • @RandyLutcavich
    @RandyLutcavich Месяц назад +2

    Cool stuff. Would be handy to be able to reuse logic on multiple nodes.

  • @kirbyzaz
    @kirbyzaz Месяц назад +7

    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!

    • @manu.q
      @manu.q Месяц назад +4

      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.

  • @WafflesVR12
    @WafflesVR12 22 дня назад +2

    I can't get it to work ):

  • @gugaferreilagu393
    @gugaferreilagu393 20 дней назад +1

    does it work for 3d?

  • @kengg
    @kengg 5 дней назад +1

    can you make 3d multiplayer game with this?

  • @collinvisser7108
    @collinvisser7108 25 дней назад

    Neat well done

  • @roquepapa1292
    @roquepapa1292 14 дней назад +1

    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.

  • @briankumanchik2474
    @briankumanchik2474 24 дня назад

    Also, I can't get the image to show up unless I add a Sprite2D as well

  • @briankumanchik2474
    @briankumanchik2474 24 дня назад

    I'm getting an error when I try to run the file: Parser Error: No constructor of "Vector2" matches the signature "vector2(int)".

  • @SPANDtheGreat
    @SPANDtheGreat 23 дня назад +1

    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

  • @musical.dilettante
    @musical.dilettante 8 дней назад

    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

  • @LeBabol
    @LeBabol 24 дня назад

    as a scratch user this is fucking awesome
    good job m8.

  • @eobet
    @eobet 22 дня назад

    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?

  • @couchbrogames7499
    @couchbrogames7499 Месяц назад +2

    so cool

  • @blossomcherrypink
    @blossomcherrypink 28 дней назад

    Looks awesome bruv. I would use it if I used Godot.

  • @anajamx
    @anajamx 11 дней назад

    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

  • @Chareidos
    @Chareidos 5 дней назад

    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?

  • @user-mw2nm3vs3k
    @user-mw2nm3vs3k 23 дня назад +1

    i am a scratch pro this is perfect

  • @dibaterman
    @dibaterman 8 дней назад

    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.

  • @chaosmachines934
    @chaosmachines934 18 дней назад

    ho this looks cool

  • @TheCardsmania
    @TheCardsmania 13 дней назад

    If you create a tuto for a match 3 in block coding, you will be truely sympa

  • @programaths
    @programaths 19 дней назад

    LOL, I was seriously pondering making this 🤣🤣

  • @kingofnothing2260
    @kingofnothing2260 25 дней назад

    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?

    • @EndlessOS
      @EndlessOS  24 дня назад

      Did you enable the plugin? In Project → Project Settings → Plugins.
      Apologies that this step was missed in the video.

    • @kingofnothing2260
      @kingofnothing2260 24 дня назад

      @@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

  • @user-fu8gq5xg5u1
    @user-fu8gq5xg5u1 12 дней назад

    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

  • @UltimatePerfection
    @UltimatePerfection 25 дней назад

    Is it for 4 or 3? Also, can you implement custom blocks with GDScript?

    • @EndlessOS
      @EndlessOS  24 дня назад

      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

  • @nathanglevy
    @nathanglevy 28 дней назад

    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?

    • @EndlessOS
      @EndlessOS  28 дней назад

      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.

  • @Scudmaster11
    @Scudmaster11 14 дней назад

    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)

  • @TYTYUNDERGROUND
    @TYTYUNDERGROUND 14 дней назад +3

    Does it work in 3D mode?

  • @Chevifier
    @Chevifier 2 дня назад

    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.

  • @thedragonsden2004
    @thedragonsden2004 27 дней назад

    I am currently trying to make a platformer game using this code block system. is there a comunity discord server for this plugin yet?

    • @EndlessOS
      @EndlessOS  27 дней назад +1

      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

  • @yeaglaceshorts546
    @yeaglaceshorts546 Месяц назад

    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

    • @yeaglaceshorts546
      @yeaglaceshorts546 Месяц назад +1

      nevermind i got it working, thanks!

    • @yeaglaceshorts546
      @yeaglaceshorts546 Месяц назад

      nevermind, i got it as a node, but still nothing appears on the top of my screen

    • @yeaglaceshorts546
      @yeaglaceshorts546 Месяц назад +1

      ahhh i got it working. you have to go to project settings. then plugins, and enable it

    • @EndlessOS
      @EndlessOS  Месяц назад

      @@yeaglaceshorts546 Thanks for trying our project. Apologies for missing this step in the video!

    • @yeaglaceshorts546
      @yeaglaceshorts546 Месяц назад

      @@EndlessOS so I thought I got it working, but the node will not appear, even though the block coding tab is at the top…

  • @neytracg308
    @neytracg308 9 дней назад

    This could use some animation blocks.

  • @RackteamSuper
    @RackteamSuper 20 дней назад

    scratch but good

  • @raidev_
    @raidev_ 28 дней назад

    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

    • @EndlessOS
      @EndlessOS  28 дней назад

      It's possible but perhaps a bit tedious! Our audio playing blocks generate GDScript code to play the sounds.

  • @drfelipe4943
    @drfelipe4943 Месяц назад

    3D support ?

    • @EndlessOS
      @EndlessOS  29 дней назад +1

      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!

    • @drfelipe4943
      @drfelipe4943 29 дней назад

      ​@@EndlessOS ok , thanks!!👍

  • @celsladroma8048
    @celsladroma8048 25 дней назад

    so this is the next generation of godot engine? what a scary thing

  • @rockets4lifegaming
    @rockets4lifegaming 25 дней назад

    reminds me of scratch

  • @user-yb6je7ss6v
    @user-yb6je7ss6v Месяц назад

    Doesn't work 😢

    • @EndlessOS
      @EndlessOS  Месяц назад

      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.

  • @thedragonsden2004
    @thedragonsden2004 Месяц назад

    AT LONG LAST CONSTUCT WILL NOT HOLD ME IN CHAINS