Я спрашивал об этом ранее в этой теме на stackoverflow.com. Один из ранних комментариев перенаправил меня сюда на gamedev.stackexchange.com, так что я делаю репост здесь.
В поисках связанных вопросов я нашел несколько очень специфических вопросов, но боюсь, что эти детали оказались для меня бесплодными, и после 4 часов работы в Google я не ближе, чем начал, поэтому я чувствовал, что обращение к сообществу может быть Для того, чтобы.
Во-первых, моя цель: я никогда не делал игры раньше, хотя я несколько раз путался в этой возможности. Я решил, наконец, сесть и начать учиться кодировать игры, использовать игровые движки и т. Д., Чтобы в один прекрасный день (надеюсь, скоро) я смог бы создавать функциональные (хотя и простые) игры. Я могу начать добавлять сложность позже, а сейчас я был бы рад, если бы камера с управлением от клавиатуры двигалась в трехмерном мире без какого-либо взаимодействия.
Мой опыт работы: я работал на НЕСКОЛЬКИХ языках программирования - от 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-моделирование, или я должен научиться использовать графический движок? Стоит ли искать всеобъемлющий игровой движок или лучше попробовать написать собственную игровую логику? Если кто-то на самом деле создал свои собственные игры, я бы предпочел услышать, как они начали.
Кроме того, посещать занятия в моей школе нельзя. Ничего не предлагается