Torneio de Robocode

- Evento: ERI-GO 2026 (IFG Jataí — Unidade Flamboyant) - Transmissão online
- Data e Horário: Quinta-feira, 19 de novembro de 2026, das 14h00 às 17h00
- Categoria: MicroBot (código compilado até 750 bytes)
- Versão do Robocode: 1.12.0
- Formato de Equipe: 1 a 2 pessoas (ao menos um membro inscrito e presente no ERI-GO)
- Prazo de Inscrição: Até 16 de novembro de 2026 às 08h00 via Formulário Google
- Arena de Batalha: Padrão (800 × 600 pixels)
- Modalidade: Torneio presencial, mas com participação on-line excepcionalmente para equipes não residentes nos Estados de Goiás e Distrito Federal (DF).
Informações Gerais
Data: Quinta-feira, 19 de novembro de 2026
Horário: 14h00-17h00
Local: Instituto Federal de Goiás (IFG), Campus Jataí, Unidade Flamboyant.
Regras
Definição dos grupos: Através do ranqueamento pelo desempenho médio em 100 rodadas (round) contra os bots Crazy, Corners, e Walls.
Tamanho dos grupos: Serão realizados os chaveamentos para as batalhas (battle) em grupos de quatro bots. Apenas dois bots passam para a próxima fase. Na eventualidade de um grupo sorteado com apenas três bots, o quarto bot dessa batalha será o Crazy (passando para a próxima fase apenas os dois melhores bots inscritos).
Quantidade de batalhas: Em cada batalha, ocorrerão 3 rodadas com transmissão ao vivo no local do evento durante o torneio. A partir das quartas-de-final, ocorrerão 5 rodadas em cada batalha.
Tamanho do Robô: MicroBot (código até 750 bytes).
Versão do Robocode: 1.12.0 (Disponível no site oficial da plataforma).
Grupos: de 1 a 2 pessoas.
Participação: Grupos de 1 a 2 pessoas, havendo a participação no torneio condicionada à inscrição de um dos membros do grupo na Escola Regional de Goiás (ERI-GO). É necessário que ao menos um dos membros do grupo esteja presencialmente no ERI-GO no dia do torneio e que ele esteja devidamente inscrito no evento.
Torneio presencial, mas com participação on-line excepcionalmente para equipes não residentes nos Estados de Goiás e Distrito Federal (DF).
A participação (e presença) de todos os alunos matriculados na disciplina de Inteligência Artificial (ICE0627), do Bacharelado em Ciência da Computação (BCC) da Universidade Federal de Jataí (UFJ), sob responsabilidade do Prof. Esdras Bispo Jr., é obrigatória. A participação nesse torneio será considerada como um desafio avaliativo (conforme previsto no plano de ensino da disciplina).
Uso de agentes de inteligência artificial para a criação do bot: Este é um espaço pensado para que haja muita diversão e muita aprendizagem. Não há desejo algum de que este seja um torneio de quem encontre o melhor bot "na internet" e vença a competição. Explore essa oportunidade como uma chance de aprender mais sobre agentes inteligentes, implementação de software, e ter um pouco mais de experiência com o desenvolvimento de sistemas baseados em eventos. Utilize ferramentas de inteligência artificial (e.g., ChatGPT, DeepSeek, CoPilot) para contribuir na evolução do seu aprendizado, e não o oposto. Uma formação crítica é muito mais interessante para o seu futuro do que uma dependência cega de ferramentas como essas.
Pesagem do Robô
Para participar do torneio, o seu robô deverá ter, no máximo, o tamanho de um MicroBot, ou seja, até 750 bytes de código.
A pesagem deve ser feita sobre o arquivo .class compilado do robô, e não diretamente sobre o arquivo .java.
Você pode realizar a pesagem utilizando a ferramenta Codesize, que já está disponível dentro da pasta do Robocode.
Passo a passo
1. Compile o seu robô
Primeiro, desenvolva e compile normalmente o seu robô no Robocode.
Ao final, você deverá ter um arquivo .class correspondente à classe principal do seu robô.
Por exemplo, supondo que o seu robô se chame MeuRobo, você deverá encontrar algo semelhante a:
MeuRobo.class
dentro da pasta robots da instalação do Robocode.
2. Abra um terminal na pasta principal do Robocode
Entre na pasta que contém a instalação do Robocode.
Por exemplo:
robocode/
├── libs/
├── robots/
├── config/
└── ...
O terminal deverá estar aberto na raiz dessa pasta, isto é, na mesma pasta que contém libs e robots.
3. Execute o Codesize
O comando básico para pesar um robô é:
java -cp "./libs/*" codesize.Codesize ./robots/MeuRobo.class
Substitua MeuRobo.class pelo nome e pelo caminho do arquivo .class do seu robô.
Por exemplo:
java -cp "./libs/*" codesize.Codesize ./robots/sample/Crazy.class
4. Confira o valor apresentado na coluna size
A ferramenta apresentará uma tabela semelhante a:
Code Class Class
Nr size size files Location
--------------------------------------------------------------------
1 223 1721 1 Crazy.class
Para a pesagem do torneio, considere o valor apresentado na coluna Code size.
No exemplo acima:
Crazy.class → 223 bytes
Portanto, esse robô está dentro do limite de MicroBot.
É possível pesar vários robôs de uma vez
Você também pode informar vários arquivos .class no mesmo comando.
Por exemplo:
java -cp "./libs/*" codesize.Codesize ./robots/sample/Crazy.class ./robots/sample/Walls.class ./robots/sample/Fire.class
A saída será semelhante a:
Code Class Class
Nr size size files Location
--------------------------------------------------------------------
1 173 1727 1 Fire.class
2 186 1588 1 Walls.class
3 223 1721 1 Crazy.class
Observe que a ferramenta pode apresentar os arquivos em uma ordem diferente daquela utilizada no comando. Portanto, confira sempre a coluna Location para saber a qual robô pertence cada valor.
Nesse exemplo:
| Robô | Code size |
|---|---|
| Crazy.class | 223 bytes |
| Walls.class | 186 bytes |
| Fire.class | 173 bytes |
Os três são NanoBots, pois possuem menos de 250 bytes de código.
Para este torneio, entretanto, o limite será mais amplo: serão aceitos robôs com até 750 bytes, permitindo a participação de MicroBots.
Como saber se o meu robô está dentro do limite?
A regra é simples:
Code size ≤ 750 bytes → ROBÔ APTO
Code size > 750 bytes → ROBÔ NÃO APTO
Por exemplo:
MeuRobo.class → 638 bytes
Como 638 ≤ 750, o robô está dentro do limite.
Já:
MeuRobo.class → 812 bytes
Como 812 > 750, o robô ultrapassa o limite e não poderá participar.
Atenção: pese o .class correto
A pesagem deve ser feita sobre o arquivo .class que será utilizado pelo Robocode.
Não utilize:
- o tamanho do arquivo
.java; - o tamanho mostrado pelo gerenciador de arquivos;
- o tamanho total da pasta do projeto;
- o tamanho do arquivo
.jar; - o tamanho de todos os arquivos da instalação do Robocode.
Utilize o valor de Code size apresentado pelo Codesize para o arquivo .class do seu robô.
Dica
É recomendável realizar a pesagem antes da inscrição, para verificar se o seu robô está dentro do limite de 750 bytes.
MUITO CUIDADO!!!: Se o robô estiver acima do limite, você não terá tempo para simplificar o código e realizar uma nova pesagem. Assim, a sua inscrição no torneio será indeferida.
Para os alunos matriculados na disciplina de IA do BCC da UFJ, o não-envio correto (ou o não-envio) do robô da sua equipe será considerado uma desistência de realização desse desafio e afetará, consequentemente, o seu índice de comprometimento na disciplina.
Datas importantes
- Inscrição do bot: até dia 16 de novembro de 2026, às 8h da manhã, via Formulário do Google.
- Torneio: 19 de novembro de 2026, das 14h00 às 17h00.
Premiação
Todos os participantes receberão uma singela lembrança.
Tutoriais e Outros Recursos
- Página Oficial do Robocode:
https://robocode.sourceforge.io/ - Documentação Oficial do Robocode:
https://robowiki.net/wiki/Main_Page - Manual do RoboCode (Prof. Helder Linhares Bertoldo dos Reis - UFJF):
https://wiki.sj.ifsc.edu.br/images/7/73/ITL60801-Robocode-Manual2.pdf - Curso de Robocode no Youtube em 4 aulas com o Prof. José de Assis (Senac-SP):
Acessar Playlist - Curso de Robótica com RoboCode (Centro Paula Souza):
http://www.robotica.cpscetec.com.br/material.php?ano=2025&atv=6 - Curso de RoboCode do Prof. Adam Bignold (in English):
Acessar Playlist - Robocode Crash Course com o Prof. Spencer (in English):
Acessar Playlist
E-mail de contato: bispojr@ufj.edu.br
