Semana Interop: Desenvolvimento de Games Multi-Plataforma com .NET

885 views
790 views

Published on

Desenvolvimento de Games Multi-Plataforma com .NET
Uso do mono em games, Unity3D , MonoGames, Exemplos

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
885
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Semana Interop: Desenvolvimento de Games Multi-Plataforma com .NET

  1. 1. Desenvolvimento de Games Multi-Plataforma com .NET
  2. 2. binhara@monobrasil.org www.hoplon.com voidribeiro@gmail.com bihaiko@gmail.com
  3. 3. Agenda − − − − A história de um Jogo Por que usar Mono/.Net em jogos? Quem usa? Demo
  4. 4. A História de um Jogo
  5. 5. História de um Jogo − − − − − − Idéia Própria ou Remake Brainstorm (levantamento de idéias) GDD (especificação) Pré-Produção Marketing, Produção, Comercial, Estratégico, etc 3 Atividades Simultâneas (operacional) − Game Design: Iterativo, Revisão, Novas Features, etc − Arte: Concepts, Modelagem 3D, Animação, Som, etc − Desenvolvimento: Código, Ferramentas, QA − Lançamento
  6. 6. Tamanho do Jogo (Esforço) − Gigantes − MMOs (conteúdo) − RPGs − Grandes − Simuladores − Ação − Pequenos − Casuais − 2D/3D (simples) − GamePlay Simples
  7. 7. 7
  8. 8. Por que Mono em Jogos?
  9. 9. http://tirania.org/blog/archive/2008/Nov-03.html http://go-mono.com/docs/index.aspx?tlink=0@N%3aMono.Simd http://tirania.org/blog/archive/2008/Nov-03.html http://tirania.org/blog/archive/2008/Feb-26.html MONO.SIMD SencondLive mudou do LSL para Mono - 50x a 300x mais rápido 9
  10. 10. 10
  11. 11. 11
  12. 12. Display • • • • • • Rendering Shading Scene Animation Geometry GUI Simulation • • • • Physics Collision Particles Terrain Game Logic • World rules • Enemy AI • User control • Camera • Behavior Support • Audio • Input • Networking
  13. 13. Games are real-time programs  Input • User control • Network events AI • Scripted, slow • React to change • Update scene Updates • Render Graphics • Play audio
  14. 14. Fully Dynamic Easy Productivity C#/Java C/C++ Assembly Language Difficult Slow Performance Fast
  15. 15. Moving from scripting to static/compiled       
  16. 16. At the core of gaming engines  UpdatePos (Vector3f [] points, ref Vector3f delta) { for (int i = 0; i < points.Length; i++) points [i] += delta; } xi yi zi + δx δy δz = xi+δx yi+δy zi+δz Vector3f static operator + (Vector3f a, Vector3f b) { return new Vector3f (a.x+b.x, a.y+b.y, a.z+b.z); }
  17. 17. SIMD aware runtime    C# Detec t SIMD use IL x86 • pos += delta •call [Mono.Simd]Mono.Simd.Vector4f::op_Addition( valuetype [Mono.Simd]Mono.Simd.Vector4f, valuetype [Mono.Simd]Mono.Simd.Vector4f) •movups (%eax),%xmm0 •movups (%edi),%xmm1 •addps %xmm1,%xmm0 •movups %xmm0,(%eax)
  18. 18. Developer created tests
  19. 19. Physics simulations, no optimizations Based on the C++ simulation code at sharp-gamedev.blogspot.com/2008/09/updated-c-version.html
  20. 20. Quem usa?
  21. 21. 21
  22. 22. 22
  23. 23. FusionFall - MMOG http://www.fusionfall.com http://br.video.yahoo.com/watch/4169603/11222611#MAGIC
  24. 24. Super Volei Brasil - Casual
  25. 25. 25
  26. 26. 26
  27. 27. 27
  28. 28. Demo Torment
  29. 29. Torment (Remake) – FluidPlay
  30. 30. Torment (Remake) – FluidPlay
  31. 31. Torment (Remake) – FluidPlay
  32. 32. Torment (Remake) – FluidPlay
  33. 33. Torment (Remake) – FluidPlay
  34. 34. Torment (Remake) – FluidPlay
  35. 35. Torment (Remake) – FluidPlay
  36. 36. Torment (Remake) – FluidPlay

×