Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Folk Tale: Technical Walkthrough useful or not?

Discussion in 'Community Learning & Teaching' started by Games-Foundry, Apr 8, 2012.

  1. Games-Foundry

    Games-Foundry

    Joined:
    May 19, 2011
    Posts:
    632
    It's coming up on a year since I started working full-time on Folk Tale. The last 2,500+ hours of working in Unity Pro have been awesome, but there's also been a heap of pain, and several hundred hours could have been saved by simply knowing what pitfalls to avoid.

    In the hope that I might save someone time, to coincide with the first alpha release, and finally to give something back to the community for all the knowledge our team has benefited from, I'm considering preparing a video presentation of our technical architecture. It also provides a nice opportunity to take a closer look at some of the great artwork the artists have created.

    To help me think about content, I've prepared a few slides below. This wouldn't be a code tutorial; it's more aimed at intermediate developers covering high-level topics demonstrated by referencing a real project in Unity, and by sharing our experiences.

    Worth doing?

    $02 - Overview.jpg

    $04 - Class Hierarchy 2.jpg

    $06 - Manager Classes.jpg

    $UnityPro.jpg
     
    Last edited: Apr 9, 2012
  2. Ocid

    Ocid

    Joined:
    Feb 9, 2011
    Posts:
    476
    I'd say go for it man but only if you have the time. In that it won't take away from the development of Folk Tale.

    Folk Tale is looking awesome and can't wait to see it come out. If you're wanting to do the technical walkthrough to help other folks out but it'll just take time away from dev why not wait until Folk Tale is out then do it.
     
  3. dterbeest

    dterbeest

    Joined:
    Mar 23, 2012
    Posts:
    389
    I would be very interested to learn what walls you have hit during development, and how you overcame the problems.

    But.. as Ocid says, please don't cut time on the Folk Tale development :p
     
  4. profanicus

    profanicus

    Joined:
    Nov 23, 2009
    Posts:
    295
    Definitely worth it; we need more intermediate to advanced stuff on here.
    I love seeing how others set up classes and how they manage game complexity so I say go for it!
     
  5. Patapouffe

    Patapouffe

    Joined:
    Apr 3, 2010
    Posts:
    88
    It would be great to learn how you did some of those things. I'm especially interested in the culling and what troubles you ran into there.
     
  6. Games-Foundry

    Games-Foundry

    Joined:
    May 19, 2011
    Posts:
    632
    I've updated the contents slide to include a few more areas that I think might be useful. Pleasantly surprised with the enthusiasm not to divert time away from developing Folk Tale, very motivational for all the team. The reason we'll be launching this with the alpha release is because we'll be going for funding, and these learning assets serve a triple purpose: giving something back to the community, promoting the game, and as documentation should we need to go through any due diligence with investors or publishers.

    Not to mention the additional benefits of forcing me to clean up the project and code, its helpful to take a step back and look at the wider architecture once in a while in case I've done something dumb.

    New WIP video coming shortly as it's been a few months.
     
  7. GTGD

    GTGD

    Joined:
    Feb 7, 2012
    Posts:
    436
    Definitely worth doing! I'm moving into intermediate level programming and in my case an overview of the systems that your team had to develop would help give me an idea as to the types of coding concepts I should try to learn as I further my knowledge.

    Btw, it really looks like a game worth buying!
     
  8. Games-Foundry

    Games-Foundry

    Joined:
    May 19, 2011
    Posts:
    632
    Here's a trial recording from the Editor on the relatively simple subject of character prefabs and props.



    I've not done too many of these before, so I'd appreciate any opinion/advice on presentation style. My main concern is the audio quality - is it acceptable? And do I need to sound more upbeat in my commentary?

    The final videos will be much more technical, including looking at scripts and slides. This is just a test.
     
  9. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    I think this would be great! There are plenty of tutorials and guides on how to make code.
    But if you already know that but don't have a lot of experience in the actual design of a game, this kind of walkthrough will be a great learning experience and probably save people like myself many hours of work.
     
  10. NomadKing

    NomadKing

    Joined:
    Feb 11, 2010
    Posts:
    1,461
    I think the idea and the first video are great, and I'd definitely like to see more :)
     
  11. pneill

    pneill

    Joined:
    Jan 21, 2007
    Posts:
    207
    Agree. This would be awesome and something I would pay for, but like the others say, don't lets this distract you from making a game (and invest in a better microphone. :D. I recommend the Yeti.).
     
  12. Dariyo

    Dariyo

    Joined:
    Feb 19, 2011
    Posts:
    19
    I really like the idea and i'm always interested in how other people handle such tasks. I especially like if its more suited for intermediate developers since i love to have a look into more complex projects.
    Regarding your first video: The sound quality was okay in the first part of the video, but after a while there were some background noises. But it's acceptable :)
     
  13. gninjagnome

    gninjagnome

    Joined:
    Aug 11, 2011
    Posts:
    51
    Of course I say go for it:)
     
  14. Games-Foundry

    Games-Foundry

    Joined:
    May 19, 2011
    Posts:
    632
    Based on feedback, we're going to hold off until closed beta has ended so we don't get distracted, and launch the videos to coincide with the Folk Tale open beta.
     
  15. Ocid

    Ocid

    Joined:
    Feb 9, 2011
    Posts:
    476
    Awesome. I think thats the best of both worlds to be honest.

    You guys can focus on Folk Tale at this point and those that are wanting to see the technical walkthrough don't have to wait to long.
     
  16. SirGive

    SirGive

    Joined:
    Sep 27, 2010
    Posts:
    384
    Definitely excited to see the technical walk through. Working on a few personal frameworks, and curious to see how you linked everything together.
     
  17. _Petroz

    _Petroz

    Joined:
    May 13, 2010
    Posts:
    730
    I am very interested this! Judging from those diagrams it looks like an inheritence hierarchy, I'd like to know the rationale for going with that architecture and whether you considered composition using Components instead of inheritence in any cases.
     
  18. Games-Foundry

    Games-Foundry

    Joined:
    May 19, 2011
    Posts:
    632
    @Petroz:

    We started with a component approach, and while it has merits, we quickly realised that modifying values in the Editor Inspector and in code made development somewhat more difficult and harder to track because you often forget that a value in the Inspector can be overriding what you are looking at in code (meaning you have to run the debugger to confirm that what you think a value should be is not actually what it is being set to). After this happened several times, causing many lost hours, we took the decision to reduce the number of components added to each prefab, and make as much as possible controlled from within MonoDevelop. We still use a hint of component-based development as our prefabs are setup with 1-5 components.

    As the project became more complex, it appears to have been a good decision, supporting the way we work. This is just a personal preference developed over 14 years of coding, not a right/wrong thing. Rochard looks to have taken a full on component-based approach if you watch the dev videos. For me, having all those editor panels just looks like a headache.

    Inheritance lets us do some nice things in code, such as "is obj this type of class". It avoids the need to keep cached variables for all the other components on an object just to share data. And of course there are the huge benefits of polymorphism and overriding.

    We've reduced memory consumption by borrowing some of the benefits of FSM and moving out some of the common blocks of code to the singleton managers, although this can be done under both architectures, and isn't really an issue on this project. We also offload some number crunching for ambience zone blending to another thread to squeeze out some performance.

    The Folk Tale code base is a blend of several different architectural approaches. We take the best each approach has to offer, and that works great for us. Going 100% component based may work for you, just like 100% OOP. We aren't purists. We merely seek the best solution for a particular problem that's achievable within a reasonable timespan given our knowledge at that point in time. As a collaboration project I've been more interested in reaching milestones and keeping momentum going than spending days refactoring code to fit one architecture or another. There's time to do that when the project is funded.

    Hope that gives some decent insight for now.
     
  19. _Petroz

    _Petroz

    Joined:
    May 13, 2010
    Posts:
    730
    That is very insightful thank you! I had a very similar experience. I also started out trying to do everything with components encountered issues which lead me to have a mix as well. I really enjoyed the video and I would love to see more, it would be a huge asset to this community if you can find the time to make more. :D