sexta-feira, 10 de dezembro de 2010

Resumo das próximas tarefas

Com as histórias atuais, devemos:
- Melhorar interface gráfica (imagens, planos de fundo, pensamentos, etc)
- Terminar de escrever os pensamentos

Com as próximas histórias, devemos:
- Escrever as histórias
- Procurar mais modelos 3D
- Guardar a relação de pessoas que se conhecem para alterar o andamento da história.
- Fazer a aparição de algum personagem determinar a próxima página.
- Fazer a aparição de algum personagem influenciar nos pensamentos.

terça-feira, 7 de dezembro de 2010

Assuntos discutidos na reunião de hoje

Sobre a consequência de uma opção

A consequência pode ser lançada no início da próxima págima ao invés de aparecer como popup.

Sobre os pensamentos

Especificação da classe

Pensamentos
Responsabilidades
Atribui um pensamento a um personagem de uma determinada página.
Atributos
TabelaDeSimbolos pensamentos_aleatorios
TabelaDeSimbolos pensamentos_determinados
LeitorDeXML leitor

Especificação do arquivo

Pensamentos aleatórios :
pensamentos_aleatorios
caracteristica
Lista de pensamentos:
pensamento

Lista de pensamentos determinados:
pensamento_determinado
chave
info

Sobre as histórias

"Lógica" das histórias

Para aumentar a interatividade, pensamos em fazer a aparição de um personagem, em um certo trecho da história, determine a próxima página diretamente. Isto é, basta um personagem aparecer junto ao personagem principal para mudar de página.

Pensamos também em guardar a relação dos personagens que se conhecem e o respectivo contexto em que se conheceram ou se viram pela última vez.

Uma ideia que talvez seja estudada mais para frente é estabelecer uma relação entre os pensamentos e aquilo que está interagindo com personagem na tela de realidade aumentada.

Ideias de histórias

Tivemos mais algumas ideias de histórias. Para ver uma síntese delas clique aqui.

domingo, 5 de dezembro de 2010

Decisões e idéias sobre interatividade

- Pensamentos

Decidimos que cada página conterá uma instância da classe Pensamentos(?).
Esse objeto contém os pensamentos dos personagens "relevantes" à respectiva passagem da história, e uma lista de pensamentos genéricos para outros personagens.
Tais pensamentos genéricos estão categorizados de acordo com a personalidade do personagem ao qual se atribuirá um pensamento aleatório.

Isso implica uma mudança na classe Personagem, que deverá ter um atributo "personalidade" ou algo similar.

Assim, se um personagem entra em cena e é importante nesse momento, terá atribuído a si um pensamento específico. Se não, terá um pensamento genérico correspondente a sua personalidade.

- Personagens que se conhecem

Esta é uma idéia de guardarmos quais os personagens que se conhecem, baseado em momentos em que eles apareceram juntos devido à intervenção do usuário. Isto é, se em algum momento o usuário fez a Cinderela e o Lenhador aparecerem na mesma cena, eles se conhecerão. Isto pode afetar o modo como a história se desenrola.

sábado, 4 de dezembro de 2010

Algumas ideias para a implementação dos pensamentos

Acreditamos que a exibição dos pensamentos dos personagens na tela de realidade aumentada será um aspecto importante na interatividade com o usuário.
Queremos criar um mecanismo que selecione os pensamentos a serem exibidos para casa personagem em um dado contexto.

Seguem algumas ideias para implementação desse mecanismo:
  • Cada personagem tem uma tabela de símbolos com o numero da página como chave e o pensamento que aparece nessa página como informação. Se a página atual não estiver na tabela, é sorteado um pensamento aleatório do personagem.
  • Cada página tem uma lista de pensamentos "úteis". Cada pensamento indica a que personagem ele pertence. (Poderíamos ter uma tabela de símbolos com o id do personagem como chave e o respectivo pensamento como informacao). Se um personagem colocado não conta na lista, então é sorteado um pensamento aleatório do personagem.
  • Criar uma classe "Pensamento" (pensamentos aleatórios, pensamentos do protagonista, pensamentos dos personagens interativos). Cada página teria um Pensamento. Quando a tag de um personagem aparece, o pensamento devolveria um texto que será mandado para o personagem. O personagem teria um balãozinho com o texto devolvido.