Більшість гідних двигунів і рамок надають потрібну вам функціональність і ніколи не заважають.
Вони? Це швидше залежить від того, що саме ви робите, графічно кажучи.
Для багатьох видів ігор є стандартні відповіді на графічні запитання. Середня 2D гра, наприклад, може справлятися чудово за допомогою 2D-доблесті, наприклад, XNA / MonoGame. Це просто спрати, які можуть поставлятися партіями для місцевості, можна обертати тощо.
Але що робити, якщо ваша гра була середня 2D гра, ви читаєте про якусь прикольну техніку, наприклад використання карти висоти для створення саморобця, який має вигляд глибини відносно екрана. І ти хочеш це зробити.
Тепер ви використовуєте звичайне картографування і навіть можливо паралаксальне відображення. Все в тому ж контексті "справляння рендерінгу", але вимагає більше, ніж багато чистих двовимірних двигунів. Зокрема, для цього потрібні багатосмугові «спрайтові бликітки», що не те, що можна зробити у багатьох двовимірних двигунах.
Що ви робите, якщо ваш двигун не може адаптуватися до вас? Отже, це означає, що ви повинні зробити кілька проходів, один для кольорового та один для освітлення за допомогою звичайної карти. Але це не працює, тому що вам потрібно нормальне поле висоти карти, щоб використовувати паралаксальне відображення для пошуку кольорів. Отже ... тепер що? Вам потрібна альфа для прозорості, тому ви не можете вкрасти альфу. А двигун просто не підтримує багатотексти.
Отже, ви повинні вибрати одне з наступного:
- Відмовитися від ідеї. Це означає, що ваша гра функціонально обмежена вашим двигуном.
- Злому двигуна, щоб мати багатотекстовий. Припускаючи, що у вас є доступ до вихідного коду, ви тепер берете його на себе, щоб зазирнути на чужий код. Це також означає, що вам потрібно підтримувати його, а не порушувати його зі спотиканням.
- Робіть все можливе, в межах обмежень двигуна. Таким чином, ви можете отримати паралакс на звичайних картах, але не на кольорах. Це може бути не саме те, що ви хотіли, але це краще, ніж нічого.
В якості прикладу візьміть війни "Геометрія". Більшість 2D-двигунів змогли б витягнути подібні відеозображення, оскільки більшість з них побудовані навколо малювання спрайтів, а не ліній. Це гра, яка потребує дуже спеціалізованого виду візуалізації.
Зрештою, вам потрібно взяти на себе відповідальність за елементи вашої гри, важливі для потреб вашої гри. Якщо візуальний вигляд вашої гри в першу чергу розробляється за допомогою художнього стилю зображень та моделей, які ви використовуєте, а не конкретних ефектів, то використання попередньо упакованого рішення чудово. Але якщо візуальний стиль вашої гри значно визначений спеціальним кодом візуалізації, шанси на те, що стандартний двигун може стати серйозним обмеженням, якщо ви вирішите робити речі, що знаходяться поза коробкою.
Крім того, є дуже практичне питання: не всі ігрові двигуни однаково портативні.
З недавнім підйомом мобільних платформ, ринок ігор поширився на численних ОС та пристроях інтерфейсу користувача. Не всі двигуни працюють на всіх пристроях. І якщо ваш двигун не працює на платформі, ви , звичайно , не збираєтеся взяти час , щоб зробити його роботу на одному. Зрештою, саме тому ви в першу чергу використовували двигун, правда?
Якщо вам важливо, що ваша гра працює на певній платформі, то вам знову потрібно взяти на себе відповідальність за неї. І "найпростіший" спосіб забезпечити успіх у цьому - це зробити самостійно. Щоб створити двигун, який може працювати на декількох платформах, можливо, використовуючи більш прості рамки, орієнтовані на платформу, де потрібно для обробки деяких деталей низького рівня. Таким чином, якщо він порушиться, це ваш код; ти найкраща людина, яка зможе це виправити.