Я запитав це раніше в цій темі на сайті stackoverflow.com. Один із ранніх коментарів перенаправив мене сюди до gamedev.stackexchange.com, тому я репостую тут.
Шукаючи суміжні запитання, я знайшов ряд дуже конкретних питань, але боюся, що конкретні дані для мене виявилися безрезультатними, і через 4 години в Google я не ближче, ніж почав, тому відчув, що можна звернутися до спільноти. в порядку.
По-перше, моя мета: я ніколи раніше не робив гри, хоча кілька разів заплутався над можливістю. Я вирішив нарешті сісти і почати вчитися кодувати ігри, використовувати ігрові двигуни і т. Д. Все так, що одного дня (сподіваюся, скоро) я зможу робити функціональні (хоч і прості) ігри. Я можу почати додавати складності пізніше, бо зараз би радий, що камера, керована клавіатурою, рухається в 3D-світі без взаємодії поза цим.
Моя інформація: Я працював у декількох мовах програмування від PHP до C ++ від Java до ASM. Я не боюся жодних викликів, які виникають із вивченням нового синтаксису або обмежень, притаманних новій мові. Однак весь мій досвід програмування був суто неграфічним і, як правило, з невеликою або надзвичайно простою взаємодією під час виконання. Я створив обширні та блискучі алгоритми для вирішення логічних та математичних задач, а також задач графіки. Однак у кожному випадку введення або визначається у файлі, передається у вигляді HTML-форми, або вводиться в консоль. Взаємодія в режимі реального часу з користувачем - це те, з чим у мене немає досвіду.
Моє запитання: з чого мені почати намагатися робити ігри? А ще краще - з чого мені почати намагатися створити 3D-середовище, керується клавіатурою? У пошуку в Інтернеті я знайшов кілька ресурсів, що стосуються ігрових двигунів, графічних двигунів та фізичних двигунів. Ось короткий підсумок мого досвіду роботи з кількома двигунами, які я спробував:
Unreal SDK: Відео з підручника передбачає, що ви вже маєте глибокі знання 3D-моделювання, графічних двигунів, анімації тощо. Сторінка "Початок роботи" не пропонує формального пояснення розвитку ігор, але переходить до того, як Unreal може впорядкувати процеси, які передбачає вас Ви вже знайомі. Завантаживши SDK і запустивши його, щоб побачити, чи інструменти такі інтуїтивні, як вони заявляли, мене зустріли близько 60 кнопок і порожня порожнеча для мого 3D-моделювання. Натиснувши на "Додати гучність" (для спроби додати базовий куб), мені було знайдено меню з 30 варіантів. Панікуючи, я закрив редактора.
Crystal Space: Веб-сайт видався досить інформативним, пояснюючи, що Crystal Space призначений лише для графіки, а супутнє програмне забезпечення, CEL, забезпечувало логіку для створення ігор. Була надана демо-гра, яка була побудована за допомогою "CELStart", їхнього простого інструменту для людей, які не знають ігрового програмування. Я запустив гру, щоб побачити, що я можу з нетерпінням створити. Він кілька разів застигав, меню було баггі, було тисячі графічних глюків, вороги не відповідали на пошкодження, і коли я закрив гру, він закрився. Дав на цей двигун.
IrrLicht: Підручник передбачає, що у мене є Visual Studio 6.0 (у мене є Visual Studio 2010). Виконуючи їх вказівки, я не зміг належним чином імпортувати бібліотеку до Visual Studio і не зміг викликати жодну з функцій, якими вони користувалися. Копіювання файлів заголовків, файлів класів та DLL вручну в папку мого проекту - проект не вдалося правильно скомпілювати.
Ясна річ, що я не починаю вдало, і йду по колах. Чи може хтось вказати мені в правильному напрямку? Слід почати із завантаження програми на зразок Blender та вивчення 3D-моделювання, або я повинен навчитися користуватися графічним двигуном? Чи варто шукати ігровий движок все включено, або краще спробувати зашифрувати власну логіку гри? Якщо хтось насправді влаштував свої власні ігри, я вважаю за краще почути, як вони розпочали свою роботу.
Також заняття в моїй школі - це не варіант. Нічого не пропонується.