raktanaka / tccTD

Basic Tower Defense Game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MAC0499 - TCC - Tower Defense (2021)

Autor:

Descrição

Esse repositório foi criado para armazenar um jogo feito em Godot para experimentos com Algoritmos Genéticos em Criação de Waves. Mais detalhes podem ser encontrados abaixo:

  • O outro jogo criado para comparação (Space Shooter) pode ser encontrado aqui

  • O dataset com os resultados pode ser encontrado aqui.

Atribuições:

  • Os assets utilizados são propriedade de Kenney, utilizados sob CC0 / Modificados do original.

  • A playlist usada para a criação do jogo pode ser encontrada aqui.

  • Os tutoriais usado para embasar a criação do algoritmo genéticos podem ser encontrados aqui (de Ahmed Gad) e aqui (de Vijini Mallawaarachchi)

Função fitness e taxa de mutação:

A função de fitness e mutação tem grande importância na exploração das possíveis soluções do problema, a função fitness irá ditar quem são os indivíduos mais aptos de uma população (selecionar os melhores candidatos) enquanto a taxa de mutação permite que você explore as diversas combinações de indivíduos possíveis, evitando que fique preso em máximos locais nas primeiras interações.

Versões

A diferença entre as versões está na taxa de mutação e na função fitness.

v1

A Função fitness usada na v1 é:

(reached_goal(x) + offset(x)) / 2

reached_goal (x) := se o inimigo x chegou ao final do trajeto (1 se chegou, 0 caso contrário)
offset(x) := quanto do trajeto o inimigo x percorreu.

Taxa de mutação que decrementa com o tempo (começa em 100% e decai 5% a cada iteração, até chegar em 0%)

O código pode ser encontrado aqui.

v2

A Função fitness usada na v2 é:

(hp(x) + offset(x)) / 2

hp (x) := quanto de vida de x sobrou ao final do trajeto (float de 0 a 1, com 1 equivalente a 100%)
offset(x) := quanto do trajeto o inimigo x percorreu.

Taxa de mutação fixa em 1/12 na 1a wave e 1 nas waves seguintes.

O código pode ser encontrado aqui.

v3 (Versão atual)

A função fitness é equivalente a v2 (anterior).

Taxa de mutação constante de 1/12.

About

Basic Tower Defense Game


Languages

Language:GDScript 97.1%Language:GAP 2.9%