How Using Scenes Correctly Can Improve Everything - Now You Know Too

Поділитися
Вставка
  • Опубліковано 27 бер 2020
  • This is the best way to structure your games, I have done it both ways and I can tell you that you will be happier in the long run if you do it in the way I describe in the video.
    Let me know if you have any questions about it, and I always love feedback.
    Join my Discord server if you want. Maybe one day I'll be active on it.
    / discord
    Contact:
    artindigames@gmail.com
    Programs Used:
    Godot Game Engine
    OBS Studios
    Aseprite
    Shotcut
    Music:
    "lucid wings" by the Coffee in a Spaceship System, with Nheve as host. / @nheve
  • Навчання та стиль

КОМЕНТАРІ • 198

  • @Artindi
    @Artindi  4 роки тому +45

    This was less of a tutorial and more of a suggestion on the best way to structure you games. Have you done it this way in the past? If so did it work for you? or have you found an even better way? Please do let me know! :D

    • @RyanScottForReal
      @RyanScottForReal 4 роки тому +6

      Way better than just a tutorial, until you understand this using godot is way too hard. This 'simple' principle should be taught first!

    • @TheFlyJunky
      @TheFlyJunky 4 роки тому +3

      is this godot's way of doing prefabs?

    • @Artindi
      @Artindi  4 роки тому +4

      @@TheFlyJunky Sure is! :D I mean, I guess, haven't used unity, so yeah. :)

    • @bobsondugnut4179
      @bobsondugnut4179 4 роки тому +3

      @@TheFlyJunky Prefabs are okay, and thank god they have nested prefabs now, but honestly how smooth Godot makes the workflow makes it feel like prefabs are unity's okayish attempt to do scenes.

    • @steviegilliam5685
      @steviegilliam5685 3 роки тому +1

      can this also work on visual scripting for godot?

  • @stedunn563
    @stedunn563 4 роки тому +130

    The main reason to make everything ascene for me, is so I know there are no dependencies, each scene should run fine by itself without issue. This will ensure cleaner code, and make objects reusable.

    • @kinoko384
      @kinoko384 4 роки тому +5

      The thing I'm not sure about, is how to handle signals when also trying to make every scene independent from others.
      You need to use signals to detect collisions and damage from enemies and stuff, but the problem is that you need to connect them first. This can only be done if both the player and enemy (for example) is in the same scene, and it makes making every scene independent a bit difficult.
      Also, it makes it hard to want to simply drop and drag in players/enemies into the same scene and expect them to automatically all work when you run it.
      I always scratch my head over this. Can you give me tips on how you handle it?

    • @HonsHon
      @HonsHon 4 роки тому +11

      @@kinoko384
      The thing about signals is that they follow an event/listener pattern. If a scene never hears an event, it can still function and vice versa. What I would suggest is to simply set some type of default behavior for a scene to follow if it doesn't hear a signal. If a signal is emitted but no one hears it, that doesn't hurt anything at all.
      Also, having dependencies aren't always a bad thing. I mean, the clouds in this video are just a sky effect without the rain. And, the rain are simply just droplets without the sky. And, the droplets don't spawn without spawners.
      So, dependencies allow us to split up code and keep these simple. Now, they aren't good for every situation, but having them isn't necessarily a bad thing.
      Edit: Everything in programming has points where it can be useful and can be detrimental.

    • @kinoko384
      @kinoko384 4 роки тому +4

      @@HonsHon Thanks, that helps a lot :D
      I never thought about designing my scenes to be "listeners". I'll try to approach them in that way from now on.
      Also yeah I understand what you're saying about not everything needs to be independent. I'm still a newbie to structuring games well so I'll have to practice a lot!

    • @kinoko384
      @kinoko384 4 роки тому +2

      @James Fitzgerald Ohh good idea using script is going up solve a lot of problems! I'll check out your suggestions, thanks :D

    • @HonsHon
      @HonsHon 4 роки тому +2

      @@kinoko384
      Glad I was able to help! Just glad to be talking to other game developers in general. When I first started, I didn't know crap. Just the fact that you are already knowing stuff like dependencies and understanding what listeners are show that you were leagues above where I was.

  • @gnolex86
    @gnolex86 4 роки тому +92

    The name "scene" doesn't make it clear what scenes can be used for and this contributes to people not using them more often. This should be the #1 lesson in Godot development, scenes are your custom entities and prefabs, use them for everything that has an identity, especially if they have a script or animation attached.
    The nice thing about scenes is that you can put them in separate folders with all their assets and create additional scenes that won't be used in the game, they're just for testing entities. This creates basic unit tests for everything in the game. You created a Player scene and want a simple way of testing movement outside actual game levels? Create PlayerTest scene right next to it with some blocks to move on and use F6 to run the game on it. It's that simple. You can't do that when everything is placed in one big scene.

    • @DashNothing
      @DashNothing 3 роки тому +2

      What name would you use instead of "scene"?

    • @gnolex86
      @gnolex86 3 роки тому +4

      @@DashNothing "asset" or "entity"

    • @lincolnpepper816
      @lincolnpepper816 3 роки тому +4

      it is #1 lesson in godot development if you use the doc tutorials.

    • @FutureChaosTV
      @FutureChaosTV 2 роки тому +2

      @@DashNothing Basically you put anything that isn't just a singular script into its own scene.

    • @GizziMoD
      @GizziMoD 2 роки тому +1

      @@DashNothing blueprints?

  • @HeraldOD
    @HeraldOD 4 роки тому +30

    A super handy way to apply this: if you've already built up a scene with stuff and you realize you're gonna need that stuff elsewhere, just right-click a node and hit "save branch as scene". Works seamlessly.

  • @redbluecarrots2476
    @redbluecarrots2476 4 роки тому +47

    In my first project, I was under the noob-ish misconception as well that a scene was a level. It do not even want to think about touching that project again now due to how inefficient the scene layout was. So great job highlighting what I agree is the most important part of learning godot.

    • @Artindi
      @Artindi  4 роки тому +6

      Thanks! I couldn't not make a video of this after figuring it out. :)

  • @boruok
    @boruok 4 роки тому +12

    You're more than right. Almost every tutorial in GodotEngine is all about making ONE level. Well, if you have 100 levels, you must setup objects for each 100 levels. Instead, you can make separate each objects and reuse em in wherever you whant or maybe even reuse your objects in another project.

    • @Artindi
      @Artindi  4 роки тому +2

      Exactly, as my own game was getting bigger and bigger it was also getting harder and harder, but now I don't have to worry about that anymore. :) Thanks for the great comment! :D

  • @Zuap
    @Zuap 3 роки тому +10

    Comming from a programming point of view, I started doing it intuitively from day one, because associated scenes with the concept of class/object in object oriented programming: each node is like a visual concept to an object and scenes make it easy to inherit them. This node and scene concept is what makes me love Godot.

  • @FlanGrande
    @FlanGrande 4 роки тому +12

    I would add that, if for some reason, you need something to behave in a very particular way, just in one scene, you can make a scene become a local object, so it will behave the same way that if it wasn't a scene in the same place.
    Right button on a scene node > Make local.
    Since Godot
    is made in Godot, (I'm a poet too, ok?)
    a lot of things in the inspector behave in a similar way.
    Take a Sprite texture field, assign an image to it, and right click > Make Unique
    There's also other options in there that you may find useful at some point, like Saving a resource to use it later for another Node.

    • @FlanGrande
      @FlanGrande 4 роки тому +3

      BTW, I also thought initially that Scene was a level, it just makes sense based on the name.
      If you come from Unity, scenes are prefabs. If you come from Unreal Engine, scenes are blueprints.
      There's unique things about each of those systems, but the essence of these abstractions is that you can build on top of each other to create complex behaviors like... well, rain that can later on be pushed around, idk.

  • @chepulis
    @chepulis 4 роки тому +37

    This is the most hilarious rain i've ever seen. Keep it the way it is.

  • @richardikin
    @richardikin 4 роки тому +17

    I literally started using Godot last night, and this is incredibly helpful. Thanks for posting.

    • @Artindi
      @Artindi  4 роки тому +2

      You're Welcome! Are you doing Ludum Dare than?

  • @zacharychristy8928
    @zacharychristy8928 3 роки тому +5

    In software engineering, a common heuristic for cleaning up your code and making it as bug free, maintainable, and flexible as possible is to:
    1. Make your functions small and numerous
    2. Group your functions into classes once you have too many.
    A scene is basically a class, so this all checks out.

  • @PotatoMcFry
    @PotatoMcFry 3 роки тому +6

    One thing I think new users should know: If you have already made several objects in your main "level" scene, like a player, enemy, platform, etc., you can just right click on them and select "Save branch as scene" to easily convert them to scenes.

  • @HE360
    @HE360 Рік тому +2

    WOW, thanks!! I needed this reminder! I'm going to go back and redo some of my scenes and will put this idea to use RIGHT NOW!! I'd like to add that this advice would also keep everything in my game structured and would keep everything neater, legible and more straightforward as I continue to make my game and as my game gets more complex; given that my game is 2D AND 3D.
    Another great thing in keeping each scene separate is if I want to REUSE some things whether it's a scene or item, it'll be just a click (or two) away with everything already set up with scripts already made and everything!!

  • @GDScriptDude
    @GDScriptDude 4 роки тому +4

    I agree that it at first seems like scene == level, but they are extensible objects. Nice explanation!

    • @Artindi
      @Artindi  4 роки тому +1

      Thank you! :D

    • @vaishnav_mallya
      @vaishnav_mallya 4 роки тому +1

      Yeah levels are actually child of the root node

  • @RicharRest
    @RicharRest 4 роки тому +4

    This.
    Scenes are one of the most important concepts that Godot offers.
    As you say, most tutorials either ignore it or take it for granted.
    This added to how to instantiate scenes in different contexts; and how to interact between scenes in different places and hierarchies, in my opinion, are the first steps that should be taught.
    (also the incredible power of the AnimationPlayer, it's basically like a video editor but for any property and method of the class! Insane)
    great content, keep it going!

  • @renatocann5142
    @renatocann5142 4 роки тому +3

    Good tip! I'm a *very* new newb and thankfully have been doing this with the player and enemies but wasn't really doing it for a lot of other assets. I can def see the value of having pretty much everything in its own scene, will likely start doing things that way. :) :)

  • @FacsimileRenegade
    @FacsimileRenegade 4 роки тому +1

    I 100% agree with this! Its really not mentioned that much but it will make everything you do so much cleaner and easier to digest from a top level view. Glad i clicked this vid hahaha!

  • @nick15684
    @nick15684 Рік тому +2

    For people coming from Unity, in Godot, a scene is basically a prefab. It can be a level in it's own right, but it can also represent literally every object in the game too.

  • @rodneylives
    @rodneylives 3 роки тому +1

    I just want to give you a note of appreciation, not just for the content of these videos, but for how witty and well-written they are! You're doing good work and I'm happy to be a subscriber.

    • @Artindi
      @Artindi  3 роки тому +1

      Thank you, I appreciate that a whole lot, makes my day. :)

  • @lucazfc
    @lucazfc 4 роки тому +8

    Indeed. Taking advantage of the scene system is essential to reduce development effort and allow easy construction of more complex scenes. Unity took a long time to develop a nested prefab system that could make what godot already could a long time before. The only thing I miss in godot's scene system is the possibility to make an inherited scene do arbitrary modifications to the base scene.
    In the current scene system, an inherited scene inherits all the nodes the ancestor scene has and can create new nodes, change inherited nodes data, change scripts and node types, but cannot rename or delete nodes. It would be very nice if one could do any kind of arbitrary modification.
    Besides using scenes for everything, one tip I would give for every one-man army developer regardless of the engine being used is to organize your folders around game objects, not around "asset usage type". What I mean is that having a folder called 'levelOneBoss' which contains everything exclusively related to that object, music, sound effects, visual effects, scripts, scene files and every other file exclusive to that object, is way better than having, say, a folder called sfx containing every sound effects in the game, including those exclusive to the levelOneBoss object, another one called sprites containing every sprite used in the game, including those exclusive to the levelOneBoss object, and so on and so forth, like for example what rpg maker does.
    For a long time, I used this approach of having single folders associated with file usage (music, sfx, sprite sheets, tilesets, scripts, scenes, etc). It feels "organized" and "clean" at first glance, and it really is, but when you are working alone, doing all the programming, graphics, music, sound effects, and scene creation, this approach is too slow to work with. When you put all the files associated with a game object inside its own folder you can no longer easily know how many script files or pngs or oggs your project has, not without resorting to some file explorer functionality or using some command-line utility. But on the other hand, when you are working on a single object, like a specific enemy, and I think this should be the most common workflow when you are working all alone, it is way easier to work, having immediate access to all files exclusively related to that object.

    • @Artindi
      @Artindi  4 роки тому +2

      Nice, I'm going to have to try that out. Thanks!

    • @Artindi
      @Artindi  4 роки тому +2

      @Gerson Ferreira Good points, very well said, thank you! I think many people will find this helpful. :D

    • @skaruts
      @skaruts 4 роки тому +2

      Personally, I tried organizing my files like you said at first, but ended up preferring to separate by type. At first this was because Godot 2 icons were all the same color (and all the way up to 3.1), so things were harder to tell apart then. But I still have that problem when I look at godot repos, for example, where I find it harder to figure out the structure of the projects that way.
      But my preference also came from also finding it a little more handy to work: I seem to need to navigate the FileSystem less often this way. When I'm scripting I tend to need other scripts more, so I just open the scripts folder and I basically get a list of them all. Same thing for when I'm laying out stuff, or doing animations, or shaders. I just open up the "scenes" or "resources" folder and it's all there. I like to stick to the Zen of Python with my files as well _("flat is better than nested, sparse is better than dense")._ :)
      Just btw, as a personal convention, I also prefer to not use embedded resources, as they tend to make the projects rather opaque. Especially embedded scripts and shaders, as it's hard to tell that they even exist.

    • @Artindi
      @Artindi  4 роки тому +3

      @@skaruts Cool, glad you could come to something of a conclusion, I still need to do some more experimenting myself, but yeah. :)

  • @Gakusangi
    @Gakusangi 3 роки тому +2

    The minutes I was told about scenes, I thought this very thing! I work with PhP for web programing, and it's built on the same sort of principle of making something modular, so you can have it dynamically created as needed with all the components starting separate and then getting called to.

  • @abhrajitray951
    @abhrajitray951 4 роки тому +1

    I just found your channel and it's really helping me a lot in making my first game. Thank you!

    • @Artindi
      @Artindi  4 роки тому +1

      I'm happy to hear that. Makes my day to know that I've helped someone out. :)

  • @TheRythimMan
    @TheRythimMan 9 місяців тому

    Years later and still a good point. I started with a few UA-cam video tutorials to get my head around the editor but now that i am reading the official Godot documentation I see how they ignore probably the most important feature of Godot.
    Fortunately, once i realized you could instantiate scenes i immediately recognized it as basically the Godot version of class/objects. I'm not an experienced programmer but i know enough to know learning how to instance classes will make large projects infinitely more manageable. But without any object oriented programming background i can see how beginners could easily dismiss instances as a roundabout way to so things.

  • @mladd777
    @mladd777 2 роки тому +1

    Many tutorials don't use scenes as their main. It get confusing when you mix "non scene YT videos" and "scene YT videos" to learn programing on Godot. It's only been a week. Now I will apply scene on everything.
    Thanks for the tip!

  • @darrylwainwright5865
    @darrylwainwright5865 3 роки тому +2

    I concur... been using seperate scenes for everything since I started.
    I think others don't is because it's easier to connect to nodes in the tree, but you miss out on usability.

  • @whilefree
    @whilefree 10 місяців тому

    Really good point. This guarantees reusability and modularity in your projects. You can even use your scenes in an "interproject" manner, meaning you can reuse your scenes in later projects as well. Thanks to Godot which makes this so easy to do.

  • @kevinbeardslee7587
    @kevinbeardslee7587 4 роки тому +13

    Similar to Prefabs in Unity. I force my designers to work this way to avoid merge stomping scene files (no checkouts in git).

  • @_JPkun
    @_JPkun 4 роки тому +1

    Most tutorials do that for educational purposes, it's less complicated to understand the scene structure, instancing and initialising scenes is not a very easy topic to grasp. (and even worse is saving data to transfer to another scene, like player position or his status).
    Also some people prefer to build a scene inside the "level" scene and later save it as it's own scene (right click, save branch as scene).
    But you are right, not many people talk about that, and it's extremely important for making a game, it's good to make it clear, like you did.

  • @wispsprojects1120
    @wispsprojects1120 3 роки тому +1

    The nice thing is, you can any time take a node of an existing scene and make it (and it's children) it's own scene. So you actually don't messing up anything, if you start off putting everything to one scene (wich is a quick and intuitive way for prototypeing), just make sure if you need anything elsewhere to go back and make it an idependent scene, so you don't make the same little thing a miilion times. I think in tutorials they do this too, because for a completly beginner it can be frigthening and overhelming creating a bunch of scenes for a simple level.

  • @JimsRobot
    @JimsRobot 4 роки тому +2

    Also with this is "call group" where each scene handles it's own actions. So "sunshine" might go to raindrop scene, also to player scene etc but each scene does their own thing in reaction to "sunshine". Having scenes allows this.

  • @markaven5249
    @markaven5249 6 місяців тому +1

    In Godot, you have to make a distinction between 'Level Scenes' and 'Prefab Scenes'. It leaves the organization of this up to the user. Its very much how Macromedia Flash used to work.

  • @GoGameDeveloper
    @GoGameDeveloper 4 роки тому +9

    I have used Godot for about 4-5 months now and I'm pretty much making a scene for everything in my game, it just makes it easier to fix problems and do less work, I even made the animation tree and animation player into a scene so I won't have to copy all my animations every time I make a new character. Btw if you try to make a 3D game you should make sure the game is not above 2.1 GB
    otherwise you probably won't be able to export your game, I had to delete a bunch of stuff to make it work on windows :(

    • @Artindi
      @Artindi  4 роки тому +2

      Good to know, I'll keep that in mind, I don't plan on making anything officially in 3D until the next big update at least. Thanks for the great comment! :)

    • @ExatedWarrior
      @ExatedWarrior 3 роки тому +2

      That size limit is a big deal and needs to be addressed. Are you on Linux? I've found similar issues for Linux users.

    • @spindash64
      @spindash64 Рік тому +1

      Honestly? Not the worst limit in the world for the sorts of 3D games I’d want to make

  • @Zephhyre
    @Zephhyre 2 роки тому +1

    As someone coming from GMS and starting to learn Godot, this is very helpful

  • @luckyarabia7726
    @luckyarabia7726 4 роки тому +3

    I'm hoping for more tutorials for beginners like me, this channel is underrated. Thank you.

    • @Artindi
      @Artindi  4 роки тому +3

      Thank you! Means a lot to me. :)

  • @nesraspongx58
    @nesraspongx58 4 роки тому +3

    i was doing this sense i started
    for the first 5 tutorials that i saw i thought it's just a level
    but after the 6th i saw the guy that is making the tutorial saying make a scene for the character i knew why this is important

  • @yungson7869
    @yungson7869 2 роки тому +1

    Extensive experience using scenes has naturally lead me to creating scenes for every reusable component to my game.

  • @thecringeslayer4897
    @thecringeslayer4897 Місяць тому

    this is a really good tip, went from 20 nodes in my main scene, making it real difficult to navigate, to 4

  • @youneskasdi
    @youneskasdi 3 роки тому +1

    I actually noticed this in other tutorials but they never really mentioned why are the making everything as a part of a different scene, they just did it like it's the natural thing to do so i had to search it up myself and i found this video

  • @Visionsofmortality
    @Visionsofmortality 3 роки тому

    Thank you for this!

  • @vaishnav_mallya
    @vaishnav_mallya 4 роки тому +1

    I have seen UA-cam tutorials of Godot videos make scene for all objects but I didn't realize how similar it was to prefabs until I was reading through dodge the creeps tutorial on godot docs and It hit me like (insert mind blown gif). Recently I'm learning Godot bit by bit making small games. Finished pong by following the docs and I gave it scoring system and win condition on my own. Rn I'm making breakout but having a little trouble on creating collision checks for all the instantiated blocks. Your video has given me a small insight.

    • @Artindi
      @Artindi  4 роки тому +2

      Glad I could help, always makes my day to hear that I helped someone out in some way. Thanks! :)

  • @GIRGHGH
    @GIRGHGH Рік тому

    In all the tutorials I've watched this is how people have done things so I just assumed that was what you were supposed to do. Glad to know I wouldn't have made that mistake.

  • @maourazonica5945
    @maourazonica5945 3 роки тому +1

    Another thing to add is you can instance a childnode of a scene as its own scene if you are doing this retroactively.

  • @kakatekel6138
    @kakatekel6138 4 роки тому +3

    Now this, this is quality information right here.

    • @Artindi
      @Artindi  4 роки тому

      Now this, this is a quality comment right here. :D

  • @desktopdump6224
    @desktopdump6224 4 роки тому

    Going to use all my new free time to learn some Godot development. Thanks for the useful advice!

    • @Artindi
      @Artindi  4 роки тому +1

      Glad it was helpful! I just wish someone had told me this when I first started! :D

  • @garrettwidner8199
    @garrettwidner8199 3 роки тому

    Thanks man, good video

  • @NevoskiStudios
    @NevoskiStudios 4 роки тому +1

    Yep, good advice!

  • @pipeliner8969
    @pipeliner8969 4 роки тому

    great, thank you very much!

  • @jsarnowski
    @jsarnowski 4 роки тому +1

    Very helpful! :)

  • @JeremiahT
    @JeremiahT 4 роки тому +1

    What you describe in this video is known as "object composition". A scene in Godot is broadly referred to as a game object. These objects can be composed of other objects (hence the name). This is also known as a 'has-a' relationship as opposed to Inheritance which implements an 'is-a' relationship. I don't like the naming convention they chose calling it a 'scene' but I'm glad you are clarifying it for others who may have the same misconception.

  • @AyushGupta-wn6zd
    @AyushGupta-wn6zd 2 роки тому +1

    Btw, you can use
    "export (packed scene) var "
    To do the same as preload from the inspector pannel. Same thing

  • @RafaFiedo
    @RafaFiedo 4 роки тому +1

    oooh, I known this :/
    but it's always good to talk about good practices!

  • @seaweed3952
    @seaweed3952 4 роки тому

    I agree with you completely!

  • @DashNothing
    @DashNothing 3 роки тому +1

    Well regarding tutorials, HeartBeast actually has really good tutorials where everything is structured properly using scenes

  • @chaosmuffinminecraft
    @chaosmuffinminecraft 3 роки тому +1

    My philosophy is "use it more than once, save it as a scene"

  • @legobobsleder
    @legobobsleder 3 роки тому

    Thanks keep making vids like this

    • @Artindi
      @Artindi  3 роки тому

      You're welcome, and I will do my bestest. :)

  • @geekfit9247
    @geekfit9247 4 роки тому

    I Wish I had started here. Thanks!

  • @chass2472
    @chass2472 4 роки тому

    I wish you we're not underrated, love your vids mayn!

    • @Artindi
      @Artindi  4 роки тому

      Thank you! and I guess underrated is better then overrated. ;)

  • @chepulis
    @chepulis 4 роки тому +2

    As for the point of the video: i find it to be the best workflow to create simple nodes, play around with them until i figure out how they will work, then saving them as a scene for further duplication.

  • @sampletext9172
    @sampletext9172 4 роки тому +18

    i do this since when i started using godot ...
    but it was a good tip, congrats
    lol

    • @Artindi
      @Artindi  4 роки тому +2

      You skipped the noob stage, lol :D

  • @HonsHon
    @HonsHon 4 роки тому

    Completely agree with you

  • @OLIV3R_YT
    @OLIV3R_YT Рік тому

    Thanks❤

  • @RainyRag
    @RainyRag 3 роки тому

    I feel like the devs called them 'scenes' in the beginning when they were designing the hierarchy paradigm of the engine and then said, "Hey, scenes should just be node-like-objects." and made them node-like-objects, but instead of calling them nodes or objects or anything else that would indicate their modular nature, they just kept calling them scenes in a total misnomic blunder that they couldn't take back once the term became commonplace in documentation and tutorials.

  • @asriel5541
    @asriel5541 4 роки тому

    my first totorial made elements correctly but then in others they were done wrong and i had like: what do you need to change to change all of them? and thankfully i still did it the good way

  • @rodrigolara789
    @rodrigolara789 3 роки тому

    Reading the comments a lot of people addopted this workflow by instinct, myself included. That speaks good about godot's potential for begginers like me. My only problem is that when i read godot's code of others a lot of times I cannot understand how something works because all the code is fragmented.and it seems like magic. It has been a good experience anyway.

  • @ferdc2916
    @ferdc2916 4 роки тому

    Thanks a lot! You have answered my prayers. Every single tutorial is like that: a bunch of elements together in the same scene. I just wanted to know if it was a good idea to set every single element in its own scene.
    Have you already done a tutorial about this with a "common" example? I mean, a mini game with levels (shmup, bomberman-like, defense tower, platform, etc), because I'm brand new, and I would like to know the proper way of nodes, if there should be a script for particular nodes, how to instance the player, change the level, change between main menu and level, etc. Also I have doubts about creating different folders for different kind of elements (assets, scripts, etc, unity-style).
    I suppose I'm asking too much, but I haven't found any tutorials about this, and I think it's critical and it would get a lot of visits.

    • @Artindi
      @Artindi  4 роки тому

      That is a good Idea for a video. Some recommendations for file structure with some good and bad examples. There is someone else who commented on this video who talked about a good way to structure their files I would take the time to scroll down and see if you can find it.
      I don't know if there is a proper way to implement your nodes or how frequently you will want to make each asset it's own scene. It just depends on what works with you and the game you are making. but because you are brand new I would make a few small games trying out different things until you learn what works best for you. :)

    • @ferdc2916
      @ferdc2916 4 роки тому

      @@Artindi That would be awesome, and I'm sure many people appreciate a tutorial different from the typical platform game tutorial, with tiles and a character (they are very similar).
      I would say that there is no a "perfect" way to implement the nodes, but a brief tutorial from an expert is always helpful to noobs like me. It would save a lot of time. Thanks again.

  • @eggxecution
    @eggxecution 4 роки тому

    make more godot tips pls, and if possible create clear gdscipt tutorials- some topics gdquest didn't cover but anyways, yeah more godot vids pls! subscribed!

    • @Artindi
      @Artindi  4 роки тому +1

      Yup! many more godot videos to come, Just takes a while. :)

  • @AnirudhIsOnline
    @AnirudhIsOnline 4 роки тому

    good tut 👍

    • @Artindi
      @Artindi  4 роки тому

      Thanks! 👍 :)

  • @delqyrus2619
    @delqyrus2619 4 роки тому

    I don't know why all tutorials work with this "all in one scene" style. After opening Godot for the first time and watching the first beginner tutorial, I started translating it all into the "everything has its own scene" style. This also had the advantage that I could immediately validate whether I really understood it.

  • @adayonreddit
    @adayonreddit 4 роки тому

    HeartBeast taught you that u had to make every sprite in new scene, glad to knew that :D

    • @Artindi
      @Artindi  4 роки тому

      He didn't, but he is a really great tutorial maker, I'm sure if I wasn't such a noob I would have picked it up sooner if I had watched more of his tutorials. :)

  • @Chafmere
    @Chafmere 4 роки тому +1

    Godot - Everything's scene

  • @jul8803
    @jul8803 Рік тому

    Thanks for the tip! I find "scene" to be a really misleading name for a great concept!

  • @javiermurarios3960
    @javiermurarios3960 2 роки тому +1

    I started learning unity and then switched to godot and thought scenes have really a confusing name, once you understand its purpose made me one of the main reasons i switched to godot, now i think unity have something similar which is called nested prefabs but there's other reasons i switched like the ease of use for 2d games and the powerfull animator

  • @jujijiju6929
    @jujijiju6929 4 роки тому

    Subbed for the rain 😅

  • @LuisOtavioZimmermann
    @LuisOtavioZimmermann 3 роки тому

    Scenes in Godot are the same as prefabs in Unity. Nice tip.

  • @mitchellstephens4228
    @mitchellstephens4228 4 роки тому

    Can someone please help me with this, this is the most frustrating experience of my life. Im on mac.
    Whenever I open Godot, it loads fine. When I select the project I want to work on, it opens a new Godot app that actually runs the file. Yeah, it works. But I have to keep moving one instance of the application to the trash every time I close the app. I end up having 3-4 instances of the Godot app in my toolbar for no reason.

  • @Zwerggoldhamster
    @Zwerggoldhamster 4 роки тому

    I am still not ready to have my CollisionShape and my Sprite as two different scenes xD

  • @jeffvenancius
    @jeffvenancius 4 роки тому +1

    I sign on that! By the way, did you know you can make a script local to a scene? It blew my mind.
    Also, at first I was afraid of using too much space using a lot of scenes, but they're really just text.
    Godot is love, Godot is life.

    • @Artindi
      @Artindi  4 роки тому +2

      I'm going to have to mess around with that! :D

    • @jeffvenancius
      @jeffvenancius 4 роки тому +1

      @@Artindi Good luck!

  • @paulwhiterabbit
    @paulwhiterabbit 4 роки тому

    is there a way to assign scene on inspector? because static strings in code is code smell (magic strings)

  • @fixieroy
    @fixieroy 10 місяців тому

    Is it okay to have multiple items from a catergory in one scene? Like if i had a modular building. Instead of having 25 scenes for this one building. Can i have all the segments in example “House_1.scene” ?

    • @Artindi
      @Artindi  10 місяців тому +1

      potentially, I've made a scene that has a randomly generating component too it. It's a building segment and depending on what part of the building it spawns on it will adjust randomly to feel like it belongs. Though I'm not sure if that's what your talking about. But as long as it works and it helps your make your game, then sure, go for it. :)

  • @Dxpress_
    @Dxpress_ 4 роки тому

    0:15
    D'aw, missed opportunity:
    "I'm a poet, and I didn't even know it."

    • @Artindi
      @Artindi  4 роки тому

      That's the joke though. I'm pointing out how much of a poet I am, but then fail to make the easiest rhyme ever. :)

    • @Dxpress_
      @Dxpress_ 4 роки тому

      @@Artindi I'll take a bonk on the head for that one.

  • @skaruts
    @skaruts 4 роки тому +3

    Not a bad tip, but I think it's worth keeping in mind that it's usually also advisable to lay things out flat and simple to begin with, until you start getting a sense of what belongs where. Most prototypes don't get to evolve into actual games, so it may be unproductive to overthink the initial structure of things.

  • @maruf16khan
    @maruf16khan 4 роки тому +2

    how did you all learn? I find myself stuck, been using it for a week. Can anyone please recommend some absolute beginner tutorials?

    • @Artindi
      @Artindi  4 роки тому +1

      I used the following two tutorials, they might be a little dated but that is what got me going: ua-cam.com/play/PLyckz_-Rzq6ClGevL2fneJ5YJnMPKWa4M.html and ua-cam.com/video/wETY5_9kFtA/v-deo.html

    • @maruf16khan
      @maruf16khan 4 роки тому

      Oh thank you! 😊

  • @unnamedtoaster
    @unnamedtoaster 2 роки тому

    0:15 Missed opportunity to say “I’m a poet and I didn’t even know it”

  • @keatonhatch6213
    @keatonhatch6213 3 роки тому

    You had the chance to say “I’m a poet and didn’t even know it” and you blew it

    • @Artindi
      @Artindi  3 роки тому

      yeah, that was meant to be a joke. lol :D

  • @david2618
    @david2618 3 роки тому

    *Inserts 3D object in 2D scene*
    *Calls in "Does not belong"*
    I noticed that.

  • @beebster7
    @beebster7 4 роки тому

    Would you make a scene for a group of items? i.e. the Tiki torches? Hmmm I suppose there are groups for that.

    • @Artindi
      @Artindi  4 роки тому

      You could, I have made a scene for a bunch of walls right next to eachother because It was too tedious to place one wall at a time, I guess it mostly depends on what you need it for.

  • @voidling2632
    @voidling2632 Рік тому

    Never make a preload in a random script. This will end up quite messy, once you start moving folders and files around. Create a Resource Script, a Singleton, put it in your autoload and grab things from there.

  • @fredericleclere1866
    @fredericleclere1866 4 роки тому

    Let’s call them game objects maybe or prefabs? But that’s so true especially about the click bait tuts like “make a game in 10min...” or “learn Godot in 5ish”...

  • @Rattja
    @Rattja 4 роки тому

    So it's basically a Python class then? Well sort of, but a collection of things you can instance multiple times for repeated use?
    I'm guessing you could make 2 instances and change the values for just 1 of them too right? If so, then I think I finally get it.
    Since I started actually learning and working with coding/programing ect. the main thing I've learned is that they all seem to be the same just use different names. The core concept remains the same.
    Got the chance to start working with Citect, a graphical interface for controling automated systems, and in my crash course the dude started explaining to me something they called "Genie".
    Quickly realized it was the exact same thing as a Python class, just built out of visual shapes and referances/parameters. The idea was the same though, each instance of a Genie could work on its own, but you could change them all by changing the source.
    Anyways the point Im trying to make, this is a very good tip and it actually demonstrates how to structure.. well.. anything really, not just Godot. It also made me realize how knowledge translates into differen languages and software so it doesn't really matter much what you learn.

  • @marktriestolive1781
    @marktriestolive1781 4 роки тому +1

    +1 sub!

  • @agriasoaks6721
    @agriasoaks6721 4 роки тому

    Sir, do you have any tutorial about how the changeable equipment work in rpg kinda game?

    • @Artindi
      @Artindi  4 роки тому

      I do not. Because every rpg does it differently, so it kinda depends on the game you are making, things you might have to ask yourself: what equipment will be changeable? What effects do those items cause? are they going to be items that you only ever see in an inventory like many items in Skyrim, or will they be items that can exist in the world like Minecraft? All these things can help you figure out how you will need to store the data of the items and move it around for the changeability/customization. Because it is such a complex and wide ranged subject, I haven't made a tutorial on it, but maybe one day I will try to make my own small inventory system, and when I do I will for sure make a tutorial on how to make that specific one.
      Not sure if this reply helps, but hopefully it does somehow. :)

    • @agriasoaks6721
      @agriasoaks6721 4 роки тому

      @@Artindi The kind of RPG that has equipment slots such as: Weapons, Armors, Accessory and each slots changes the appearance of our character.

  • @VerMishelb
    @VerMishelb 4 роки тому +1

    So basically "scene" here is an "object" from GMS huh.

  • @depressomocha
    @depressomocha 3 роки тому

    I tried this method, and as a beginner, it's difficult. I don't know how to use node from different script and the video doesn't seem provide the answer :(
    I know that this video is 1 year old, but uh, can anyone help me?

    • @Artindi
      @Artindi  3 роки тому

      What do you need help with exactly?

    • @depressomocha
      @depressomocha 3 роки тому

      @@Artindi well, for example, i am currently making a visual novel-like game and I put the character on different scene because i wanted to animate them. Is there a way to use the 'character' node in the 'textbox' scene?
      Also, i tried to export the project to mobile but for some reason all of the scenes didn't run at all, even though it works in the testing. Is there something i should do with the scenes before exporting them? Sorry if i asked too much question haha
      Edit: i figured out the exporting problem, apparently it's unrelated to the scenes lol

    • @Artindi
      @Artindi  3 роки тому +1

      @@depressomocha sorry, took me a while to reply. Good to hear you figured it out. I wasn't sure I was going to be able to help anyway. Good luck with your project!

  • @petrkassadinovich2705
    @petrkassadinovich2705 3 роки тому

    So "scene" in Godot is like a prefab in Unity, am I right?...

    • @Artindi
      @Artindi  3 роки тому

      You are correct, I guess, a lot of people are making that comparison so I would say yes. :)

  • @gi_or_gi
    @gi_or_gi 4 роки тому

    Unity - Prefab
    Godot - Scene

  • @linnaycho2287
    @linnaycho2287 2 роки тому

    My scenes too small how to fix it

    • @Artindi
      @Artindi  2 роки тому

      "If at first your scene is too small... have it start juicing and don't let it skip leg day..." ~Sun Tzu

  • @zerid0
    @zerid0 4 роки тому

    But if everything must have its own scene, that means a scene must have its own scene which also needs its own scene, which....

  • @5minutemovies977
    @5minutemovies977 4 роки тому

    It is a really wise advice, but people not doing it obviously missed something : Godot is made for this kind of scenes grapes. It's designed with this approach in mind.

    • @Artindi
      @Artindi  4 роки тому +1

      It sure is, I guess a lot of people like myself don't completely comprehend OOP design too well, so yeah, hopefully this will help all those trying to wrap their minds around it. :)

    • @5minutemovies977
      @5minutemovies977 4 роки тому

      @@Artindi I'm neither a programmer nor a game designer by any stretch of the imagination, but I read Godot docs :p
      As soon as people know the intended scene workflow, they will see how much more convenient it is.

  • @Juanchodh
    @Juanchodh 2 роки тому

    I'm a noob, now I know too.
    (But yeah, thanks!)

  • @Hinternet
    @Hinternet 4 роки тому

    essentially this is like prefabs in Unity?

    • @Artindi
      @Artindi  4 роки тому +1

      Yes! That is what a lot of unity users are saying anyway. :D