O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Mercado de jogos
“Segundo a PricewaterhouseCoopers, o mercado mundial de
jogos digitais movimentou U$57 bilhões em 2010, e...
Participação no mercado
Participação no mercado
Faturamento de empresas brasileiras
Áreas de aplicação
Jogos Educacionais
Advergames
Pesquisa
Simuladores
Entretenimento
Etc…
O que são Game Engines?
Engines são “kits” para desenvolvimentos de jogos
utilizados para aproveitar algumas característic...
Game Engines para Linux
• LibGDX - Java
• Cocos2d-X - C++
• MonoGame – C#
Projeto Mono
O mono é um projeto open-source
originalmente criado pela Novell e
atualmente mantido pela Xamarin para
criar...
Plataforma de Desenvolvimento
O que é MonoGame?
Engine open-source baseada no
OpenTK (OpenAL, OpenGL) para
desenvolvimento de jogos em C# com
uma API un...
Features
Multiplataforma (Android, iOS, Windows, Mac, Linux,
Windows Phone, Playstation 3, 4 e Vita, Xbox 360,
Raspberry P...
Amplo suporte da comunidade
Diversos sites e fóruns voltados a temas específicos do
MonoGame e XNA:
monogame.net
programad...
Requisitos no Linux
MonoDevelop;
Mono MDK;
MonoGame;
Placa de vídeo compatível com OpenGL 2.0.
Comando para instalação dos...
Site MonoGame
Site com fórum, wiki,
documentação e acesso
ao repositório para com
o código fonte da
engine.
http://www.mon...
Jogos feitos pela comunidade
Vídeo
Renderização de Imagens
Renderização de Imagens
Antes de tratarmos deste assunto, conferir abaixo o significado de
alguns jargões que utilizamos c...
Renderização de Imagens
Sistema de coordenadas de uma cena
Animação
Sistemas de Colisão
Colisão Bounding Box
Colisão Bounding Sphere
Colisão por Pixels
Scrolling
Técnica de Side Scrolling
Técnica de Parallax Scrolling
Vídeo
Arquitetura de um jogo
Ao se criar um projeto, são gerados dois arquivos:
Program.cs
Game1.cs
Arquitetura de um jogo
Código do Program.cs:
static void Main(string[] args)
{
using (Game1 game = new Game1())
{
game.Run...
Arquitetura de um jogo
Classe “Game”:
É a classe central da arquitetura
Tem, internamente, um game loop chamado a cada
1/6...
Game1.cs
• public Game1() : Construtor – cria os objetos Graphics e Content
• Métodos chamados pela classe Game (“Eventos”...
Game Loop
Initialize() LoadContent()
Update() Draw()
UnloadContent()
Vídeo
Ferramentas Avançadas
Compactação de texturas:
ShoeBox - http://renderhjs.net/shoebox/
Editor de mapas com tiles:
Tiled - ...
Ferramentas Avançadas
Utilização de repositório Git:
Source Tree e Bitbucket - https://bitbucket.org/
Edição de áudio:
Aud...
Conclusão
Desvantagens
Requer conhecimentos (ou dedicação nos estudos)
no processo de desenvolvimento de jogos em
“baixo” nível (eng...
Vantagens
Simplifica o processo de desenvolvimento
multiplataforma;
Boas APIs de física;
Debug em tempo real;
Muitos códig...
Por onde começar
MonoGame Website
http://www.monogame.net/
http://www.monogame.net/documentation
Obrigado a todos!
Sinextra Game Studio
BelJogos
FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame
Próximos SlideShares
Carregando em…5
×

FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame

660 visualizações

Publicada em

Palestra explicando conceitos sobre o desenvolvimento e a utilização do framework MonoGame para criação de jogos em ambiente Linux.

Publicada em: Software
  • @Lucas Mousinho Opa! Sei como é rsrsrs. E vi algumas entrevistas suas. Parabéns e muito sucesso! Eu acabei deletando a mensagem porque revi a palestra e vi a fonte, mas não específica como no link que enviou. Muito grato!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Olá Narto, de fato o MonoGame é um framework, que utilizamos para construir a engine para o nosso jogo, eu que costumo misturar os termos as vezes, hehehe. Quanto a fonte, tirei do relatório da GEDIGames, que pode ser visto nesse link: http://www.bndes.gov.br/SiteBNDES/bndes/bndes_pt/Galerias/Arquivos/conhecimento/seminario/seminario_mapeamento_industria_games042014_Relatorio_Final.pdf . No mais, agradeço pelo feedback!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Gostei da palestras, mas você só pecou em falar que Mono é uma Game Engine e no mesmo texto dizer que é uma implementação de um framework... O próprio site do MonoGame o cita como framework...
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

FLISOL 2015 - Desenvolvimento de jogos para Linux com MonoGame

  1. 1. Mercado de jogos “Segundo a PricewaterhouseCoopers, o mercado mundial de jogos digitais movimentou U$57 bilhões em 2010, enquanto o de cinema, U$ 31.8 bilhões. Em 2011 o setor movimentou U$ 74 bilhões, e as previsões indicam que deverá ultrapassar U$ 82 bilhões em 2015. Em 2013, apenas o lançamento do jogo GTA V, que teve o custo de U$ 225 milhões, faturou U$ 800 milhões em 24 horas, um recorde na história de produtos de entretenimento. O jogo Angry Birds já foi instalado em 500 milhões de celulares. No Brasil, estima-se que o mercado já esteja perto de U$ 3 bilhões.” Fonte: Relatório final - GEDIGames 2014
  2. 2. Participação no mercado
  3. 3. Participação no mercado
  4. 4. Faturamento de empresas brasileiras
  5. 5. Áreas de aplicação Jogos Educacionais Advergames Pesquisa Simuladores Entretenimento Etc…
  6. 6. O que são Game Engines? Engines são “kits” para desenvolvimentos de jogos utilizados para aproveitar algumas características comuns e presentes em todos os games. As engines normalmente implementam física, renderização de imagens, interação com arquivos multimídia, partículas e etc. Elas funcionam como um motor do jogo (por isso o nome engine), sendo responsável por todas as funcionalidades de “baixo nível” que o jogo precisa, como por exemplo, o “refresh” da tela com base no FPS, reações de objetos físicos, carregamento de texturas e etc.
  7. 7. Game Engines para Linux • LibGDX - Java • Cocos2d-X - C++ • MonoGame – C#
  8. 8. Projeto Mono O mono é um projeto open-source originalmente criado pela Novell e atualmente mantido pela Xamarin para criar um conjunto de ferramentas compatíveis com a plataforma .NET, incluindo, entre outras ferramentas, um compilador de C#, compatíveis com ambientes Linux, BSD, OS X, Windows, Solaris, Android e também consoles como Playstation 3, 4, Vita, Wii e Xbox 360.
  9. 9. Plataforma de Desenvolvimento
  10. 10. O que é MonoGame? Engine open-source baseada no OpenTK (OpenAL, OpenGL) para desenvolvimento de jogos em C# com uma API unificada que funciona da mesma forma em todas as plataformas suportadas (Android, Windows, Mac, Linux, iOS). Implementando a interface do Microsoft XNA, o que permite uma fácil portabilidade dos jogos desenvolvidos nativamente no framework.
  11. 11. Features Multiplataforma (Android, iOS, Windows, Mac, Linux, Windows Phone, Playstation 3, 4 e Vita, Xbox 360, Raspberry Pi); Utilização da OpenGL para gráficos 2D e 3D; Conjunto de ferramentas de suporte; Diversos livros e tutoriais na internet; Forte apoio da comunidade.
  12. 12. Amplo suporte da comunidade Diversos sites e fóruns voltados a temas específicos do MonoGame e XNA: monogame.net programadoresdejogos.com unidev.com.br rbwhitaker.wikidot.com
  13. 13. Requisitos no Linux MonoDevelop; Mono MDK; MonoGame; Placa de vídeo compatível com OpenGL 2.0. Comando para instalação dos requisitos no Ubuntu
  14. 14. Site MonoGame Site com fórum, wiki, documentação e acesso ao repositório para com o código fonte da engine. http://www.monogame.net
  15. 15. Jogos feitos pela comunidade
  16. 16. Vídeo
  17. 17. Renderização de Imagens
  18. 18. Renderização de Imagens Antes de tratarmos deste assunto, conferir abaixo o significado de alguns jargões que utilizamos com frequência para gráficos em 2D: Texturas Sprites Background Tiles
  19. 19. Renderização de Imagens Sistema de coordenadas de uma cena
  20. 20. Animação
  21. 21. Sistemas de Colisão
  22. 22. Colisão Bounding Box
  23. 23. Colisão Bounding Sphere
  24. 24. Colisão por Pixels
  25. 25. Scrolling
  26. 26. Técnica de Side Scrolling
  27. 27. Técnica de Parallax Scrolling
  28. 28. Vídeo
  29. 29. Arquitetura de um jogo Ao se criar um projeto, são gerados dois arquivos: Program.cs Game1.cs
  30. 30. Arquitetura de um jogo Código do Program.cs: static void Main(string[] args) { using (Game1 game = new Game1()) { game.Run(); } }
  31. 31. Arquitetura de um jogo Classe “Game”: É a classe central da arquitetura Tem, internamente, um game loop chamado a cada 1/60 de segundo (default, 60FPS)
  32. 32. Game1.cs • public Game1() : Construtor – cria os objetos Graphics e Content • Métodos chamados pela classe Game (“Eventos” do jogo) • Initialize() : Inicializa recursos lógicos não gráficos • LoadContent() : Utilizada para carregar recursos • UnloadContent() : Chamada para liberar recursos • Game Loop: l Update(GameTime gameTime) : Onde se constroe a lógica do jogo (cálculos) l Draw(GameTime gameTime) : Utilizado para carregar as rotinas de desenho em uma tela
  33. 33. Game Loop Initialize() LoadContent() Update() Draw() UnloadContent()
  34. 34. Vídeo
  35. 35. Ferramentas Avançadas Compactação de texturas: ShoeBox - http://renderhjs.net/shoebox/ Editor de mapas com tiles: Tiled - http://www.mapeditor.org/ Gerador automático de sonoplastia: SFXr - http://www.drpetter.se/project_sfxr.html
  36. 36. Ferramentas Avançadas Utilização de repositório Git: Source Tree e Bitbucket - https://bitbucket.org/ Edição de áudio: Audacity - http://web.audacityteam.org/ Composição de trilha sonora: Linux MultiMedia Studio - https://lmms.io/ Edição de imagens: Gimp - http://www.gimp.org/
  37. 37. Conclusão
  38. 38. Desvantagens Requer conhecimentos (ou dedicação nos estudos) no processo de desenvolvimento de jogos em “baixo” nível (engine de média complexidade).
  39. 39. Vantagens Simplifica o processo de desenvolvimento multiplataforma; Boas APIs de física; Debug em tempo real; Muitos códigos de exemplo; Destaque na comunidade; Open-source.
  40. 40. Por onde começar MonoGame Website http://www.monogame.net/ http://www.monogame.net/documentation
  41. 41. Obrigado a todos! Sinextra Game Studio BelJogos

×