Announcement

Collapse
No announcement yet.

What are the hardest things to learn in Blueprints?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    What are the hardest things to learn in Blueprints?

    Edit: Please refrain from bashing the Editor, Epic, or Blueprints itself. This is not the point of this thread. I want you all to think of this as more of a way to help out not only yourselves (if you are stuck learning something new relating to BP) but also to newer devs that comes into the engine. What are the struggles? If someone could write the answers for those struggles... what would they be.

    So, I wanted to do a poll, but to be honest, everyone learns differently and some may have had difficulties in certain areas while others breezed right through them.


    I guess I'll start off.

    I had trouble learning the Game Framework and Blueprint Communication. I had no real game programming experience before jumping into Blueprints but I did have some other programming experiences prior to that.

    If you could highlight key words, that would be great!


    Doesn't matter the subject, as long as it's linked directly to Blueprints.

    Doesn't matter the experience either. You could have 2 months to 2+ years and still not know parts of the system.

    Also, are there any areas that you have no experience in, but would love to learn that you haven't for whatever reason? This will be very helpful in me coming up with a training program to get game developers mastering the power of Blueprints.

    Thanks!
    Last edited by VictorBurgos; 09-12-2017, 07:56 PM.
    Website/Portfolio: http://www.VictorBurgosGames.com

    Join me on stream: https://www.twitch.tv/VictorBurgosGames for UE4 Game Dev. If you need help, just stop by and ask!

    Currently looking for exciting new opportunities! Available for work!
    https://forums.unrealengine.com/comm...ars-experience

    #2
    Gameplay programming. I'm creating a root motion setup and I'm drowning in spaghetti.

    Comment


      #3
      Oh there are Several reasons why I find this engine very difficult to try to make a RPG game in. Because I'm stuck in my dialog system for my game and need to get the audio to match up with the text, and do the decisions and consequences widget, but because of the communication troubles between all the islands because to communicate you need to understand the engine's logic but I don't understand it......For to communicate in the blueprints you have to talk to all the little islands, the problem is the sea contains over a thousand of these little islands, and this makes the communication complex but because they also contain their own separate little classes, it makes it even harder....because each island can't talk to the other unless you give it access to talk to it and you have to wire up HUNDREDS of these access talk points in between all the islands just to get them to talk to make a game component or make a game feature or make the game.

      1) THE BUGS.....The engine usually plays up when you try to go back later on to adjust or change something that's been hard coded into the engine. This is when the blueprints start to become unpredictable because of all the Many File Dependencies its linking up to.. So once something has been hard coded (not talking about the Engine Content here) but about the Blueprints. its best to leave it.

      2) ENGINE CONTENT FOLDER has no lock on it that I know of to prevent any accidental saves or rewrites, so if you change anything in that folder, it can corrupt the project. cause builds to fail causes null references. and if you migrate that project over into a new engine when anything in the engine content folder had been accidentally changed, , it might corrupt the engine content also of the new engine that you are migrating the project over into. Forcing you to have to re-write all of the blueprints of the project all over again in the new engine just to prevent any engine content issues.

      3) The engine comes in a thousand little bits and pieces. This was the main foundational concept that Blueprint Communication is all built upon by having everything all separated off into tiny little islands by putting them in their own separate classes just served to make the engine more complex to try to communicate with and more HUMPTY PRONE... and the more pieces you have to try to link up to talk to, the more nodes, the more nodes, the slower the engine becomes because of having to handle all the many access communication points needed between all the many islands.......

      4) The editor felt more like running DISK DEFRAG than an editor because it often took a very long time to fire up the project.

      5) You had to either A) Construct all the game components yourself. whether you wanted a score counter, or other game feature you couldn't just pop in a ready-made score counter from a ready-made library of widgets, BECAUSE THERE WAS NO LIBRARIES OF WIDGETS Game Features TO CHOOSE FROM so you had to build it from scratch, you also had to construct all the widgets by hand or B) Follow Online Tutorials to show you how to make them.........There was no library of widget Textures to style your windows with, you had to make them yourself or import in suitable textures...

      3D MODELS

      8) There was NO Auto Rigger in the engine, you either had to rig it all yourself, or get someone else to rig it for you or use Mixamo. . There was NO Skeletons to target other than just only using the humanoid Rig as far as I can see so how can we target insects rigs and other legged creatures ??? No 3d modeling program to create new meshes from. Can't change the skeletons if there are any issues with the bones or the mesh. Can't seem to add in any virtual bone slots to the skeleton if the real bones don't already exist in the slots. I thought a virtual bone was supposed to go in an empty bone slot to take the place of a real bone to save you from having to rig up all the missing bones
      yourself outside the engine in another program. there are also no guarantees that the 3d program you use to prepare your rig with is fully compatible with Unreal Engine if you don't have every single setting in your 3d program exactly right...... I consider this 'Jumping through all the hoops of other programs' settings to be a bit of a nuisance. When the engine should have these things already built into itself so you can deal with all the issues in just one program instead of having to muck all around with the settings of several other programs...

      9): Engine dosen't always delete things properly from itself and sometimes causes Ghosting issues with old redundant deleted data
      and can cause issues with the triggers, and I don't think there's any way to delete any file redirectors without manually going through
      all of the directories of the project, because I can't see any file redirector list to show what directories they maybe in.

      10) The Engine is also not backward version compatible. Creates issues with migration if your engine version is
      too far behind so you have to play frogger with the engine versions to try to catch up.

      11) You need to have a ton of knowledge about the system and have a programing background in order to know how to
      construct up all the logic of these blueprints and talk to all the different classes, depending on how complex the game is
      you are trying to make....
      little islands...
      Last edited by tozan; 09-12-2017, 06:50 PM.

      Comment


        #4
        Unfortunately blueprint system has a lot of bugs indeed... but I have never seen any game engine free of "lots of bugs" so... what to expect really...
        | Finite State Machine | Savior | USQLite | Object-Pool | Sound-Occlusion | Property Transfer | Magic Nodes | MORE |

        Comment


          #5
          The biggest problem in developing an entire project in Blueprints, or at least its core classes, is the circular dependency which can lead your project to the end if you are not versioning it correctly, because you won't be able to load it anymore in the editor. This has happened to me once, and to fix it manually, inside each .uasset file, was basically impossible.

          In C++ this is easily solved by using forward declaration, but in BP's there's no such technique yet. So, this is, by far, the most important thing (IMHO) you should care about when core developing in Blueprints.

          There are some good practises for that, using Blueprint Interfaces, for example. You can, also, monitor this through Reference Viewer (RMB over a BP class in the editor)

          But basically you should be aware of advantages and disadvantages of an Object Oriented software, which is the UE's case, in comparison to ECS and other common game dev architectures.
          This will lead you to a better understanding of the good practises over the UE.

          * The following is not directly related to learning Blueprints, but I believe it's important to know as a game programmer:

          Another big problem I've faced using BP was using Git LFS versioning which, sporadically, turned my BP uassets into a 50kb file when commited. Logically it was not even opening inside the editor after that...
          I suggest you to choose SVN if you are willing to use version control. At least I've not heard of big problems so far.


          tozan's post is almost a direct feedback to the Unreal Editor and the Engine itself, which still pretty valid and we share the same opinion in most cases, but I suggest you to forward it to one of the Engine Feedback sections to get the desired visibility

          Comment


            #6
            Originally posted by SilentAndAsleep View Post
            Gameplay programming. I'm creating a root motion setup and I'm drowning in spaghetti.
            So, by Gameplay programming, do you just mean logic? Or just OOP in general?
            Website/Portfolio: http://www.VictorBurgosGames.com

            Join me on stream: https://www.twitch.tv/VictorBurgosGames for UE4 Game Dev. If you need help, just stop by and ask!

            Currently looking for exciting new opportunities! Available for work!
            https://forums.unrealengine.com/comm...ars-experience

            Comment


              #7
              Lack of detail in the BP docs! Example: When using Set-Physics-Linear-Velocity you get a tool-tip warning:

              This should be used cautiously...It may be better to use Add Torque / Add Impulse
              So you navigate to the unreal engine docs to get more info about the warning, but it just says the same thing.
              That's been my experience with the official BP docs anyway, empty pages with little more than a screenshot!

              Going further, when you combine physics, interp'd movement and different collision its hard to predict results.
              Don't know how others deal with this lack of depth. From UDK before I just do experiments to see what works.

              Comment


                #8
                Originally posted by franktech View Post
                Lack of detail in the BP docs! Example: When using Set-Physics-Linear-Velocity you get a tool-tip warning:



                So you navigate to the unreal engine docs to get more info about the warning, but it just says the same thing.
                That's been my experience with the official BP docs anyway, empty pages with little more than a screenshot!

                Going further, when you combine physics, interp'd movement and different collision its hard to predict results.
                Don't know how others deal with this lack of depth. From UDK before I just do experiments to see what works.
                I agree that the lack of proper documentation can be frustrating. But, we have access to the source code...plenty of documentation there

                In this thread I wanted to discuss more about Blueprints itself, using them.


                Not really a bash against BP or the Editor. We all have our qualms about it. Again. Think of this as more of a way to help out not only yourselves (if you are stuck learning something new relating to BP) but also to newer devs that comes into the Engine. What are the struggles? If someone could write the answers for those struggles... what would they be.
                Website/Portfolio: http://www.VictorBurgosGames.com

                Join me on stream: https://www.twitch.tv/VictorBurgosGames for UE4 Game Dev. If you need help, just stop by and ask!

                Currently looking for exciting new opportunities! Available for work!
                https://forums.unrealengine.com/comm...ars-experience

                Comment


                  #9
                  Originally posted by VictorBurgos View Post
                  I agree that the lack of proper documentation can be frustrating. But, we have access to the source code...plenty of documentation there
                  Flippant answers aside, you shouldn't have to resort to 'Source' for the examples I posted, it just seems counterproductive...
                  Here's a separate example posted today. This is one of the biggest obstacles to BP or 'using them', to use your own words.

                  Originally posted by VictorBurgos View Post
                  Not really a bash against BP or the Editor. We all have our qualms about it. Again. Think of this as more of a way to help out not only yourselves (if you are stuck learning something new relating to BP) but also to newer devs that comes into the Engine. What are the struggles? If someone could write the answers for those struggles... what would they be.
                  Ignore the feedback if you want, but its an under-served market you're over-looking, for someone who part-lives off tutorials...
                  Tutorials are of limited use anyway. What we really need in BP are more tools like this. Got the chops to make Tools like that?

                  Comment


                    #10
                    No, I don't know alot about Object Orientated Software, except I guess for the disadvantages and limitations that I'm coming across when trying to piece together my game up in this engine. Version the uassets correctly? Can you explain what this circular dependency means?, Do you mean just having to keep up to date with the latest engine version?, or if you don't and fall too far behind the versions then the uassets you create in the older version wont load up in that newer engine if you try to migrate or load them in??? If this is the case, then that means playing frogger with the engine until you catch up to the latest version.

                    We haven't even gotten to Arrays NESTED inside other arrays yet which this blueprint system don't like that I've noticed..... But the batch file has no trouble at all in nesting multiple arrays inside of each other or in nesting labels and flags inside of each other. And because of this powerful nesting ability, I can set up all kinds of many special conditions up for the game storylines and flags even though the game is all in text form for the 1st stage of its development. But in the Blueprint System I think it has trouble in trying to do nesting..., I think it has some trouble in trying to nest arrays inside of other arrays, the blueprints don't seem to like it.

                    The whole foundation my game is built all upon nesting things inside of each other so why can't these blueprints just do the same ????
                    The Blueprint System wants me to build my foundation all up instead on all these little floating islands that are out in the sea. And as you
                    know the sea is very tippy and unstable because its got waves, its not always calm.... (instability).

                    BUILD ERRORS: This is a pain, you spend 2-6 or sometimes more hours in waiting for your game to build depending on the size and then an error pops up in the build window and instead of continuing on and just building it and letting you just run the game, if it find just one little error in red then on the final last leg right at the end of the finish line, it informs you 3 or so hours or so later saying the build has failed. wasting many hours of your time.....Or sometimes the engine comes up with ERROR UNKNOWN. Sometimes the engine dosen't even know what the error is.....

                    It might also have trouble in storing things up in Bulk like a bulk save system, since the Data Structs can only save up so many variables before the engine starts all slowing down the longer the struct variable list gets.... Yet I have nearly 1700 Game Variables in the batch file, and how is it going to store up all of this in the Blueprints Save Game Instance system????? Can someone enlighten me about doing bulk save data systems if the Blueprints do support this?, Can it store it all up in a data table to load it up into the game instance somehow into the memory so the game can keep track of everything between all the systems in the game? I don't understand the unreal docs on this because I aint a blueprint specialist. I don't want to have to try to hook up 2000 set variables either for every single variable that's in the game just to try get the game to remember all of the storyline events and flags and values.... Otherwise I will run out of space on the blueprint graph and end up with too many set nodes which will slow the engine all down.

                    But I never run out of space in my batch file. I can have thousands of arrays. That's why I found my game much more easier and faster to write it up in a simple batch language. For i used notepad to write the game out with instead of using a text authoring RPG adventure editor.


                    Last edited by tozan; 09-12-2017, 09:21 PM.

                    Comment


                      #11
                      Originally posted by VictorBurgos View Post

                      I agree that the lack of proper documentation can be frustrating. But, we have access to the source code...plenty of documentation there

                      In this thread I wanted to discuss more about Blueprints itself, using them.


                      Not really a bash against BP or the Editor. We all have our qualms about it. Again. Think of this as more of a way to help out not only yourselves (if you are stuck learning something new relating to BP) but also to newer devs that comes into the Engine. What are the struggles? If someone could write the answers for those struggles... what would they be.
                      What you mean that the Source code is where all the documentation is of this engine? There should be also plenty of documentation also on the Blueprints system. Yeah in this engine you have to learn how be a good pilot you need to learn How to Fly it well when everything goes all dead wrong, not just only when the weather is fine. . Because this engine is like venturing into the Bermuda Triangle. For when you get up high into the clouds you soon lose your bearings don't always know where you are, or where the plane is at, funny things start happening to your plane's instruments as they sometimes go all haywire on you. , Because the engine has its own stormy tropical periods and revenge moods with file dependencies, and you need to know not just how to do things right in the engine but also need to know how to deal with all the bad weather that comes up when things start to go all wrong.

                      I find it amusing that there are alot of tutorials out with instructors showing you how to pilot well in fine weather but little to NONE I see written of how to get you out of all the trouble when the weather starts to turn bad when the engine wants to play it or when the engine has you flying all upside down when you come out of the clouds when all along you think you're been flying level with them. or find the sea is all full of fog, and when you hit the water you think is just wind turbulence hahaha. And then you come up to the Thousand Talking Islands of Blueprint Communication where you might have to do fifty or more things to the blueprints to set up something that should be simple but because
                      its a thousands islands and not one hundred, it takes alot more setting up to do........

                      Last edited by tozan; 09-12-2017, 09:47 PM.

                      Comment


                        #12
                        Originally posted by tozan View Post
                        No, I don't know alot about Object Orientated Software, except I guess for the disadvantages and limitations that I'm coming across when trying to piece together my game up in this engine. Version the uassets correctly? Can you explain what this circular dependency means?, Do you mean just having to keep up to date with the latest engine version?, or if you don't and fall too far behind the versions then the uassets you create in the older version wont load up in that newer engine if you try to migrate or load them in??? If this is the case, then that means playing frogger with the engine until you catch up to the latest version.

                        We haven't even gotten to Arrays NESTED inside other arrays yet which this blueprint system don't like that I've noticed..... But the batch file has no trouble at all in nesting multiple arrays inside of each other or in nesting labels and flags inside of each other. And because of this powerful nesting ability, I can set up all kinds of many special conditions up for the game storylines and flags even though the game is all in text form for the 1st stage of its development. But in the Blueprint System I think it has trouble in trying to do nesting..., I think it has some trouble in trying to nest arrays inside of other arrays, the blueprints don't seem to like it.

                        The whole foundation my game is built all upon nesting things inside of each other so why can't these blueprints just do the same ????
                        The Blueprint System wants me to build my foundation all up instead on all these little floating islands that are out in the sea. And as you
                        know the sea is very tippy and unstable because its got waves, its not always calm.... (instability).

                        BUILD ERRORS: This is a pain, you spend 2-6 or sometimes more hours in waiting for your game to build depending on the size and then an error pops up in the
                        build window and instead of continuing on and just building it and letting you just run the game, if it find just one little error in red then on the final last leg right at
                        the end of the finish line, it informs you 3 or so hours or so later saying the build has failed. wasting many hours of your time.....Or sometimes the engine comes up
                        with ERROR UNKNOWN. Sometimes the engine dosen't even know what the error is.....

                        It might also have trouble in storing things up in Bulk like a bulk save system, since the Data Structs can only save up so many variables before the engine starts all slowing down the longer the struct variable list gets.... Yet I have nearly 1700 Game Variables in the batch file, and how is it going to store up all of this in the Blueprints Save Game Instance system????? Can someone enlighten me about doing bulk save data systems if the Blueprints do support this?, Can it store it all up in a data table to load it up into the game instance somehow into the memory so the game can keep track of everything between all the systems in the game? I don't understand the unreal docs on this because I aint a blueprint specialist. I don't want to have to try to hook up 2000 set variables either for every single variable that's in the game just to try get the game to remember all of the storyline events and flags and values.... Otherwise I will run out of space on the blueprint graph and end up with too many set nodes which will slow the engine all down.

                        But I never run out of space in my batch file. I can have thousands of arrays. That's why I found my game much more easier and faster to write it up in a simple
                        batch language. For i used notepad to write the game out with instead of using a text authoring RPG adventure editor.


                        Alright, so you have issues because you don't know OOP or rather didn't know OOP when you started. Have you learned since then? What nodes did you find hard to use or understand? What nodes do you still have trouble with? Is there something you haven't touched at all in Blueprints?
                        Website/Portfolio: http://www.VictorBurgosGames.com

                        Join me on stream: https://www.twitch.tv/VictorBurgosGames for UE4 Game Dev. If you need help, just stop by and ask!

                        Currently looking for exciting new opportunities! Available for work!
                        https://forums.unrealengine.com/comm...ars-experience

                        Comment


                          #13
                          Originally posted by tozan View Post
                          Version the uassets correctly? Can you explain what this circular dependency means?
                          Software Versioning or Source Control are essential tools for every developer (Programmers & Artists) in a project.
                          You would choose which system fits better on your project.

                          About circular dependency: is a hot topic, I'm sure you can find a lot more information on the internet, but in a nutshell this situation happens when File A have dependency on File B, and File B has dependency on File C, and File C has dependency on File A, so the compiler does not know which one to load first. Files can be libraries or BP Classes.

                          In Blueprints this is a very critical subject because Blueprint Scripts are generated at runtime, that means you will only have access to your script code (visually, with a beautifully working interface) after loaded by the editor, that can face a circular dependency and not load at all...

                          These two has nothing to do with Engine's version, if that's what you were trying to point out.


                          Originally posted by tozan View Post
                          We haven't even gotten to Arrays NESTED inside other arrays
                          BUILD ERRORS: This is a pain, you spend 2-6 or sometimes more hours in waiting for your game to build
                          Sincerely, I believe this is not the right thread for you to expose your complaints about the Editor bugs, the Engine's architecture and Blueprint Bugs, this is diverging too much from what the thread was intended to be and, as I said before, this is not getting the right visibility you probably want. Unless you are tring to point out the hardest thing to learn in Blueprints are the bugs from the Editor and how the engine was architected....


                          @VictorBurgos:
                          I think that the most notable problems and confusing subjects that shows up in BP's section are about GameMode, GameState and PlayerState classes. There's a lot of misunderstanding on their differences and their roles on the pipeline (even I had to learn on how to use them properly after doing lots of different projects due to lack of a specific, complete material on these subjects). If you want to make a training program I highly suggest you to make a complete analysis on which methods to extend, how to properly extend their states, how to make a fluid game mode loop, and things you won't learn by reading only pure technical docs.

                          Comment


                            #14
                            Originally posted by franktech View Post

                            Flippant answers aside, you shouldn't have to resort to 'Source' for the examples I posted, it just seems counterproductive...
                            Here's a separate example posted today. This is one of the biggest obstacles to BP or 'using them', to use your own words.



                            Ignore the feedback if you want, but its an under-served market you're over-looking, for someone who part-lives off tutorials...
                            Tutorials are of limited use anyway. What we really need in BP are more tools like this. Got the chops to make Tools like that?
                            Flippant -> "Not showing a serious or respectful attitude" what? This is my thread and you are veering off topic. The answers I provided you are 100% factual. Just because you don't like it, doesn't make it any less relevant, true, or serious.

                            "Under-served market" means what exactly? People whining about lack of documentation? And don't know how to get the answer for themselves? This is actually the market I am trying to serve.
                            Website/Portfolio: http://www.VictorBurgosGames.com

                            Join me on stream: https://www.twitch.tv/VictorBurgosGames for UE4 Game Dev. If you need help, just stop by and ask!

                            Currently looking for exciting new opportunities! Available for work!
                            https://forums.unrealengine.com/comm...ars-experience

                            Comment


                              #15
                              Originally posted by franktech View Post
                              Tutorials are of limited use anyway. What we really need in BP are more tools like this. Got the chops to make Tools like that?
                              Ah, missed the last bit. I like my pork, cutlet style. With a glass of whine.
                              Website/Portfolio: http://www.VictorBurgosGames.com

                              Join me on stream: https://www.twitch.tv/VictorBurgosGames for UE4 Game Dev. If you need help, just stop by and ask!

                              Currently looking for exciting new opportunities! Available for work!
                              https://forums.unrealengine.com/comm...ars-experience

                              Comment

                              Working...
                              X