introdução técnicas de análise de domínio o domínio dos jogos rpgt commander assembler...

19
Commander Assembler Uma Fábrica de Jogos de RPG Táticos Utilizando Linguagens de Domínio Específico Por: Eduardo Wagner

Upload: internet

Post on 18-Apr-2015

124 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

Commander Assembler

Uma Fábrica de Jogos de RPG Táticos Utilizando Linguagens de Domínio Específico

Por: Eduardo Wagner

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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

Page 5: 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

Commander Assembler

Processo Fabril

• Objetiva aumentar o nível de abstração do desenvolvimento

• Linhas de Produção• Automação• Reuso

Page 6: 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

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

Page 7: 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

Commander Assembler

Feature-Oriented Domain Analysis - FODA

• Baseado nas funcionalidades• Feature-Model• Abstração, generalização e parametrização

Page 8: 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

Commander Assembler

O Domínio dos Jogos de RPG Táticos

RPG Estratégia RPGT

Page 9: 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

Commander Assembler

Jogos Analisados

• UFO: Enemy Unknown™• Final Fantasy Tactics™• Front Mission 3™• Vandal Hearts 2™• Vanguard Bandist™• Suikoden Tactics ™ (validação)

Page 10: 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

Commander Assembler

Feature ModelX

Page 11: 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

Commander Assembler

Feature Model

Page 12: 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

Commander Assembler

Feature Model

Page 13: 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

Commander Assembler

Modelo E-R

RPGT Game

Has Screen

MiscellaneousIn-GameMenuSquad Deployment

Has

Map Has Tile

Has

Team PlayerItem

Unit

HasHas

Has

Skill

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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

Page 17: 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

Commander Assembler

Demo

Page 18: 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

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

Page 19: 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

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