Announcement

Collapse
No announcement yet.

Mapping the engine source, would this be an issue?

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

    Mapping the engine source, would this be an issue?

    Hey all at epic!

    I teach a game programming undergrad degree at the University of Bolton here in England. I've been doing some blueprint tutorials for AI stuff so my students can try out some AI techniques (and they do seem to be enjoying that). But the course itself is more hardcore C++ programming oriented.

    Anyway, long story short, the available learning materials for using UE4 with C++ are limited right now

    Which brings me to my central question. I've been thinking about how to provide some learning materials for how the engine generally hangs together, code paths for typical usage cases etc. Plus I've been thinking about object lifecycles and the like.

    There's a great series of engine code reviews by Fabian Sanglard: http://fabiensanglard.net that I've been using with my students to help them learn typical game architectures. So it got me thinking about maybe working on a "mapping" series of materials that go into the engine and map out how things work.

    But obviously there's a bit of an issue with the legality of such a thing. Because inevitably you're going to show some code from the engine in order to describe it (or provide tutorial material on how to use it).

    So I'm wondering what the position is regarding showing code segments for tutorial purposes? I'm thinking something where it would take a typical problem and trace through the engine, explaining the code path and anything that might be relevant to the required functionality.

    Hope that makes sense? I'm just wondering how far I can go with producing support materials for the C++ side of the engine.

    Oh btw. Of course this would be publically available, videos, diagrams, example code etc.

    Ta.

    #2
    Maybe it won't anwser your quastion direcly but i can tell you what you can by avoiding source based on my AnswerHub expirance

    You are allowed to make snipits up to 30 lines, from FAQ:

    "UE4 subscribers are permitted to post engine code snippets (up to 30 lines) in a public forum, but only for the purpose of discussing the content of the snippet."

    APIs documentation is public and they also contains code snippits of specific functions (some longer then 30 lines):

    https://docs.unrealengine.com/latest/INT/API/index.html

    Also UE4 is not one man army made engine like Carmack's engines, it far more complex so i don't know if you manage to present it in the way that you see on that site, you might try to generlise more without showing code and link to github so those who can access legaly the code can see it. GitHub let you link to specific line of code, by clicking on line number your url add hashtag to the line.

    You might also be interested in UE4 free licence for academic use:

    https://www.unrealengine.com/education

    If you manage to equip your students with those there should be less problems ;]
    Last edited by Shadowriver; 02-05-2015, 09:59 AM.
    =========
    My Tutorials:
    Basic knowledge about Classes and UObject environment and stuff like that

    Comment


      #3
      I'm not thinking specifically of how Fabian presents his material, so much as starting the effort to lay it out a bit. It might well change format based on the issues at hand. But I think it would help to have an overall architecture discussion. Maybe it would be better ending up on the unreal wiki I don't know to be honest. I just wanted to float the issue of documentation of the engine itself. Automated documentation really doesn't cut it for newcomers to engine development.

      Comment


        #4
        Since it's for school, each student should be able to get educational access to UE4 and then they can look at the code.

        Comment


          #5
          I think you guys are missing the point. If you are new to game development, its pretty hard to get a huge code dump and make any sense of it. What I'm proposing is an analysis of where to start for regular tasks, as well as diagrams of the architecture etc. Its a way to give people a "way in" to the complex codebase that is UE in a way that helps them get a better handle on how it all works together. This kind of thing isn't necessary for experienced game developers but for many students I do think there would be some value in trying to map it out a bit.

          Comment


            #6
            Originally posted by zoombapup View Post
            I think you guys are missing the point. If you are new to game development, its pretty hard to get a huge code dump and make any sense of it. What I'm proposing is an analysis of where to start for regular tasks, as well as diagrams of the architecture etc. Its a way to give people a "way in" to the complex codebase that is UE in a way that helps them get a better handle on how it all works together. This kind of thing isn't necessary for experienced game developers but for many students I do think there would be some value in trying to map it out a bit.
            That would be awesome! I think it's a great idea zoombapup!

            I think the others are just trying to warn you that the legal aspects are a bit tricky... People who receive the resources will need a licence to the engine. In a school situation that won't be an issue if they all have student licences, but you won't be able to post this on a public forum, that's all. If it is just a high level overview it should be ok, but having a UML document might be a problem if posted for all to see (would it? not sure).

            I think we'd need someone from Epic to go over the legal aspect a bit, but if you are using this in a classroom of UE4 licensed students, it shouldn't be a problem.
            Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

            Comment


              #7
              Originally posted by DotCam View Post
              That would be awesome! I think it's a great idea zoombapup!

              I think we'd need someone from Epic to go over the legal aspect a bit, but if you are using this in a classroom of UE4 licensed students, it shouldn't be a problem.
              Yeah, which is why I'm asking here

              I would rather do it and release it for everyone than hide it on our internal course system to be honest. Not least because it'd be a pretty big effort and it feels wrong to not share that. Plus it might get a bit of help from other people in the long run (I'm thinking of it as an open source type effort).

              In a way, I guess I'm thinking of a richer version of the unreal wiki. Maybe I should just start there.

              Comment


                #8
                Originally posted by zoombapup View Post
                Yeah, which is why I'm asking here

                I would rather do it and release it for everyone than hide it on our internal course system to be honest. Not least because it'd be a pretty big effort and it feels wrong to not share that. Plus it might get a bit of help from other people in the long run (I'm thinking of it as an open source type effort).

                In a way, I guess I'm thinking of a richer version of the unreal wiki. Maybe I should just start there.
                You could use the basic concepts of the public engine API/classes and expand on implementation details without getting into specific lines of code (as in Youtube Blueprint tutorials), which is then seen and treated legally as more generalized knowledge and not trade secrets (or that kind of legal area). I'm not sure whether the classroom usage of specific code would then be OK by Epic.

                As for a richer version of the unreal wiki - I would love to see it happen personally, however I don't think this is possible from Epic's current point of view. (Havok for example has/had warnings in the code files about not telling anyone their trade secrets - even in TryHavok, a freely released SDK for commercial use.)

                To me it seems the most feasible solution by far is to keep such a wiki subscriber-only, as done via Github with engine source forks.

                Diagrams and pseudocode are not engine code, so it falls to the case of infringing or not on Intellectual Property (specifically trade secrets if I am not mistaken) defined in the EULA :

                10. Ownership

                Epic owns all title, ownership rights, and intellectual property rights in the Engine Code and Assets.
                http://www.freibrun.com/articles/articl2.htm
                A trade secret is any formula, pattern, compound, device, process, tool, or mechanism that is not generally known or discoverable by others, is maintained in secrecy by its owner, and gives its owner a competitive advantage because it is kept secret. The classic example of a trade secret is the formula to Coca-Cola.
                The emphasis is on not making publicly available any engine specifics which would let other companies or game engines get a competitive advantage over Epic Games/UE4. If companies are going to compete to evolve, then rational protection measures are required for the successful company to reap the benefits of innovation.

                Comment

                Working...
                X