mastering multiplayer stage3d and air game development for mobile devices

63
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 1

Upload: frimastudio

Post on 28-Jan-2015

120 views

Category:

Entertainment & Humor


8 download

DESCRIPTION

Video Presentation : http://tv.adobe.com/watch/max-2013/mastering-multiplayer-stage3d-and-air-game-development-for-mobile-devices/ • The use of Stage3D across web and mobile deployments (with Adobe AIR) . • The challenges encountered when attempting to maintain high-performance specifications on mobile devices . • Being agile in a pre production game development • We'll show how we have jump our of the predefined sandbox to develop creative solution on well known problem.

TRANSCRIPT

  • 1. 1

2. Frima Studio2 3. Session Takeaways Iterative pre-production process is good for you How to think mobile How to keep multiplayer simple Flash is still a good option Your happiness is important3 4. Sprint Oriented Session4 5. Brainstorm Workshop5 6. Overview - Brainstorm Workshop Target device Technology to use Flash Stage3D vs other technologies Past Adobe Timeline recap Art adjustment from initial prototype6 7. Target device Cross-Platform Web iPad2 and up for iOS Nexus 7 and up on Android Sub-Platforms Amazon OUYA SHIELD7 8. Android Performance 30 cycles = 9 FPS Epic Citadel Shadowgun Dead Trigger8 9. Profiling and Debugging tools9Adobe ScoutNVIDIA PerfHUD ESIntel GPA 10. Technology Engine Connected backend ActionScript programmers Seamless ports High risks Heavily change renderer Number of enemies on screen Crowd system10 11. Stage3D GPU Reach Stage 3D GPU Reach FP11 : 60-70% FP11.2 : 70-85% FP11.4 : 90% WebGL WebGL support on mobile is weak http://webglstats.com/ Unity Plugin Depends on audience11 12. Art adjustment Art problems A guy allergic to peanuts Who probably lives with his mother Art = later Placeholders12 13. Adobe Gaming Recap13 14. Brainstorm Conclusion14 Recap Its cold where we work Target iPad2, Tegra3, Web Android GPU performance reality check Profiling tools are your friends Yes! We use Flash! 15. DisclaimerLorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam nibh tortor, posuere in facilisis at, consequat semper leo.Morbi mauris massa, placerat dictum ultrices sed, pretium et sapien. Donec sed lobortis urna. Aenean malesuada nisleuismod odio euismod pellentesque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpisegestas. Integer fringilla lacus ut erat pulvinar vitae porta risus aliquam. Sed vel suscipit nulla. Donec gravida felis aliquammauris rutrum ac luctus est viverra.Vivamus facilisis, orci ac sollicitudin dignissim, leo risus malesuada eros, nec tempus enim orci quis lacus. Lorem ipsumdolor sit amet, consectetur adipiscing elit. Nunc eget nunc id nisl ultrices cursus vitae sagittis lectus. Aliquam id lacus lorem.Aliquam erat volutpat. Aenean eleifend, orci eu tristique suscipit, risus mi vulputate ante, vitae porttitor nisi purusmalesuada velit. Nunc libero magna, iaculis id hendrerit vel, aliquam euismod nisi. Aliquam erat volutpat. Duis vel erat quiserat posuere fermentum. Integer a libero sed nisi ullamcorper vehicula id sit amet mi. Nullam ornare sollicitudin ante nondignissim. Quisque vestibulum massa ut mi cursus ut auctor erat sollicitudin. Cras lacinia, neque sed commodoconsectetur, nulla justo facilisis nunc, interdum dictum augue dolor sed dui. In vel dolor magna, eget volutpat ligula. Morbivulputate arcu sed mi luctus vehicula. Proin euismod mi sit amet diam commodo mattis.Donec non dictum elit. In hac habitasse platea dictumst. Integer commodo consequat nibh a luctus. Etiam est lacus, ornareeu tempus et, tincidunt vitae turpis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptoshimenaeos. Integer pulvinar, erat ut tristique semper, quam justo congue lorem, quis mattis magna sapien at nisi. Cras urnalectus, blandit quis tincidunt vel, tristique vel urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuerecubilia Curae; Phasellus sed purus lectus.15 16. Sprint I16 17. Overview Sprint I Feature Creep Animation Driven Locomotion Gameplay Placeholder everything Attack without animation Basic Character movement17 18. Creep Marching square Running on Android Initial = 150 ms Opcode (Azoth) = 20 ms 8x8 Partitioning (2 - 4 ms) 64 Meshes and Indexes Camera Culling uploadfromVector uploadFromByteArray18 19. Character motion (ADL) Problem Foot sliding Solution Animation Driven Locomotion How Tools and exporter20 20. Foot Sliding21 3d Studio Max exporter using AMF C++ 21. Power walking22 Get the programmer to like it Still give control to the designer Artist feared it would looklike Power Walking Let them control the speed Avatar.RunAt(5 km/h).please(); Animation multiplier 22. Sprint Conclusion24 Flash can be fast Optimized opcode uploadFromByteArray Customize your flash experience Create plugins in Flash IDE, 3dsmax, Maya Connect to Flash with sockets Editors Debuggers and Profilers. 23. Sprint II25 24. Frame by frame animation Inspired by Quake Cons Bigger file Lots of buffers No IK Solver Pro Faster26 25. Faster but Why ? Skeletal animation Each frames setProgramConstantsFromByteArray (All bonesId and Weight data) Frame by frame Longer initialization time Each Frame Tell which vertex Buffer to use27 26. Networking in IceField28var xml:XML = describeType(cTransform); 27. Networked crowd Network everything! Easy But 50k/sec29 28. Networking in IceField30 Getter and Setter Data synchronisation Pre-Processor 29. Sprint Conclusion31 Something Old In 1996, Quake introduced mdl 3D spritesheets Sometimes a good Pro override many Cons Something New Networking out of the box Gameplay programmers friendly Still need tweaking for bandwidth 30. Sprint III32 31. Overview Sprint 333MoreMore Crowd for me 32. ZombieTycoon34What they remember: 2000 Zombies Stage3DWhat they should Intel i7 Dedicated video cardAnd now: Mobile Networked 33. Crowd35 Zombie A* on a 2D Grid Neema Navigation Mesh Using Flascc Granular flow movement Back to 2D Grid No A* sugar sugar 34. Crowd movement36Will not work on 35. Critter mower38 Worked but too heavy Sword as collider Sphere collider Solution Pre-Computed hits position Per Animation Per Frame 36. 39Critter mower 37. Critter mower40 38. Critter mower41For (Crowd pos){Grid[pos]=beiber} 39. Critter mower42For (Hit pos){Grid[pos]=dead} 40. Avatar43 41. Sprint Conclusion44 Generic technique Know them but Do something else Mobile > FarCry Requirement 42. Sprint IV45 43. Multiplayer and networking Network tools UDP vs TCP Peer2Peer Network interpolation From 50k to 5k / sec46 44. Latency Built-in Network tools Latency metrics47 45. Built-in network metrics48 46. Network tools Microsoft Network Monitor49 47. Network tools Network Emulator for Windows Toolkit Latency Packet loss Network errors50 48. Network tools http://wanem.sourceforge.net/51 49. Network techniques High Bandwidth Intervals CPU Hog Limit packet size Latency Kills Network interpolation Predict position Smoother results52 50. Sprint Conclusion53 Make networking behave Use networking tools to simulate latency Use interpolation for position of moving objects Implement networking monitors 51. In the meantime in R&D54 52. Using 2D in a 3D game Flash Display List 50% CPU on Android Starling Easy to Implement 6% CPU Cant block Click55 53. ASC 256 Better Incremental build by default Swf size (-35%) Performance (+15%) Stricter compilationvar Roger:uint = -1;var Wilfrid:int = 0xffffffff; 54. Other choices57 Red Tamarin Updating as we speak API on top of Redux https://code.google.com/p/redtamarin/ Play Script Away3d and Starling First performance test are slow http://ingweland.com/playscript-benchmark/ https://github.com/playscript 55. Less known features ANE GameCenter InApp purchase Push Notifications Rate this app flasCC Epic citadel Existing Algorithms and codebase What about Multithreading?58 56. GLSLTo AGAL compiler GLSL2AGAL https://github.com/adobe/glsl2agal Existing Shaders No need to go low-level! Some recent fixes Matrixes support (up to 2) Dynamic access to vertex constant vc[x] Fixed m33 operations Fixed nrm on constants59 57. Stage3D Modes Facebook https://www.facebook.com/groups/stage3d/ Extended July: Rectangular textures Texture size : 4096 Whats next? http://www.adobe.com/go/flashplayer_roadmap I heard that But60 58. Do it ! Be Agile Fail Fast Be Proactive Create Issues Be Different Tailor Flash Be Creative This is The Creativity Conference61 59. SESSION SURVEY on the MAX COMPANION app for your chance to Win e-Books Win Apple iPod Nano.62 60. 63