С чего начать с разработки игры? [закрыто]

Я спросил об этом ранее в этом потоке в stackoverflow.com. Один из ранних комментариев перенаправил меня сюда на gamedev.stackexchange.com, поэтому я переписываю здесь.

Поиск связанных вопросов. Я нашел ряд очень конкретных вопросов, но я боюсь, что специфика оказалась бесплодной для меня, и через 4 часа в Google я не ближе, чем я начал, поэтому я почувствовал, что обратился к сообщество может быть в порядке.

Во-первых, моя цель: я никогда не делал игру раньше, хотя я несколько раз путался по этой возможности. Я решил наконец сесть и начать учиться программированию игр, использовать игровые движки и т. Д. Все, чтобы однажды (надеюсь, скоро) я смогу сделать функциональные (хотя и простые) игры. Я могу начать добавлять сложность позже, так как теперь я был бы рад, если бы камера с клавиатурой двигалась в трехмерном мире без взаимодействия за ней.

Мой опыт: Я работал в языках программирования SEVERAL: от 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-моделирования, или мне нужно научиться использовать графический движок? Должен ли я искать всеохватывающий игровой движок, или лучше попробовать и закодировать мою собственную логику игры? Если кто-то действительно сделал свои собственные игры, я бы предпочел услышать, как они начали.

Кроме того, занятия в моей школе не являются выбором. Ничего не предлагается.

65 голосов | спросил 6 revs, 4 users 78%
stevendesu
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

8 ответов


38

Я задал такой вопрос, когда я присоединился к GD. Вот некоторые ссылки, которые могут вас заинтересовать, и я надеюсь, что они помогут вам в достижении своей цели.

Короче говоря, я бы пошел с XNA Game Studio , чтобы получить доступ к разработке игры. Затем, продвигаясь к тому, чего вы хотите достичь как знания /технологии. XNA научил меня работать со спрайтами и позволил мне применить некоторые мои знания с самого начала моей кривой обучения, чтобы я мог быстро схватить, чтобы понять, как я должен проектировать моя игра для использования классов во время работы с инъекцией зависимостей и т. д. Итак, я больше не жду тебя.

  1. С чего начать писать игры, любой учебники или тому подобное?
  2. Каковы основы разработки игр? (Интересный вопрос, ИМХО)
  3. Разделение физики и игровой логики из пользовательского интерфейса код
  4. Перемещение моего спрайта в XNA с использованием классов

Почему XNA вы спросите? Просто из-за вашего фона Java. XNA использует C #, который похож на Java несколькими способами, а также представляет собой простую структуру для использования, которая абстрагирует от игрового цикла и прочее, чтобы вы могли сосредоточиться на том, что важно.

Я действительно надеюсь, что это заставит вас начать. =)

ответил mikeschuld 15 J000000Thursday10 2010, 21:18:38
8

Вы можете попробовать Unity 3D , потому что

  • он может быть запрограммирован в JavaScript, C # или Boo
  • у него есть хороший учебник по здесь
  • его кривая обучения не такая крутая.
  • есть Unity Answers , где вы найдете еще больше ресурсов.

(Отказ от ответственности: я никоим образом не связан с создателями Unity, я просто использую его сам и считаю его отличным инструментом для изучения основ).

Но да, вы поставили перед собой довольно определенную задачу. Сейчас я нахожусь в своем 6-м семестре, изучая игровой дизайн, и мне все еще не кажется, что я поцарапал больше, чем поверхность. Неудивительно, что в отрасли есть специалисты практически для всех аспектов процесса создания игры.

Изменить: Был комментарий о том, что Unity рассматривается как не «правильный» игровой движок, который может быть неправильно понят, так как я говорю, что поэтому не раскрывает комментарии ниже. Я не собирался предлагать, чтобы Unity не могла использоваться для правильного игрового дизайна, наоборот. Я использую его сам, и мне это нравится. ;)

ответил mikeschuld 15 J000000Thursday10 2010, 21:18:38
2

Хорошо, если у вас были проблемы с irrlicht, вы также должны попробовать Ogre3D; это нелегко, но это может сработать лучше, если вы поместите время на это. Важная вещь, которую вы должны понимать, это то, что является фреймлистером, как получить время с момента отображения последнего кадра, и это почти единственное, что вам нужно понять, если вы хотите сделать это приложение, о котором вы говорите.

