O projeto da disciplina INE5417 (Engenharia de Software I) consiste em um jogo multijogador distribuído desenvolvido em Java através de modelagem orientada a objetos em UML 2 e utilizando a biblioteca NetGamesNRT.
Utilizado como desculpa para produzir um software extensível via linguagem de scripting com interpretador próprio.
Em Archwizard Duel, cada jogador tem ao seu controle um mago com o qual deve provar seu valor ao vencer duelos PvP. O combate acontece em turnos, cada um consistindo na simulação de um intervalo de tempo em uma arena. As ações dos magos são programadas por código escrito pelos jogadores em uma linguagem específica.
Jogos com ideias semelhantes e seus respectivos estilos de controles programáticos:
- Gladiabots (2019) - Fluxogramas
- Robocode (2001) - Java
- Crobots (1985) - C
- RobotWar (1981) - BASIC
- Color Robot Battle (1981) - Assembly
Implementaremos uma pequena linguagem Lisp, isso facilitará parsing e interpretação. Referências na literatura:
- Circular Evaluator - Abelson & Sussman, Structure and Interpretation of Computer Programs
- Bytecode Pattern - Nystrom, Game Programming Patterns
As instruções disponibilizadas incluem um tutorial e a listagem das construções sintáticas e operações primitivas disponíveis na linguagem de Archwizard Duel.