Professional Documents
Culture Documents
Intro
Sou desenvolvedor de games Minha principal rea de atuao na criao de engines e programao de GPU (shaders) Trabalho na Jera Software gil L desenvolvo games de Android em Java/C++ Trabalhando em engine C++ que permita trabalhar com Android, iPhone e Windows simultaneamente (crosscompilation)
Objetivo
Fornecer uma viso geral do desenvolvimento de jogos para Android Quais ferramentas usar Por onde comear
Vikings vs Zombies
Tower defense feito para estudo. 1 game lanado pela Jera
Desenvolvimento
Ferramentas: Eclipse + ADT Emulador (AVD) ou deploy direto no dispositivo
Comeando um projeto
Questes para desenvolvedores de jogos
Delimitar muito bem quais recursos o game ir utilizar: touchscreen/multi-touch D-Pad teclado fsico acelerometro resolues de tela suportadas Saiba qual gerao focar: Primeira gerao? Segunda gerao?
Programando o jogo
Desenvolver games != desenvolver para web Esteja pronto para novos paradigmas
Aplicando no Android
Um pouco de cdigo...
public class GLSurfaceViewActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mGLSurfaceView = new GLSurfaceView(this); mGLSurfaceView.setRenderer(new MeuGameFantastico(false)); setContentView(mGLSurfaceView); } protected void onResume() { super.onResume(); mGLSurfaceView.onResume(); } protected void onPause() { super.onPause(); mGLSurfaceView.onPause(); } private GLSurfaceView mGLSurfaceView; }
Um pouco de cdigo...
class MeuGameFantastico implements GLSurfaceView.Renderer { public void onSurfaceCreated(GL10 gl, EGLConfig config) { // carrega os grficos e recursos do meu game fantstico } public void onDrawFrame(GL10 gl) { // desenha meus grficos fantsticos } public void onSurfaceChanged(GL10 gl, int width, int height) { // atualiza a tela do meu game fantstico } }
OpenGL
OpenGL a API grfica com maior abrangencia no mercado atualmente: Windows, Linux, Mac, etc. OpenGL ES mira sistemas embarcados e outras plataformas mais simples: Android, iPhone, WebGL, ... OpenGL cuida da "conversa" do seu cdigo (normalmente C/C++) com a GPU para acelerar renderizao 2D* e 3D.
Novas tendncias
A capacidade de processamento vai crescer bastante (bom para GLES 2.0) A API nativa j permite desenvolver inteiramente em C++ (udio, input e vdeo) Desenvolver o game pensando em mltiplas plataformas! Pense nisso...
Game Over
asantee.net @decosantee