Doc. de Arquitetura

Introdução

No ano de 3500, os seres do planeta Rohines invadem a Terra em busca de água, algo que há muito já se tornara escasso e motivo para guerras intergalácticas. Nessa busca incansável, os Rohinianos destruíram parte do planeta e poucos seres humanos sobreviveram. Em SpaceWars, o jogador encorpora um dos poucos sobreviventes do Massacre Rohiniano e deve escapar da Terra e ir em direção à Ascarth, um planeta colonizado pelos seres humanos e um abrigo totalmente seguro. Mas para isso, o jogador deverá passar por toda a galáxia e enfrentar as piores raças inimigas que já viu!

Finalidade

Este documento fornece uma visão arquitetural abrangente do sistema, usando diversas visões de arquitetura para representar diferentes aspectos do sistema. O Objetivo deste documento é formalizar as decisões arquiteturais importantes do projeto.

Escopo

Este Documento de Arquitetura se aplica ao desenvolvimento do jogo SpaceWars, que está sendo desenvolvido na disciplina de Desenho de Software, na UnB

Representação da Arquitetura

Diagrama de Arquitetura

Metas e Restrições de Arquitetura

O jogo deve ser jogável em sistemas operacionais Linux e Mac OS X e não requisitar placa de video dedicada. Deve conseguir manter o framerate mínimo de 30 fps e não requisitar mais que 1GB de RAM. A distribuição deve ser gratuita sob licença GPL3, com direito ao código fonte.

Visão de Cenários

Devido ao fato do SpaceWars não ter sido descrito usando casos de uso, aqui, serão utilizados os cenários descritos. O conjunto de cenários a seguir representam a justificativa para a arquitetura proposta:

Cenários Significativos para a Arquitetura

Visualização Lógica

Visão Geral

A aplilcação está divida em, basciamente, três camadas: Engine, Game e Layers.

Visão Lógica

Visão Lógica

Camada Engine

Camada Engine - Pacote action Camada Engine - Pacote enemy Camada Engine - Pacote event Camada Engine - Pacote gunfire

Camada Game

Camada Game - Pacote sprites Camada Game - Pacote scenes

Camada Layer

Camada Layer - Pacote menu Camada Layer - Pacote base_layers

Tamanho e Desempenho

O Software final deve ser menor que 1GB e requisitarmenos de 1GB de RAM para executar com desempenho mínimo de 30fps.