Your SlideShare is downloading. ×
0
Desenvolvimento de Games
Multi-Plataforma com .NET
binhara@monobrasil.org

www.hoplon.com
voidribeiro@gmail.com

bihaiko@gmail.com
Agenda
−
−
−
−

A história de um Jogo
Por que usar Mono/.Net em jogos?
Quem usa?
Demo
A História de um Jogo
História de um Jogo
−
−
−
−
−
−

Idéia Própria ou Remake
Brainstorm (levantamento de idéias)
GDD (especificação)
Pré-Produ...
Tamanho do Jogo (Esforço)
− Gigantes
− MMOs (conteúdo)
− RPGs

− Grandes
− Simuladores
− Ação

− Pequenos
− Casuais
− 2D/3...
7
Por que Mono em Jogos?
http://tirania.org/blog/archive/2008/Nov-03.html
http://go-mono.com/docs/index.aspx?tlink=0@N%3aMono.Simd
http://tirania.o...
10
11
Display

•
•
•
•
•
•

Rendering
Shading
Scene
Animation
Geometry
GUI

Simulation

•
•
•
•

Physics
Collision
Particles
Ter...
Games are real-time programs


Input
• User control
• Network
events

AI
• Scripted, slow
• React to
change
• Update scen...
Fully Dynamic
Easy

Productivity

C#/Java

C/C++

Assembly Language

Difficult
Slow

Performance

Fast
Moving from scripting to static/compiled










At the core of gaming engines

UpdatePos (Vector3f [] points, ref Vector3f delta)
{
for (int i = 0; i < points.Length; i+...
SIMD aware runtime





C#
Detec
t
SIMD
use

IL
x86

• pos += delta

•call [Mono.Simd]Mono.Simd.Vector4f::op_Addition(
...
Developer created tests
Physics simulations, no optimizations

Based on the C++ simulation code at
sharp-gamedev.blogspot.com/2008/09/updated-c-ve...
Quem usa?
21
22
FusionFall - MMOG

http://www.fusionfall.com
http://br.video.yahoo.com/watch/4169603/11222611#MAGIC
Super Volei Brasil - Casual
25
26
27
Demo Torment
Torment (Remake) – FluidPlay
Torment (Remake) – FluidPlay
Torment (Remake) – FluidPlay
Torment (Remake) – FluidPlay
Torment (Remake) – FluidPlay
Torment (Remake) – FluidPlay
Torment (Remake) – FluidPlay
Torment (Remake) – FluidPlay
Semana Interop: Desenvolvimento de Games  Multi-Plataforma com .NET
Upcoming SlideShare
Loading in...5
×

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

721

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
721
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×