Your SlideShare is downloading. ×
Unite11: Making Family Guy Online
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Unite11: Making Family Guy Online

848
views

Published on

Unity enabled Roadhouse and development partner A.C.R.O.N.Y.M. Games to rapidly prototype and ultimately win the opportunity to build Family Guy Online, a mid-core, free-to-play MMO. The business case …

Unity enabled Roadhouse and development partner A.C.R.O.N.Y.M. Games to rapidly prototype and ultimately win the opportunity to build Family Guy Online, a mid-core, free-to-play MMO. The business case is unique (it's not a traditional "licensed game"), but we think we're doing some things on the technical side that are unique as well, including our Photon integration, and running Unity servers as well as clients off the same data set. There are challenges with the Unity GUI, and these are compounded by our need to be faithful to the look and the feel of the show. Developers will get an exclusive look at a closed beta release of Family Guy Online.


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
848
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • I WORK DIRECTLY AS EP/CREATIVE on FGO WITH A.C.R.O.N.Y.M. AND MINDWALK,AND I’M THE FACE OF THE PROJECT TO FOX AND THE PEOPLE FROM THE SHOW
  • Transcript

    • 1. MAKING1 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 2. IAN VERCHERE FUNKY SWADLING CCO ROADHOUSE CEO A.C.R.O.N.Y.M.2 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 3. CO-FOUNDER AND CHIEF CREATIVE OFFICER OF ROADHOUSE INTERACTIVE EX-EA, Co-FOUNDER OF RADICAL ENTERTAINMENT, THEN EX-EA A COUPLE OF MORE TIMES MADE SOME AMAZING GAMES AND A COUPLE OF BAD ONES LEARNED MORE FROM THE BAD ONES THAN THE GOOD ONES3 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 4. ROADHOUSE IS A PRODUCTION COMPANY – WE MAKE GAMES THE WAY MOVIES ARE MADE FIND THE RIGHT TEAMS, TOOLS AND TALENT FOR A GIVEN PROJECT FAMILY GUY ONLINE IS A VERY DIFFERENT MODEL: IT’S NOT A LICENSED GAME. WE’RE BUILDING IT FOR FOX WE’RE WORKING DIRECTLY WITH THE SHOW TO EXTEND FAMILY GUY TO ONLINE4 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 5. WE CHOSE A.C.R.O.N.Y.M GAMES AS OUR LEAD DEVELOPMENT PARTNER I HAD BEEN WORKING IN UNITY BEFORE AND BROUGHT it TO A.C.R.O.N.Y.M. HAD TO CONVINCE THEM AT FIRST BUT ONCE THEY LOOKED AT IT, UNITY SOLD ITSELF WE BUILT A FAMILY GUY PROTOTYPE IN 7 DAYS AND CAPTURED THE DEAL5 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 6. DAVID HELGASON TONY GARCIA6 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 7. DESIGN AND ART LEADS ARE AT A.C.R.O.N.Y.M. BUT A LOT OF THE MODELS AND ANIMATIONS ARE BEING DONE BY MINDWALK STUDIOS IN BEIJING, CN ROADHOUSE PUT THE WHOLE THING TOGETHER AND WE MAKE SURE IT RUNS. MY PARTNERS IN ROADHOUSE HANDLE OPERATIONS AND CONTRACTS7 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 8. JAMES HURSTHOUSE TARRNIE WILLIAMS CEO PRESIDENT8 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 9. • For fans of the TV Show • Free-to-Play • Unity Web Based MIDCORE • ”MMLOL” • CHARACTEr CREATOR IS LIVE • CLOSED BETAS STARTING • FUNKY WILL NOW TELL YOU HOW WE’RE GETTING IT DONE9 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 10. • 39 People in Vancouver, Canada.• Founded in 2004 to make small fun games• Currently developing two large free-to-play Unity Web titles, including Family Guy Online10 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 11. Previous work:• Rocketmen: Axis of Evil• Rocketmen: It Came from Uranus• Sony NBA• Tecmo NBA Unrivaled• Wipeout (no, not that Wipeout. The TV show)• Zombie Cookin’ (using Unity iOS)11 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 12. What This Session is About12 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 13. What This Session is About• Over 200 developer months spent so far• Systems and methods we used to extend Unity to make a MMO game• “Awesome Practices”13 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 14. What This Session is About• Unity and Client/Server Architecture• Project Architecture• Perforce Integration• Photon Socket Server14 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 15. What This Session is About• Network Packet Architecture• Instance Game Design• Cute Tidbits15 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 16. What This Session is About• Streaming World• GUI• Art Implementation• Character Creator16 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 17. What This Session is AboutI guarantee some part of this session willbe irrelevant to you.Hang in there... I bet you’ll find somethingcool.17 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 18. What This Session is AboutQuestion: Can you have our systems?18 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 19. What This Session is AboutQuestion: Can you have our systems?Answer: NO!!!! (but please make your own)19 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 20. Unity20 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 21. We Love Unity • Web Deployment • Cross Platform (PC and Mac) • Cheap Licensing • C# for Coding • Perforce Integration • MAYA Support21 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 22. Client and Server22 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 23. Client and Server: One Project One Unity Project generates:• Client Webplayer• Client Data• Server Windows Executables23 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 24. Client and Server: One Project WHY?• Guarantees Server development and Client development always in sync• Write common systems once, rather than reimplementing in a non-Unity way24 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 25. Client and Server: One Project WHY?• World editing done once in Unity• Unity has already written collision, component based objects, main loop, resource management, data importers, etc.25 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 26. Project Architecture26 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 27. Project Architecture Fact:There are many types of developers, most of whom don’t care about the way other types want to develop.27 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 28. Project Architecture Content builders (modellers, animators)28 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 29. Project Architecture Content builders (modellers, animators) World artists29 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 30. Project Architecture Content builders (modellers, animators) World artists Game scripters30 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 31. Project Architecture Content builders (modellers, animators) World artists Game scripters Server programmers31 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 32. Project Architecture Content builders (modellers, animators) World artists Game scripters Server programmers Client programmers32 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 33. Project Architecture Content Builders (modellers, animators) World Artists Game Scripters Server Programmers Client Programmers Testers / Product Owners33 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 34. User Type: Content Builder• Wants to see how his work will appear.• Wants quick iteration between art programs and in-game.• Does NOT want to run servers, does NOT want to wait for a deployment build.34 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 35. User Type: Content BuilderASSET VIEWER(Unity World)35 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 36. User Type: World Artist• Wants to see how work looks all put together• Wants to see how work looks as it’s streamed in• Does NOT want to run servers, does NOT want to wait for a deployment build.36 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 37. User Type: Content BuilderARTISTMASTER FILE(Unity Scene)37 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 38. User Type: Content BuilderSTANDALONEWORLDSTREAMER(Web Player Build)38 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 39. User Type: Scripter / Server Programmer• Wants to see the game working.• Wants to debug the server.• Does NOT care about the client39 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 40. User Type: Scripter / Server ProgrammerWEB CLIENT(Web Player Build)SERVER DEBUG(Unity Scene)40 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 41. User Type: Client Programmer• Wants to see the game working.• Wants to debug the client.• Does NOT care about the server.41 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 42. User Type: Client ProgrammerSERVER(Windows .EXE)CLIENT DEBUG(Unity Scene)42 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 43. User Type: Product Owner or Tester• Wants to see the game working.• Can wait for internal deployment.• Does not want to run anything – only cares about final user experience43 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 44. User Type: Product Owner or TesterWEB CLIENT(Web Player Build)44 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 45. Project Output45 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 46. Project Output• Web Client + its Resource Data• Game Asset Bundles• Server Executables• Streaming world “grids”• World Asset Bundles46 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 47. Project Output All from one project, please!47 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 48. Project Output All from one project, please! How? SYMBOLIC LINKS48 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 49. 49 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 50. Project Output Why one project?• Common code and data is shared• Compatible with source control• Simple build process for any type of developer50 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 51. We Learned Something• Asset Viewer was a single world• It blew up our PCs• Now it is several “worlds” which can be symbolically linked together as needed51 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 52. Perforce52 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 53. We (mostly) Love Perforce • Fast, reliable. • Not too expensive • Good for art and code assets • Branches and Integrations are awesome • Allows local experiments53 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 54. Perforce Unity (Pro version) and Perforce are able to get along, thanks to metafiles. But...54 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 55. Perforce Unity loves to create files, move files and make files writable without telling you. Perforce does NOT like that.55 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 56. Perforce So, we wrote a consistency tool.A Unity Editor Script which works out whatUnity changed (including file moves!), and builds Perforce changelists for you.56 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 57. Photon57 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 58. We Love Photon • Solid, fast, scalable • Written in C and C++ • Extensible in C# • Unity works out-of-the-box • UDP and RUDP58 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 59. Photon We use Photon as a Socket Server only. The game is written in Unity.59 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 60. Photon We’ve extended Photon for:• Server creation• Server destruction• Server configuration• Player assignment (load balancing).60 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 61. Photon We started with “Lite”• C# project which ships with Photon• Sort of like a chat server• Rooms, operations and events61 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 62. Photon Each Server has its own RoomEntry room is used for joining the game or switching worlds.62 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 63. Photon Entry Room talks to the database, configures servers on demand, and moves clients into those rooms.63 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 64. Photon For a server-to-server transition, a server will update the database then kick a Photon player into the Entry Room. The Entry Room process repeats.64 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 65. Photon If an underpopulated, open world matches what a player is seeking, the player is put there. Otherwise, Photon finds an available world and sets it into the correct mode before placing the player.65 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 66. Photon Registering a Server is simple. When you launch any of our Unity Server Windows Executables, it automatically registers itself with Photon, creating a Room.66 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 67. Photon Photon 3 (just out!) features Photon to Photon communication, so we can now load balance not only between Unity Servers but between Photon Servers.67 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 68. Network Architecture (you thought that last section was dry?)68 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 69. First... a joke. What’s the best thing about telling a UDP joke?69 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 70. First... a joke. What’s the best thing about telling a UDP joke? I don’t care if you get it or not!70 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 71. First... a joke.What’s the worst thing about telling a TCP joke?71 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 72. First... a joke.What’s the worst thing about telling a TCP joke? If you don’t get it, I repeat it slower and slower until you do!72 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 73. Feel free to leave now  I promise I’ll show you something shiny after this section.73 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 74. Message Types: Update Update messages sent at high rate, describe the state of something that is frequently changing its state (like a player)74 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 75. Message Types: Update If you don’t receive one, don’t worry. A better one will be along soon. Use UDP!75 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 76. Message Types: Update Safety tip: UDP messages can cross, so don’t use data if it’s older than your most recent successful receive.76 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 77. Message Types: Reliable Data that has to get through, in order, or the game won’t work. e.g. Instantiate, deinstantiate, UI requests. Use RUDP (or TCP if you must)77 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 78. Message Types: Reliable Important: A messed up RUDP or TCP delivery will block all other packets of that type to that client. Minimize these!78 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 79. Message Types: ROMSome objects update infrequently, but rely on their previous state being sucessfully set e.g. Doors, Combat actions, Collectibles79 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 80. Message Types: ROM If one object isn’t yet updated, don’t hold up other objects. They are independent of each other. We invented Reliable Ordered Messages80 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 81. Message Types: ROM A ROM is quite a lot like RUDP, but server tracks them separately per-client per-object instead of one list per client. We can also obliterate them from the queue if we know an object is no longer in a client’s relevant set, and the message hasn’t been acknowledged.81 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 82. Throttling and Pruning If we find ourselves trying to send too much data per “frame”, we spread theload over multiple frames – sending a few milliseconds later is better than dropping packets.82 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 83. Throttling and Pruning The game goes on generating updates and ROMs at the same rate, though.When an update is put into a queue, olderstill-queued updates are removed, as new data is always better.83 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 84. Throttling and Pruning Important:If you’re pruning the queue like this, maintainthe queue position of the old data, otherwise it will never get sent – it will keep moving to the back of the line!84 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 85. Instance Design85 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 86. Instance Design The problem: How to make sure the game feels populated and multiplayer, while preventing players from messing with each other’s “misadventures”86 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 87. Instance Design We considered using traditional instances. Go into a “misadventure” world, and your party is there alone. No party? You play alone!87 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 88. Instance Design Cons:• Not very multiplayer• Uses a lot of server power for one person• (in other words, too expensive!)88 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 89. Instance Design We considered using traditional shared spaces. Everyone adventures together!89 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 90. Instance Design Cons:• People can “ninja” your drops• Players may have to camp spawns• Some designs mean that everyone progresses through the misadventure, regardless of if they’ve helped.90 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 91. Instance Design Our solution: Additive and Subtractive Relevant Sets91 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 92. Instance Design Items that everyone should be able to access, but get removed from the world when you access them: Subtractive Relevant Set92 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 93. Instance Design Items that only one person or group should be able to access, but can exist in a multiplayer environment: Additive Relevant Set93 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 94. Instance DesignWe can extend this system (in a tutorial, say)to give each player their own private enemy.The effect is like multiple solo instances, but all running on one server!94 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 95. Cute Tidbits95 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 96. XML based object instantiation We specify our game objects in XML, and use reflection to create and assemble all the components. Components can be conditional based on server or client instantiation. Solves problems from duplicating or mismatching data.96 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 97. Server Warnings sent to Client Most developer types run the servers as a Windows .EXE But, there can be hidden bugs that only show up on the server. We extended Unity’s exception handler and debug logger to send server problems to the Client, so errors are noticeable.97 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 98. Streaming World98 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 99. Streaming World Streaming your worlds is a Good Thing.99 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 100. Streaming WorldWe divide each large world into grids, and only load the 9 grids surrounding you.100 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 101. Streaming World101 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 102. Streaming World102 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 103. Streaming World Problems: Line of Sight – you ought to see large structures further than one grid out But, if you increase grid size, you lose the benefits of streaming.103 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 104. Whole World104 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 105. One Grid105 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 106. Streaming World BEFORE Average Grid Size 858 Backdrop 116 Shared Assets 1 Initial Load 7837 Total Load 13724106 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 107. Streaming World Solution (part 1) Textures take up more data than models Move ALL textures to “shared assets” loading107 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 108. Streaming World BEFORE AFTER Average Grid Size 858 467 Backdrop 116 116 Shared Assets 1 501 Initial Load 7837 4821 Total Load 13724 7474108 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 109. Streaming World How can we squander these savings?109 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 110. Streaming World Solution (part 2) Move low detail meshes into a single backdrop Leave high detail meshes grid-based110 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 111. Low Detail Backdrop111 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 112. High Detail Grid112 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 113. Streaming World BEFORE AFTER BIG BACKDROP Average Grid Size 858 467 449 Backdrop 116 116 781 Shared Assets 1 501 545 Initial Load 7837 4821 5371 Total Load 13724 7474 7191113 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 114. GUI114 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 115. GUI Sorry, Unity. We don’t love your default GUI implementation. Immediate mode GUI is fine for single developer prototyping.115 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 116. GUI Beg, borrow, license, steal or write an event-driven, widget based GUI. (We wrote, if you were wondering)116 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 117. GUI Web based games need to resize to any web page size. We lock our aspect ratio, so our artists don’t explode.117 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 118. GUI Widgets are hierarchical, and have layout anchors specified. If webplayer is below target resolution, scale down. If webplayer is above target resolution DO NOT SCALE UP! Build the UI according to its anchors.118 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 119. 119 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 120. 120 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 121. 121 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 122. Art122 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 123. Art We had to match the art direction of the TV show.• Family Guy is 2D• Family Guy Online is 3D• Uh-oh!123 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 124. Art Step one: Art Geniuses (creatives and technical) must be in-house. Outsourcing is for bulk work.124 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 125. Art Use a toon shader (obviously) Mouth is a sprite, which mirrors based on character and camera facing125 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 126. Art126 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 127. Art Facial Animation is done through a sprite sheet, based on mouth type and desired expression127 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 128. Art128 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 129. Art Characters are assembled from multiple meshes, each its own asynchronously loaded asset bundle.129 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 130. Art Asset Viewer (discussed earlier) is used for previewing and piecing together the parts.130 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 131. Art131 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 132. Art We wrote a custom memory manager for character assets. We didn’t trust C#’s garbage collector. Maintain a Most Recently Used list to avoid excessive loading/unloading.132 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 133. Art Assemble the parts into a character in coroutines, to avoid any performance hit. We run “ghosts” around on the client before all assets are streamed in.133 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 134. Character Creator Last thing, honest!134 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 135. Character Creator Character Creator was the first part of the game we wanted to reveal to the public. It had to be slick.135 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 136. Character Creator “Grey Block” design136 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 137. Character Creator Flash Prototype (sorry Unity!)137 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 138. Character Creator Finally, using Unity138 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 139. Character Creator Demo of Flash Prototype139 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 140. Character Creator Demo of Unity (in Editor)140 11/3/2011 Making Family Guy Online (Roadhouse Interactive and A.C.R.O.N.Y.M. Games)
    • 141. THANK YOU! … any questions?Roadhouse Interactive and A.C.R.O.N.Y.M. Games