Announcement

Collapse
No announcement yet.

Unreal Engine Livestream - Building Better Blueprints - October 4th - Live from Epic HQ

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

    #31
    Excited, wish there was a way to go meta with the blueprint system from within a game. How would one go about adding a live coding feature within a game?

    Any comments on meta programming through the complex forest that is the Unreal Engine API would be helpful.

    Example: If we wanted to collect meta data from the user's editor session and feed that into a learning database (done), then how would could we send that input back into new sessions of unreal engine editor?

    We are wanting to recreate that DOTA learning system, but for observing game developers and acting as a sort of Jarvis system. The Tensorflow plugin by Getnamo rocks, but we simply lack the CS background for undertaking this, so can anyone help a bunch of scientists Macgrubber something like this?

    Our idea is to observe collaboration sessions between users, where user's each posses editor abilities and can build together in one space. Originally we thought to include the VREditor Actor simply into the Cardinal Menu Project, but that didn't quite work out.


    Where would you folks start, as a question of best practices for this sort of work/coding?



    Comment


      #32
      Originally posted by mrg7_ View Post
      Excited, wish there was a way to go meta with the blueprint system from within a game. How would one go about adding a live coding feature within a game?

      Any comments on meta programming through the complex forest that is the Unreal Engine API would be helpful.

      Example: If we wanted to collect meta data from the user's editor session and feed that into a learning database (done), then how would could we send that input back into new sessions of unreal engine editor?

      We are wanting to recreate that DOTA learning system, but for observing game developers and acting as a sort of Jarvis system. The Tensorflow plugin by Getnamo rocks, but we simply lack the CS background for undertaking this, so can anyone help a bunch of scientists Macgrubber something like this?

      Our idea is to observe collaboration sessions between users, where user's each posses editor abilities and can build together in one space. Originally we thought to include the VREditor Actor simply into the Cardinal Menu Project, but that didn't quite work out.


      Where would you folks start, as a question of best practices for this sort of work/coding?


      You could play with this making a live coding function, but simply allowing text input and then taking that text and using it as another node's input. You use this all the time when you make interfaces...you just have to take that concept further. It should be possible to build a type of modular interface that takes blueprint nodes and uses them to create widget's that essentially function as the same thing, then make the changes propagate from the widget to the real blueprint node.

      Making a shared editor though, that's a doozy... Since Unreal still executes every blueprint sequentially, just like a line of code, you can run into trouble when you have to worry about replication. You'd be better off brainstorming on exactly WHAT concepts you want to have at play or play with, and go from there. The original Garry's Mod is a perfect example. If you haven't heard of it, I would check it out.

      Comment


        #33
        Zak - for real? I thought this stream was just a Myth. we'll see if you're real or not, Stream... we'll see!

        Comment


          #34
          Originally posted by Amanda.Bott View Post
          Hey folks,

          Due to inclement weather, today's Unreal Engine livestream is CANCELLED. We're sorry! We'll reschedule Building Better Blueprints, so be on the look out, and we'll catch you next week.
          ha ha---it seems surreal that an internet event is canceled due to weather.

          It is a reminder for all of us (well, at least me) that even on the internet, it all happens at a real location with real people!

          Comment


            #35
            Originally posted by Amanda.Bott View Post
            Hey folks,

            Due to inclement weather, today's Unreal Engine livestream is CANCELLED. We're sorry! We'll reschedule Building Better Blueprints, so be on the look out, and we'll catch you next week.
            Whoever handles the Twitter feed didn't get the memo, it looks like they posted the announcement an hour after you posted the cancellation. Head's will roll, Amanda's gonna kick butt.

            https://twitter.com/UnrealEngine/sta...71557211750400

            Comment


              #36
              Hey Everyone!

              Super sorry we ran out of time on today's livestream. I really tried to get everything fit in, but it just couldn't happen.

              But... GOOD NEWS, EVERYONE!*

              After the stream I went back to my desk and re-recorded the WHOLE thing as an impromptu training video. This way you don't have to jump back and forth or wait. You can watch it all right now (or as soon as YouTube is done processing it).

              https://youtu.be/M0MpyfFaPsA

              This is on my private YT channel, since it's kind of a non-pro video. It's not studio quality, it's just me with a headset.

              Ask questions here and I'll answer as best I can. Maybe those of you who know the answer already can help me out!

              Love to everyone! I hope this is helpful!



              *Most of you probably hear Prof. Farnsworth when you read that... I hear Prof. Putricide. Make of that what you will.

              Comment


                #37
                Originally posted by ActualZak View Post
                Hey Everyone!

                Super sorry we ran out of time on today's livestream. I really tried to get everything fit in, but it just couldn't happen.

                But... GOOD NEWS, EVERYONE!*

                After the stream I went back to my desk and re-recorded the WHOLE thing as an impromptu training video. This way you don't have to jump back and forth or wait. You can watch it all right now (or as soon as YouTube is done processing it).

                https://youtu.be/M0MpyfFaPsA

                This is on my private YT channel, since it's kind of a non-pro video. It's not studio quality, it's just me with a headset.

                Ask questions here and I'll answer as best I can. Maybe those of you who know the answer already can help me out!

                Love to everyone! I hope this is helpful!



                *Most of you probably hear Prof. Farnsworth when you read that... I hear Prof. Putricide. Make of that what you will.
                Zak, you are the best! Thank you very much!

                Comment


                  #38
                  Thanks, I enjoyed part one and am looking forward to more!

                  Thanks also for pointing out the "trick" of disabling all BP's ticking by default, (because even if you are not using an Event Tick, they still "Tick")!

                  In a small project it's obviously easy to fix this by unticking the "Start with Tick Enabled" option in each new blueprint (class); but could someone please clarify which command you need to use and what INI file you can do this in? This seems the most sensible way to go i.e. turning it off for everything unless you explicitly turn it on.

                  [I made a quick attempt, ahem! I added "bCanBlueprintsTickByDefault=False" into "EngineSettings.ini" but that didn't seem to do anything. I've also tried turning it off in "Project Settings" -> "General Settings" -> "Can Blueprints Tick by Default", but opening a new Blueprint Class still seems to show that Tick is enabled by default.]

                  With regard to tips and tricks like the above - are these collated anywhere? In my case I'd never have found this out if I hadn't watched this particular video.



                  Comment


                    #39
                    Regarding various ways of implementing hover and interaction without Tick.

                    I had recently gone about this using a combination spring-arm/collision sphere parented by the player camera working with a similar BPI implementation, which has worked out well and kept me out of Tick instead using the "on hit & begin/end overlap" events of my collision component.

                    ​I don't have to use any timers which seems beneficial.​​​​​​

                    I'm just wondering if there are glaring performance or other problems that jump out to veterans with my proposed method? Perhaps spring arms are more intensive than a trace draw?

                    Comment


                      #40
                      Originally posted by revolther View Post
                      I'm just wondering if there are glaring performance or other problems that jump out to veterans with my proposed method? Perhaps spring arms are more intensive than a trace draw?
                      I'm definitely not a veteran and I have no idea if any of the following is correct, but I'd imagine that using a collision sphere isn't much different from using a sphere trace in tick. The collision of your sphere has to be checked somehow, after all. Spring arms use collision and all kinds of fancy extra features as well, so they're probably even more expensive.

                      Based on what I've been told in the past, line traces are generally the cheapest method of probing the environment by far.

                      Comment


                        #41
                        revolther

                        Interesting... So, you use Spring-arm Collision Events to generate a 'pulse' instead of Tick / Timers / Delays...
                        True?
                        If so, what happens when your Character / Vehicle 'Camera' is static? Do you use a Mouse or Gamepad too?

                        Comment


                          #42
                          I guess the question seems kind of silly, of course a trace is going to be super low resource intensive, my thinking was that Epic probably optimized the heck out of the components like collision spheres and spring-arms, and using them would piggy back off their components rather than trace every frame or .2 seconds or do some math.

                          franktech I've only done three iterations or so, but my setup working from something like the 3rd person pawn example is like..
                          Capsule
                          -Mesh
                          --CameraSpringArm
                          ---PawnCamera
                          ----DetectionSpringArm (arm length = max detection distance)
                          -----DetectionCollisionSphere (collision channel tuned for my interactable actors)
                          In that last collision sphere I use the On Component Begin/End Overlap events, check if my other actor has a tag I want (even though it won't collide with non-interactables thanks to collision channels, I double check), check if this actor is already the subject of our focus, and if so I keep/toggle on my post process effect or change crosshair colors or do whatever magic. If the player is still and mouse not moving, and an object were to pass by, the "detection springarm" shortens (it's collision is with visible objects), the "detection collision sphere" gets overlapped if the object is in it's collision channel and highlights or doesn't accordingly.

                          I'm still learning, maybe it's totally goofy, I was just wondering and this is about best practices, and I'm all about avoiding the Noid-err I mean Tick. FunFact You can disable scene components individual Ticks too
                          Last edited by revolther; 10-14-2018, 06:04 PM.

                          Comment

                          Working...
                          X