Metroid Learning – DEV – Quality of Life changes

In this blog, a list of the latest project related changes is given.

Developement Log

Quality of Life changes.

  • The project structure is now a lot cleaner (i.e. dedicated sub-folders were created).
    • Alongside the project structure, saving and loading of files has been adapted to enable such a structure.
    • The ennards of the saving and loading algorithms have been improved to work more efficiently.
  • The code of the core script and its helper scripts was optimized.
    • Unnecessary variables were removed.
    • Error-handling has been implemented (in case loading a file was cancelled).
    • The mutate function now uses the power of recursion.
  • The UI has been updated.
    • The restart button is now visible and does not hide behind another button anymore.
    • All shown information is easier to read due to improved spacing.
    • The interface fits better into the console.

 

Notes

The game.lua script is the final step in this development stage. As soon as all of its quickfixes turn into actual fixes, I deem the project complete and move on to a small social experiment.

 

Results

Something fascinating happened. The AI found an exploit in my fitness algorithm. I basically set the rules of how the AI should learn to play as followed: Move. As long as the AI moved in any direction, it would get points and the automatic timeout would reset. After 20 generations of training, the AI realized how my score system worked – and quickly found its strategy to score infinitely, as shown in the video below. The window on the bottom left shows the ever-growing score value (however, the text is unfortunately very small; the UI update happened after the recording).

On the one hand, this shows that the ability to explore and exploit is a success. On the other hand, this also shows that I need to re-write my algorithm, until the AI finds a new exploit in the system.

 

No more bonus content. At this point I clearly overdid it with the Metroid content. It was fun while it lasted.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

zwölf − drei =