Що таке "галочка" в контексті розвитку ігор?


12

Гаразд, це питання для початківців рівня, але мені потрібно це знати, до чого відноситься термін "галочка" в контексті розвитку ігор? Це те саме, що і FPS? Дякую!


1
Звідки ви взяли цю термінологію від BTW? Деякі люди просто називають це галочкою, оскільки physics engine update frameвипадкові гравці занадто довго пам'ятають / розуміють.
Bálint

Відповіді:


18

Тик - це одиниця виміру часу, конкретно, це стосується окремого екземпляра повторної дії (як правило, широкої дії) в грі, або періоду часу, який вимагає дія.

Кліщі повторюються і (в основному) регулярні; термін походить від одного із звуків, які видає годинник ("галочка" і "так").

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

Однак це може також стосуватися більш деталізованих періодів; можна сказати, що "галочка AI в грі обмежена 5мм часу обробки".

FPS - це показник того, скільки кадрів (зазвичай візуалізують кадри) гра обробляє за секунду. Тики та FPS не обов'язково пов'язані, проте іноді люди називатимуть одиночне виконання циклу логіки гри "логічним кадром", і в цьому випадку швидкість (логічного) FPS буде числом оброблюваних тиків за секунду. Особливо це характерно для ігор, які з будь-якої причини застосовують фіксовану частоту кадрів для логіки гри або фізики.


2

Більшість ігор реалізовані в циклі. Щось на зразок

def main
 setup(a, bunch, of, stuff)
 load(a, bunch, of, stuff)
 while true do {
   // <- A tick starts here
   read(a, bunch, of, inputs)
   call(a, bunch, of, stuff)
   do(a, bunch, of, stuff)
   update(a, bunch, of, stuff)
   // <- A tick ends here
 }
 clean(a, bunch, of, stuff)
 save(a, bunch, of, stuff)
end

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

Це також називається "кадр" і зазвичай його називають частотою кадрів (не плутати з графічними матеріалами). Тик став популярним синонімом, який допомагає розмежувати два.

Як програміст, ваша мета - мати постійний стабільний кадр (галочку), незалежно від того. Це забезпечує чіткі та раціональні реакції у вашій грі, в той же час дозволяючи моделі (програмуванню, а не графіці) обробляти речі на комп’ютерному рівні. Часи галочок не є постійними в іграх, і немає магічного числа. Деякі ігри мають 100 кадрів в секунду, інші - 1 галочку кожні 3 секунди.


1
Важливо зауважити, що не у всіх іграх є статична галочка. Screeps та Eve онлайн підтримують зміну частоти галочок. Майнкрафт повинен бути стабільним тиковим показником, але зазвичай цього не досягає, і він справляється з ним добре. Карликова фортеця має статичну частоту кадрів і смокче, коли не може йти в ногу, але все одно працює.
coteyr

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

1

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


1

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

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

FPS означає F rames P er S econd, тому для багатьох ігор, так, технічно кажучи, кожен кадр є одним галочкою.


Тож я можу використовувати обидва терміни взаємозамінно?
користувач3843164

2
Я б не став. Я б використовував "FPS" при посиланні на графіку, а "галочки", коли йдеться про логіку, тому що деякі ігри, особливо ті, що мають інтенсивну графіку, як правило, мають дві петлі: одна для графіки та друга для логіки.
StrongJoshua

Тик - це не нитка.

@JoshPetrie Oooh, я бачу свою помилку, дякую, що вказав на це. Це зараз виправлено.
StrongJoshua

1
Ігри, як правило, мають кілька кліщів в секунду. "Часто", можливо. "Взагалі", немає. Настільні ігри або стратегічні ігри можуть поставити галочку лише тоді, коли користувач зробить крок, як в "основній ітерації циклу" -sense, так і в "render" -sense.
Анко
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.