Learning Enemy

Направете 2D игра по ваш избор, в която един или повече врагове се учат от играча и с времето започват да го затрудняват повече.

  • Играта може да е shooter, arena, dodge, maze, platformer или друг малък 2D формат.
  • Важно е да има враг или врагове, които наблюдават поведението на играча и променят стратегията си чрез идеи като N-gram, heatmap, Q-table или малък perceptron.
  • Предавате работещ build, LEARNING_TRACE.md и кратко replay/GIF, в което се вижда промяната.
Corridor Duel concept art

Това е само примерна посока, не задължителен жанр: малка арена, карта на движенията и враг, който променя начина си на атака.

Задължително

Следа от учене

Трябва ясно да се вижда как врагът се променя с времето и защо играта става по-трудна.

Какво точно се очаква

  • Играчът прави едни и същи или сходни движения, а врагът започва да ги разпознава чрез pattern matching, N-gram анализ, heatmap или друг ясен механизъм.
  • След това врагът променя стрелба, посока, позициониране, скорост, капани или избор на цел на база на наученото.
  • Резултатът трябва да е видим в самата игра, а не само описан в markdown.
  • Не е нужно да ползвате сложен ML, но трябва да има реално учене от данни за играча, а не фиксиран предварително pattern.

Какво работи добре

Примерни начини за учене

  • N-gram на движенията: врагът пази последните WASD ходове на играча, опитва се да предскаже следващата посока и стреля там.
  • Карта на движенията: врагът натрупва кои зони се посещават най-често и започва да цели или пази точно тези места.
  • Промяна на поведение според навика: ако играчът често бяга вляво, стои близо до стени или влиза през едни и същи коридори, врагът измества позиция, timing или вида атака, за да го пресече.

Какво не се брои за учене