Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1
Frima Studio2
Session Takeaways Iterative pre-production process is good for you How to think mobile How to keep multiplayer simple ...
Sprint Oriented Session4
Brainstorm Workshop5
Overview - Brainstorm Workshop Target device Technology to use Flash Stage3D vs other technologies Past Adobe Timeline...
Target device Cross-Platform Web iPad2 and up for iOS Nexus 7 and up on Android Sub-Platforms Amazon OUYA SHIELD7
Android Performance 30 cycles = 9 FPS Epic Citadel Shadowgun Dead Trigger8
Profiling and Debugging tools9Adobe ScoutNVIDIA PerfHUD ESIntel GPA
Technology Engine Connected backend ActionScript programmers Seamless ports High risks Heavily change renderer Numb...
Stage3D GPU Reach Stage 3D GPU Reach FP11 : 60-70% FP11.2 : 70-85% FP11.4 : 90% WebGL WebGL support on mobile is wea...
Art adjustment Art problems A guy allergic to peanuts Who probably lives with his mother Art = later Placeholders12
Adobe Gaming Recap13
Brainstorm Conclusion14 Recap It’s cold where we work Target iPad2, Tegra3, Web Android GPU performance reality check...
DisclaimerLorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam nibh tortor, posuere in facilisis at, consequat s...
Sprint I16
Overview – Sprint I Feature Creep Animation Driven Locomotion Gameplay Placeholder everything Attack without animati...
Creep Marching square Running on Android Initial = 150 ms Opcode (Azoth) = 20 ms 8x8 Partitioning (2 - 4 ms) 64 Mesh...
Character motion (ADL) Problem Foot sliding Solution Animation Driven Locomotion How Tools and exporter20
Foot Sliding21 3d Studio Max exporter using AMF C++
Power walking22 Get the programmer to like it Still give control to the designer Artist feared it would looklike Power ...
Sprint Conclusion24 Flash can be fast Optimized opcode uploadFromByteArray Customize your flash experience Create plu...
Sprint II25
Frame by frame animation Inspired by Quake Cons Bigger file Lots of buffers No IK Solver Pro Faster26
Faster but Why ? Skeletal animation Each frames setProgramConstantsFromByteArray (All bonesId and Weight data) Frame b...
Networking in IceField28var xml:XML = describeType(cTransform);…<variable name="mBaseDamage" type="Number"><metadata name=...
Networked crowd Network everything! Easy But 50k/sec29
Networking in IceField30 Getter and Setter Data synchronisation Pre-Processor
Sprint Conclusion31 Something Old In 1996, Quake introduced mdl 3D spritesheets Sometimes a good Pro override many Con...
Sprint III32
Overview – Sprint 333More…More Crowd for me……
ZombieTycoon34What they remember:• 2000 Zombies• Stage3DWhat they should…• Intel i7• Dedicated video cardAnd now:• Mobile•...
Crowd35 Zombie A* on a 2D Grid Neema Navigation Mesh Using Flascc Granular flow movement Back to 2D Grid No A* su...
Crowd movement36Will not work on
Critter mower38 Worked but too heavy Sword as collider Sphere collider Solution Pre-Computed hits position Per Anima...
39Critter mower
Critter mower40
Critter mower41For (Crowd pos){Grid[pos]=beiber}
Critter mower42For (Hit pos){Grid[pos]=dead}
Avatar43
Sprint Conclusion44 Generic technique Know them but… Do something else Mobile > FarCry Requirement
Sprint IV45
Multiplayer and networking Network tools UDP vs TCP Peer2Peer Network interpolation From 50k to 5k / sec46
Latency Built-in Network tools Latency metrics47
Built-in network metrics48
Network tools Microsoft Network Monitor49
Network tools Network Emulator for Windows Toolkit Latency Packet loss Network errors50
Network tools http://wanem.sourceforge.net/51
Network techniques High Bandwidth Intervals CPU Hog Limit packet size Latency Kills Network interpolation Predict p...
Sprint Conclusion53 Make networking behave Use networking tools to simulate latency Use interpolation for position of m...
In the meantime in R&D…54
Using 2D in a 3D game Flash Display List 50% CPU on Android Starling Easy to Implement 6% CPU Can’t block Click55
ASC 256 Better Incremental build by default Swf size (-35%) Performance (+15%) Stricter compilationvar Roger:uint = -...
Other choices57 Red Tamarin Updating as we speak API on top of Redux https://code.google.com/p/redtamarin/ Play Scrip...
Less known features ANE GameCenter InApp purchase Push Notifications Rate this app flasCC Epic citadel Existing Al...
GLSLTo AGAL compiler GLSL2AGAL https://github.com/adobe/glsl2agal Existing Shaders No need to go low-level! Some rece...
Stage3D Modes Facebook https://www.facebook.com/groups/stage3d/ Extended July: Rectangular textures Texture size : 4...
Do it ! Be Agile Fail Fast Be Proactive Create Issues Be Different Tailor Flash Be Creative This is The Creativity...
SESSION SURVEY on the MAX COMPANION app …for your chance to Win e-Books Win Apple iPod Nano.62
63
Mastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devices
Upcoming SlideShare
Loading in …5
×