У меня также были некоторые трудности с irrlicht, уроки не очень обновлены, но вы должны попробовать образцы!

Я тоже много раз играл в кругах в начале игры, играя с panda3d и другими вещами, такими как pygame и т. д. Попытайтесь сосредоточиться на какой-то идее игры и реализовать одну вещь за раз.

И попробуйте вспомнить математическую математику, она будет использоваться в 3D!

ответил mikeschuld 15 J000000Thursday10 2010, 21:18:38
2

Недавно я начал то же самое, что и вы. Я столкнулся с чистым движком java под названием jMonkeyEngine , который привел меня через фантастический набор учебников. Я не знаю, действительно ли это объясняет дизайн игры в значительной степени, но вы действительно начинаете с графического интерфейса.

Он предлагает /ссылки на инструменты, которые вы можете использовать для моделирования, и имеет скопированные и вставные вставные, хорошо описанные примеры, которые помогут вам установить окно на экране для настройки физического движка.

Определенно стоит прочитать - у меня было хорошее представление о том, что я делал после нескольких часов.

ответил mikeschuld 15 J000000Thursday10 2010, 21:18:38
2

Вы действительно должны попробовать Flixel http://flixel.org/ Я сделал свою первую «демо» игру с использованием фликселя. Хорошее сообщество, хорошие уроки.

Это не 3D, но у него есть много приятных функций, которые делают ваши первые шаги в среде программирования игр легкими.

Таким образом: Отображение тысяч движущихся объектов
Основные столкновения объектов
Группируйте объекты для простоты
Легко создавать и излучать частицы
Создание игровых уровней с использованием tilemaps
Отображение текста, сохранение игр, прокрутка
Мышь & amp; вход для клавиатуры
Math & amp; цветные утилиты

И это бесплатно для коммерческого использования, что является удивительным.

ответил mikeschuld 15 J000000Thursday10 2010, 21:18:38
1

Если вы вообще не работали с графикой, перед тем как просто изучить open gl или direct x - это начало. Я запрограммировал свою первую игру таким образом. Двигатели нашей компании находятся в доме, и большинство систем поддерживают open gl в той или иной форме. Я узнал, когда на работе просматривал код, написанный до того, как я начал работать. Вы можете взглянуть на некоторые проекты с открытым исходным кодом, чтобы посмотреть, как настроена игровая структура, и начать изменять их, пока вам не станет комфортно начинать свое дело. Я также предлагаю «полное кодирование игры» в качестве отличной ссылки на все небольшие фрагменты игрового программирования, которые вы не понимаете, например, правильная структура файлов и управление ресурсами.

ответил mikeschuld 15 J000000Thursday10 2010, 21:18:38
1

Попробуйте Source Engine . На нем легко разрабатывать игры, и вы можете получить дистрибутивную платформу (Steam) и бесплатно продать свою игру, если вы подпишете соглашение с Valve Corportaion.

ответил mikeschuld 15 J000000Thursday10 2010, 21:18:38
1

Я бы рекомендовал начать с флеш-игр, так как у вас действительно есть все, что вам нужно, в одном пакете, чтобы делать простые игры. Есть тонны блогов с пошаговыми руководствами, например, Эмануэле Феронато . У него даже есть книга с помощью 10 полных игр или около того.

Я использую FlashDevelop, которого достаточно для разработки.

«Создание Flash-игры для астероидов» Криса Меллера - отличный пример с полным пошаговым подходом, использующим flash-разработку.

Для игр на основе стилей есть отличный учебник по Ironcoding .

Вооружившись всем этим, моя рекомендация - найти место, где есть проблема с видеоигрой, с сообществом людей, создающих игры. Постройте одну видеоигру в месяц, сосредоточив внимание на чем-то маленьком, который вы можете закончить, отполировать и представить перед тем, как перейти к следующему проекту. Я участвую в ежемесячном вызове видеоигр здесь .

Держите его маленьким, чтобы завершить его и отпустить.

ответил mikeschuld 15 J000000Thursday10 2010, 21:18:38

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132