introdução técnicas de análise de domínio o domínio dos jogos rpgt commander assembler...
TRANSCRIPT
Commander Assembler
Uma Fábrica de Jogos de RPG Táticos Utilizando Linguagens de Domínio Específico
Por: Eduardo Wagner
Commander Assembler
Roteiro
• Introdução• Técnicas de Análise de Domínio• O Domínio dos Jogos RPGT• Commander Assembler Language• Commander Assembler Engine• Demo• Considerações Finais e Trabalhos Futuros
Commander Assembler
Introdução
• Industria de jogos– Uma da mais lucrativas do mundo– Grandes Desafios– “Industrialização” do processo de
desenvolvimento– Migração do processo artesanal para o fabril
Commander Assembler
Processo Artesanal
• Trabalho intensivamente “manual”• Ferramentas (linguagens) genéricas• Processos genéricos• Um tipo de aplicação por vez• Feito a mão do zero• Pouco ou nenhum reuso
Commander Assembler
Processo Fabril
• Objetiva aumentar o nível de abstração do desenvolvimento
• Linhas de Produção• Automação• Reuso
Commander Assembler
Técnicas de Análise de Domínio
• A Atividade de identificar objetos e operações de uma classe de sistemas similares em um domínio particular de problemas
• Reuso da análise e design, não do código• Tornar a informação acessível• Identificar características comuns e variáveis
Commander Assembler
Feature-Oriented Domain Analysis - FODA
• Baseado nas funcionalidades• Feature-Model• Abstração, generalização e parametrização
Commander Assembler
O Domínio dos Jogos de RPG Táticos
RPG Estratégia RPGT
Commander Assembler
Jogos Analisados
• UFO: Enemy Unknown™• Final Fantasy Tactics™• Front Mission 3™• Vandal Hearts 2™• Vanguard Bandist™• Suikoden Tactics ™ (validação)
Commander Assembler
Feature ModelX
Commander Assembler
Feature Model
Commander Assembler
Feature Model
Commander Assembler
Modelo E-R
RPGT Game
Has Screen
MiscellaneousIn-GameMenuSquad Deployment
Has
Map Has Tile
Has
Team PlayerItem
Unit
HasHas
Has
Skill
Commander Assembler
Criação da Fábrica
• Criação da Linguagem Visual
• Criação/Reutilização de um framework
• Criação do gerador de código
Commander Assembler
Criação da Linguagem
• Microsoft Tools for Domain-Specific Languages – DSL Tools– Modelo do Domínio– Notação– Integração– Geração– Serialização
Diagrama
Toolbox
Property Editor
Model Explorer
Validação
Commander Assembler
Criação do Framework
• XNA 3.0• Renderização 2.5D (isométrica)– Gerenciador de Estados– Gerenciador de Entidades– Mapa Isométrico– Gerenciador de Batalhas
• Gerenciador de Movimentação• Gerenciador de Ações
– Biblioteca de Componentes Gráficos
Commander Assembler
Demo
Commander Assembler
Considerações Finais
• Fábricas de software– Custo de construção muito alto– Aumento da performance– Diminuição dos erros– Nivelamento do conhecimento
Commander Assembler
Trabalhos Futuros
• IA• Comunicação• Gráficos 3D• Itens e Eventos• Experiência e lvls• Integração com o Content Pipeline• Suportar novas funcionalidades