Короткий чіт-лист для оцінки бібліотек, рамок, двигунів і SDK та вибору найкращих
- Бібліотеки, каркаси, SDK для двигунів тощо - це інструменти, які призначені для вирішення проблем для вас або для вирішення проблем та задоволення певних вимог.
- Оцінювати означає розуміти, хто з них відповідає найбільшим вимогам.
Тому перед тим, як розпочати оцінювання, вам слід зрозуміти, який сценарій ви маєте та які вимоги маєте / хочете мати, тому що це питання, на які слід відповісти в оцінці.
Сценарій визначає, звідки беруться вимоги (хто вирішує, що таке вимога, а що ні).
Типовими сценаріями є:
Найбільш хоббі сценарій проекту
Ви самостійно або разом з друзями хочете створити свою (можливо першу) гру. Ідеально, ви можете вирішити все самостійно, і ви обмежуєтесь лише основними технічними рішеннями та технічними вимогами (якщо це буде мобільна гра, комп'ютерна гра, консольна гра, веб-гра ...). Ви можете вирішити все, що завгодно.
Невідповідні вимоги полягають у тому, що ви, можливо, захочете вивчити щось конкретне (мову, певну рамку / двигун)
Сценарій студента
Вимоги можуть виходити від вашого вчителя. Типові вимоги до мене в цьому випадку: гра повинна мати деякі фізичні елементи та підтримку багатокористувацької мережі. Або це має бути написано на C ++. Тож оцінювання стає простим. Ви шукаєте ігровий движок, який дозволяє вводити код у c ++ і вже може включати мережевий та фізичний двигун.
Більш зла (реальне життя) вимога: все потрібно писати з нуля (але використання бібліотек дозволено). Тому редактор не дозволений (наприклад, Unity3D). Тож ви шукаєте не двигуни / sdks, а бібліотеки.
Сценарій гри в Інді
Пізніше ви хочете заробити гроші грою. Для цього вам потрібно буде продати його якось, що допоможе вам перевірити, які вимоги надходять з магазину, в якому ви хочете продати свою гру.
Чи дозволяє це ігри Java, ігри HTML5, ....)
Чи вимагає від вас включення конкретних бібліотек (якщо так, то якими мовами є ці бібліотеки)
Google Playstore вимагатиме від вас написати свою гру як гру для Android, Apple AppStore вимагатиме від вас написати свою гру як додаток для iOS. Або у вас є вимога вибрати багатоплатформовий двигун.
Професійний сценарій
У вас не тільки магазин, який надає вимоги, але, швидше за все, видавець або клієнт, який має власні зображення вимог. У цьому сценарії ви також матимете більшу команду найманих розробників. Залежно від їх набору навичок виникають нові вимоги (наші програмісти можуть писати лише c ++, тому ми не можемо використовувати чистий ігровий движок Java / Android, не потребуючи в них часу (багато), щоб дізнатися щось нове).
Я не вникаю в деталі щодо цього сценарію, як тільки вам вдалося створити команду працівників та знайти клієнта / видавця, ви вже знаєте, що шукаєте при оцінці речей.
Як я вирішую, які є мої вимоги, коли я хобі чи інді, і ніхто більше мені не каже?
Задайте собі питання щодо своїх цілей та своєї гри?
Якою повинна бути моя гра? мобільний, ПК, веб (html / Js), які контролери я буду використовувати (сенсорний екран, гіроскоп, ігровий майданчик)
Що нового в моїй грі та які інші ігри теж є. Ті частини, які також мають інші ігри (візуалізація, аудіо, обробка введеннями), виконуватимуться самими інструментами (ігрові двигуни), які ви можете знайти, або легко зібрати бібліотеки, що мають таку функціональність у вашій власній грі чи ігровому механізмі.
Який вимір мого проекту: розлючені птахи чи скайрім? Злі птахи можна зробити майже в кожному інструменті, а skyrim буде обмежений високопродуктивними інструментами з (припускається) роками додаткової настройки (високопродуктивні двигуни на місцевості непрості)
Моя єдина мета лише зробити гру? так? Ідеально, ви можете використовувати деякі дуже просунуті речі, такі як Unity, Unreal, ... маючи зручний редактор та велике співтовариство, яке надасть вам підручники та відповідає на ваші запитання. Це знімає тягар виконання завдань низького рівня, таких як завантаження сітки, реалізація власних математичних функцій, ....
Моя мета дізнатися щось конкретне? так? чого ти хочеш навчитися?
Яку мову вибрати? Якщо мета все-таки полягає в тому, щоб ваша гра була зроблена, виберіть ту, яку ви / ваша команда знає найкраще? Якщо ви хочете вивчити певну мову, ви виберете інструмент цією мовою.
Чи буде інструмент X мати достатню продуктивність для моєї гри? Можливо, ти ніколи не дізнаєшся. Навіть у великих виробництвах фаза оптимізації та полірування займає тривалий час і є величезною можливістю зробити це. Почніть потурбуватися про ефективність, коли потрапляєте на проблеми з продуктивністю. Ви не знаєте, як буде працювати цей інструмент, якщо не буде досягнуто його меж. Все на веб-сайті розробника інструментів - лише груба здогадка. Після років оцінювання інструментів я перестала вірити чомусь із веб-сайту розробників.
Відповідаючи на подібні запитання, ви підходите до вимог. Оцінка - це пошук списку інструментів та ТЕСТУВАННЯ (не лише читання домашньої сторінки), що інструмент може надавати чи не може.
Вимоги не вирізані з каменю, але є динамічними. Вони прийдуть і підуть під час розвитку. Якщо грі потрібна фізика чи ні, наприклад, залежить дизайн. Якщо дизайн зміниться, вимога також може змінитися.
Візьміть ваші вимоги і почніть. Змінюються вимоги - щоденний хліб страждаючих, ах, щасливі розробники незалежно від розміру проекту та рівня досвіду.