Обчислення "сили" гравця в грі типу "Захисти свій замок"


10

Я складаю гру "Захисти свій замок", де кожен гравець має замок і повинен надсилати одиниці, щоб знищити замок противника. Це виглядає приблизно так (і так, це фактична гра, а не швидкий малюнок фарбою ..):

введіть тут опис зображення

Тепер я намагаюся реалізувати AI опонента, і я хотів би створити 4 різні рівні AI: Easy, Normal, Hard і Hardcore. Я ніколи раніше не робив жодного "серйозного" ШІ, і цього разу хотів би створити цілком повний.

Моя ідея полягає в тому, щоб підрахувати показник "потужності" гравця, виходячи з поточного стану його замку та індивідуального показника "потужності" його одиниць. Тоді, AI просто намагається зберегти рахунок, близький до гравця ( Легкий залишився б під ним, Нормальний залишився б біля нього, а Жорсткий намагався б вийти вище). Але я просто не знаю, як розрахувати показник сили гравця. Існує занадто багато змінних, які слід враховувати, і я не знаю, як правильно їх використовувати для створення одного значного числа (рівня потужності).

Хтось може мені допомогти на цьому?

Ось змінні, які повинні впливати на показник потужності гравця:

Поточне здоров'я замку, загальне здоров'я, пошкодження, швидкість та дальність атаки. Також гравець може збільшити дохід (мішок грошей), збиток (+ збиток) і швидкість (+ швидкість) ... Як я можу включити їх у рахунок?

Я справді застряг тут ... Або є інший спосіб, щоб я міг реалізувати AI для такого типу гри?

Дякуємо за ваш дорогоцінний час.


Якщо будь-яка частина недостатньо чітка або якщо я повинен представити більше інформації про те, як я обробляю функціонал у грі, просто залиште коментар, і я відредагую своє запитання. Також - це має бути вікі спільноти? Я особисто не вважаю це суб'єктивним чи аргументативним, але я можу помилятися.
Джессі Емонд

Відповіді:


4

Я не впевнений, як легко це було б сказати, але намагаюся з’ясувати, наскільки важлива кожна змінна - це, мабуть, місце для початку (якщо ти здобудеш 50 здоров’я, ти можеш тривати на 10 секунд довше; якщо ти набереш 5 збитків, ти може зруйнувати здоров’я на 50 секунд швидше; тощо ...). Після цього намагатися нормалізувати здібності, можливо, варто (50 здоров’я - це те саме, що 10 швидкість - це те саме, що і 100 доходів).

Я уявляю простий спосіб знайти щось з цього, просто запустивши симуляції. Тримайте одного гравця на одному рівні, а потім починайте підлаштовувати окремі змінні у спосіб їх масштабування.


3

Перш за все, я не включав би до уваги короткострокові смаколики, такі як дохід чи підвищення швидкості - я думаю, гравці очікують, що ці речі їм допоможуть на деякий час, а не те, що AI адаптується негайно і також стає сильнішим.

А для решти: спробуйте. Почніть з формули потужності, яка вам здається розумною (відповідь nimbus57 має стати гарною відправною точкою), а потім розвивайте свою формулу та ІІ ітеративно.

І останнє, але не менш важливо, спробуйте переконатися, що основна формула не може бути використана гравцем для отримання несправедливої ​​переваги тощо - вона також не повинна бути занадто очевидною, як вона працює, тому втягніть трохи випадковості.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.