Industria de jogos – Uma da mais lucrativas do mundo – Grandes Desafios – Industrialização...

Post on 18-Apr-2015

107 views 1 download

Transcript of Industria de jogos – Uma da mais lucrativas do mundo – Grandes Desafios – Industrialização...

Commander Assembler

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

Por: Eduardo Wagner

Commander Assembler

Roteiro

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