Mastering Multiplayer Stage3d and AIR game development for mobile devices

2,038 views

Published on

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.

  • Be the first to comment

Mastering Multiplayer Stage3d and AIR game development for mobile devices

  1. 1. 1
  2. 2. Frima Studio2
  3. 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. 4. Sprint Oriented Session4
  5. 5. Brainstorm Workshop5
  6. 6. Overview - Brainstorm Workshop Target device Technology to use Flash Stage3D vs other technologies Past Adobe Timeline recap Art adjustment from initial prototype6
  7. 7. Target device Cross-Platform Web iPad2 and up for iOS Nexus 7 and up on Android Sub-Platforms Amazon OUYA SHIELD7
  8. 8. Android Performance 30 cycles = 9 FPS Epic Citadel Shadowgun Dead Trigger8
  9. 9. Profiling and Debugging tools9Adobe ScoutNVIDIA PerfHUD ESIntel GPA
  10. 10. Technology Engine Connected backend ActionScript programmers Seamless ports High risks Heavily change renderer Number of enemies on screen Crowd system10
  11. 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. 12. Art adjustment Art problems A guy allergic to peanuts Who probably lives with his mother Art = later Placeholders12
  13. 13. Adobe Gaming Recap13
  14. 14. Brainstorm Conclusion14 Recap It’s cold where we work Target iPad2, Tegra3, Web Android GPU performance reality check Profiling tools are your friends Yes! We use Flash!
  15. 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. 16. Sprint I16
  17. 17. Overview – Sprint I Feature Creep Animation Driven Locomotion Gameplay Placeholder everything Attack without animation Basic Character movement17
  18. 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. 19. Character motion (ADL) Problem Foot sliding Solution Animation Driven Locomotion How Tools and exporter20
  20. 20. Foot Sliding21 3d Studio Max exporter using AMF C++
  21. 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. 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. 23. Sprint II25
  24. 24. Frame by frame animation Inspired by Quake Cons Bigger file Lots of buffers No IK Solver Pro Faster26
  25. 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. 26. Networking in IceField28var xml:XML = describeType(cTransform);…<variable name="mBaseDamage" type="Number"><metadata name="Customizable"><arg key="type" value="decimal"/><arg key="label" value="Base Attack Dmg"/><arg key="min" value="0"/></metadata><metadata name="Network"/></variable>
  27. 27. Networked crowd Network everything! Easy But 50k/sec29
  28. 28. Networking in IceField30 Getter and Setter Data synchronisation Pre-Processor
  29. 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. 30. Sprint III32
  31. 31. Overview – Sprint 333More…More Crowd for me……
  32. 32. ZombieTycoon34What they remember:• 2000 Zombies• Stage3DWhat they should…• Intel i7• Dedicated video cardAnd now:• Mobile• Networked
  33. 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. 34. Crowd movement36Will not work on
  35. 35. Critter mower38 Worked but too heavy Sword as collider Sphere collider Solution Pre-Computed hits position Per Animation Per Frame
  36. 36. 39Critter mower
  37. 37. Critter mower40
  38. 38. Critter mower41For (Crowd pos){Grid[pos]=beiber}
  39. 39. Critter mower42For (Hit pos){Grid[pos]=dead}
  40. 40. Avatar43
  41. 41. Sprint Conclusion44 Generic technique Know them but… Do something else Mobile > FarCry Requirement
  42. 42. Sprint IV45
  43. 43. Multiplayer and networking Network tools UDP vs TCP Peer2Peer Network interpolation From 50k to 5k / sec46
  44. 44. Latency Built-in Network tools Latency metrics47
  45. 45. Built-in network metrics48
  46. 46. Network tools Microsoft Network Monitor49
  47. 47. Network tools Network Emulator for Windows Toolkit Latency Packet loss Network errors50
  48. 48. Network tools http://wanem.sourceforge.net/51
  49. 49. Network techniques High Bandwidth Intervals CPU Hog Limit packet size Latency Kills Network interpolation Predict position Smoother results52
  50. 50. Sprint Conclusion53 Make networking behave Use networking tools to simulate latency Use interpolation for position of moving objects Implement networking monitors
  51. 51. In the meantime in R&D…54
  52. 52. Using 2D in a 3D game Flash Display List 50% CPU on Android Starling Easy to Implement 6% CPU Can’t block Click55
  53. 53. ASC 256 Better Incremental build by default Swf size (-35%) Performance (+15%) Stricter compilationvar Roger:uint = -1;var Wilfrid:int = 0xffffffff;
  54. 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. 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. 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. 57. Stage3D Modes Facebook https://www.facebook.com/groups/stage3d/ Extended July: Rectangular textures Texture size : 4096 What’s next? http://www.adobe.com/go/flashplayer_roadmap I heard that… But…60
  58. 58. Do it ! Be Agile Fail Fast Be Proactive Create Issues Be Different Tailor Flash Be Creative This is The Creativity Conference61
  59. 59. SESSION SURVEY on the MAX COMPANION app …for your chance to Win e-Books Win Apple iPod Nano.62
  60. 60. 63

×