tanki online — multiplayer 3d-action in browser
TRANSCRIPT
- 1.
-
- , , 14 2009
Tanki multiplayer 3D-action in browser Anton Volkov, CTO, 14 May 2009 2.
- :
- -
- Alternativa3D 7
- 3D Flash Player 10
- Plan:
- Changing business model
- History
- Tanki Online
- Prototype
- Alternativa3D 7
- Optimization methods
- 3D in Flash Player 10
- Cull unnecessary
- Nonstandard methods
- Physics
- Server
- Production organization
- Summary
3. Adobe MAX 2009 4. Away3D Alternativa3D Papervision3D 5. Signor poliziotto, il mio passaporto stato rubato 6.
- -:
- 3D-Flash
- Changing
- business model:
- Sales of licenses have started
- 3D-Flash market is just forming
- Products on platfom boost market
- Participating in projects
7.
- :
- 7 3D-
- 3
- 2 GUI-
- 2
- Long way
- to technological
- advantage :
- 7 3D-engines
- 3 server engines
- 2 GUI-engines
- 2 physics engines
8. A long time ago, in a city far, far away... 9. Tanks for two 10. 1997 11. 320x200, 256 colors 12. Turbo Pascal 7.0 + Assembler 13. Liza Sharikova City 14. 2005, Flash Player 7 15. Multiuser visual chat 16. Tile-based environment 17. Z- Simple Z-sorting 18. Dynamic lights and shadows 19. 3D Isometric 3D with lighting 20. Perspective view 21. First person view 22. Physics engine 23. Ballance 24. New Year game 25.
- Multiplayer
- 3D
- Action
- In browser
26. Battles 27. Garage 28. Full 3D environment 29. Multiplayer 30. Game prototype 31. Players have shown an interest 32. - ! ! Say NO to demo-effects! Go practice! 33. Myth about simple combination of demos 34.
- :
- Z
- Z-
- BSP, kD, Octree
- Alternativa3D 7
- Main problem
- drawing order:
- Average-Z sorting
- Correcting Z-conflicts
- BSP, kD, Octree
- Subspaces
- All-in-one Alternativa3D 7
35. Calculations optimization algorithms and hacks 36. Memory use optimization 37. Redrawing regions optimization 38. Overlapping optimization 39. Overlapping optimization 40. FPS , Packet size , batch processing 41. FPS , Number of triangles , Performance 42. FPS , Number of triangles Anti-alias 43. Cull unnecessary 44. kD- kD-tree 45. kD- Invisible kD-branches culling 46. Bound-boxes culling 47. Process only conflicted objects 48. Invisible polygons culling 49. Clipping in viewport 50. Result 51.
- :
- PixelBender
- wmode = "gpu"
- Alchemy , ,
- PixelBender ; ,
- HaXe , 40% Vector
- Nonstandard
- methods:
- Hardware acceleration only for PixelBender and not for every videocard
- wmode = "gpu" slow
- Alchemy big, complex structure, data transfer losses
- PixelBender raster effects for small images, data transfer losses for mathematics, multithreading
- HaXe undocumented memory managingmethods, faster up to 40% than Vector
52. Physics is used wide in games 53. AlternativaPhysics AlternativaPhysics 3D physics engine 54. , Fast collision detection, iterative approach 55. , , Quads, triangles, boxes and spheres 56. Tank on suspension 57. OSGi Plugin system based on OSGi on server and client 58.
- Interfaces
- Types
- Codecs
- Behavior models
Code generation
- Type checking
- Auto-completion
- Compile-time errors
Code generator Java- Java-code FlexSDK AS- AS-code SWC 59. Protocol DEFLATE (zlib, gzip) Command code X Y Z Long 8 bytes Number 8 bytes Number 8 bytes Number 8 bytes Command code battleName players Long 8 bytes ShortString 1 byte + N bytes ShortArray of int 1 byte + 4xN bytes Big commands are packedusing DEFLATE (zlib, gzip) algorithm 60. PSD JPG, XML /resource/id/version/image.jpg / Load/unload 100 100 requests 10 10 requests Game resources Dispatcher Developer Resource server Web- Web-server Game server Dispatcher Flash- Flash-client Cache, proxy 61. One level one model 62. Assets 63. AlternativaEditor 64. AlternativaEditor 65. Administration interface 66. Team work orgranization SWF, JAR Bug-reports JPG, MP3 Tasks Docs PSD, WAV AS, JAVA Project User Team User User Jira Confluence SVN Maven 67. 3D- ! Good 3D-gameplay into browser! 68. + Technological partnership your production + our technologies 69. Your invitation for closed test 70. ! Thank you! Anton Volkov [email_address] +7 902 473 1986