Воскресенье, 17 Ноября 2024, 15:25

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: Gnomov  
FAQ. Краткое руководство для начинающего игродела.
DungeonLordДата: Пятница, 18 Сентября 2009, 06:04 | Сообщение # 1
Волк Игростроя
Сейчас нет на сайте
Предисловие/описание:
Создаю данную тему, в связи с тем, что на форуме снова начало появляться много тем содержания "Я полный нуб никогда не занимался ни программированием, ни созданием игр, но очень хочу научиться. Пожалуйста, подскажите с чего начать". Цель данной темы дать ответ на этот вопрос тем кто возможно впервые на нашем сайте и ничего не смыслит в создании игр и прекратить скопление подобных тем, в которых уже много раз даны ответы, плюс избавить опытных пользователей от подобных монотонных постов. На форуме уже существует тема "Хочу научиться делать игры, с чего начать?" данная тема не является дублем, грань различая между ними в том что в предыдущей теме даны ответы в ходе обсуждения различных вопросов , которые в ней задавали(среди сторонних сообщений не всегда удобно искать ответ, а отчасти , если тема большая, практически невозможно), данная тема/статья является руководством (и не предназначена для обсуждения) в котором собранны: советы, описания, часто задаваемые вопросы - всё что нужно знать, чтобы понять с чего начать делать свои самые первые игры.

FAQ. Краткое руководство для начинающего игродела "С чего начать?"

Вы никогда не имели дел с написанием программ и тем более игр? Эта статья для Вас. И так перейдём к делу.

Основные понятия, встречающиеся в данной статье:
1. ЯП - язык программирования.
2. Движок - основа любой игры. Другими словами это программный код в котором уже заложены: основы отображения графики, выполнение команд и др. Движок - фундамент на котором вы строите свою игру. Движок предоставляет очень широкие возможности по созданию игр. В отличии от ЯП движок уже представляет среду разработки специально подготовленную для создания игр, имеющую соответствующие функции.
3. Конструктор - готовая программа для создания игр. По сути это тот же движок, но созданный по принципу "импорт собственных ресурсов -> проектировка игрового мира -> компиляция" . То есть конструктор в отличии от движка это уже готовая игра в которой вы меняете ресурсы , но не более того. (Понятие готовой игры и конструктора пренципиально разные вещи. Конструктор нужен для создания игры уже на готовой) Из ходя из этого конструкторы чаще всего различаются по жанровой направленности(некоторые из них предназначены только для FPS к примеру FPS Creator , некоторые например для РПГ к примеру RPG Maker), но не всегда существуют и универсальные (К примеру очень популярный GameMaker). Как видно из самого определения "Конструктор" - это набор деталей. К примеру Вы возьмёте то же лего и соберёте из имеющихся деталей автомобиль , затем кто-нибудь с помощью тех же деталей соберёт свой автомобиль - вывод очевиден они будут не сильно-то отличаться, так и в программном конструкторе , почти все игры созданные на одном конструкторе будут похожи друг на друга и будут иметь меньше индивидуальности (единственным исключением в данном случае будет пожалуй только упомянутый GameMaker). Зачастую опытные люди , которые уже много работали или работают с определёнными конструкторами, играя в игры других пользователей уже видят на каком из них сделана та или иная игра. Плюс ко всему за счёт этого, конструкторы предоставляют меньше возможностей по созданию игр чем движки. У Вас наверное уже возник вопрос - "зачем же тогда нужны конструкторы, когда существуют движки превосходящие их по всем параметрам?", ответ прост - конструкторы во много раз проще в освоении (некоторые из них настолько просты , но ещё раз подчёркиваю не все, что в них разбираешься уже по ходу разработки игры , вообще не читая руководств) соответственно и игры на них создавать гораздо проще. Пожалуй, это единственный плюс конструкторов.
4. Графика - всё отображаемое на экране. Другими словами это визуальная часть Вашей игры.

Основы разработки игр.

Основа основ при разработке игр (как и программ) - это логика. Все события происходящие в игре основаны на логике (как и программный код) . Рассмотрим простой пример:
Вы нарисовали 2 спрайта (спрайт - это двухмерное графическое изображение) : мина и аптечка. Создавая игру вы создаёте событие , к примеру "Что будет если персонаж коснётся мины?" вам обязательно необходимо указать то что произойдёт "Персонаж умирает". Вы спросите, почему всегда необходимо указывать реакцию действий на события? Потому что описания того что это мина не достаточно , к примеру вы можете вместо той же мины закрепить спрайт аптечки и тогда будет не совсем правильно что подбирая аптечку персонаж умирает или наоборот натыкается на мину и восстанавливает здоровье. Или к примеру Вы хотите создать платформер, ход Ваших мыслей должен быть примерно таким: "Если персонаж находится в воздухе то он начинает двигаться вниз , если персонаж сталкивается с платформой то он прекращает двигаться вниз/останавливается". Так что единственное , что Вы должны уметь делать для того что бы начать делать игры - это мыслить логически. (Существуют ещё 2 требования - желание и знание английского, но то что Вы решили заняться созданием игр, само по себе подразумевает эти требования.)
Самым простым будет разделить игру на 3 части: движок, графика, озвучка. Я так думаю Вы сами знаете, что это за части, основным принципом в разработке игр является добиться наилучшего взаимодействия между ними. (разделены они образно).

С чего начать?

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

Я рекомендую Вам начать с конструктора GameMaker. Почему именно GameMaker? Потому что он достаточно прост в использовании, универсален (подходит почти для всех жанров), функционален, в GM легко видна структура/схема создания игры (или уже созданной игры) и очень популярен, а это значит , что по нему Вы найдёте огромное количество справочных материалов, примеров, готовых шаблонов, уроков даже на русском языке. GameMaker позволяет создавать 2D игры любых жанров: TDS, платформеры, РПГ, гонки, стратегии, также имеется возможность создания 3D, но ограниченная. У GameMaker существуют 2 менее известных альтернативы : The Games Factory / Multimedia Fusion , Scirra Construct.
О них я не буду много писать , скажу лишь, что The Games Factory/Multimedia Fusion - аналогичен GameMaker но в нём отсутствует встроенный скриптовый язык, так что он не мало теряет в функциональности. Construct - более современный с точки поддержки API, он работает с DX9 vertex/pixel shaders 2.0 .

Часто задают вопросы типа: "Я не хочу делать 2D игры, хочу в 3D. На чём можно легко сделать хорошую игру в 3D? И вообще, зачем делать 2D когда всё уже в 3D?"
Во первых здесь сразу 2 заблуждения:
1. Хорошие игры никогда не получается создавать легко, будь то 2D или 3D. Даже если это казуалка и Вы собираетесь создавать её в GameMaker, то с тех. частью может всё будет и не трудно, но чтобы её сделать действительно оригинальной и запоминающейся Вам придётся вложить в неё не мало творческих усилий.
2. 2D сейчас не менее актуально, чем 3D. Да, большинство коммерческих проектов трёхмерные в меру развития новых технологий. Но к примеру большинство игр серий Sonic и MortalKombat самые лучшие были в 2D. Иногда бывает, что в некоторые игры будет играть значительно интереснее, если они будут в 2D, потому что не всякий геймплей можно уместить в 3D к примеру того же синего ежа 3D просто убивает, сразу теряется ощущение скорости, дизайна уровней, не зря сейчас Sega трудится над новой игрой серии Sonic и уже начала разработку движка в 2D. Или как же безбашенный и взрывной геймплей Contra HardCorps , он бы сразу умер в 3D. (За счёт перемещения, прицеливания и т. п. ) Даже некоторые современные коммерческие игры создаются по подобию 2D, например - Street Fighter IV.

Теперь прейдём к самому вопросу. Вы конечно можете сразу начать с 3D игр , но настоятельно рекомендуется начать с разработки двухмерных проектов. На это имеется ряд причин:
1. Создавать игры в 3D гораздо сложнее и для этого надо иметь достаточно опыта.
2. Для создания 3D игры необходимо уметь работать с пакетами трёхмерного моделирования для создания моделей, что само по себе очень трудное занятие соответственно требующие опыта в этой сфере. Вы будете очень много времени тратить на создание объектов.
3. Для создания 3D игр Вам понадобятся знания понятий и принципов создания игр в пространстве , основные из них Вы легко можете понять , познакомившись с 2D.

Если Вы всё-таки остановились на GameMaker, то советую изучить его подробнее(выучить GML, потому как запомните простую истину - Ни один кнопочный интерфейс , никогда полноценно не заменит код.) , если Вы хотите подняться на новую ступень в геймдеве. Во всём этом , Вам помогут:
1. Официальная справка по GM.
2. Следующие уроки на нашем сайте - поиск
3. Также раздел форума посвященного GM , в его темах Вы найдёте ответы на многие вопросы.

Так же Вы можете получить дополнительную информацию по GameMaker на - http://gcup.ru/load/game_maker/2-1-0-1 (официальный сайт - http://yoyogames.com )

Не смотря на всё это, на данном этапе Вы можете выбрать ещё и FPS Creator , как это многие делают, если Вас кончено, интересуют 3D шутеры от первого лица. Снова задаётесь вопросом, почему FPS Creator? Ответы аналогичны предыдущим, но FPS Creator конструктор только для создания 3D FPS , он более ограничен в возможностях создания игр по сравнению с GameMaker, но более функционален в 3D.

Вы также можете начать работать с другими простыми конструкторами заточенными под определённый жанр к примеру Fighter Maker, M.U.G.E.N. - для файтингов , если Вы собираетесь работать над играми определённого жанра.

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

Следующий уровень - это разработка игр на движках.

Здесь у Вас много вариантов. Советую для начала присмотреться к 3D GameStudio или BlitzBasic3D. Почему к ним? Потому что по ним Вы найдёте достаточное количество справки и уроков, плюс ко всему они универсальны(т.е. подойдут для разработки игры любого жанра). Сам я больше предпочитаю Bitz3D , но на практике 3D GameStudio оказывается не хуже.

BlitzBasic3D
+
Невероятно быстрый и лёгкий код,
лёгкость в изучении, высокая скорость разработки
приложений, универсальность, полная свобода разработки проектов
любой сложности.
-
Сильно устаревшая графика - DirectX 7
(Чтобы добиться хорошей картинки, нужно сильно стараться)
Слабая физика
Отсутствие визуальных редакторов

3D GameStudio
+
Удобные визуальные редакторы,
Современная графика DirectX 9,
-
Встроенный ЯП - Lite-C обладает более
сложным синтаксисом по сравнению с Blitz3D
(этого недостатка можно было избежать)
Медленные исполнительные файлы.
Ограниченность в создании бесшовных локаций

Изучая любой из этих движков (Моё личное предпочтение - Blitz3D) Вы выучите их языки программирования, которые значительно легче профессиональных, но очень функциональны и пригодны для разработки серьёзных проектов. Владея любым из этих двух движков , Вы смело можете присвоить звание "Специалист игростроя". (т.к. этого не многие добиваются) Тем более обладая таким опытом и познаниями в игрострое , Вы можете серьёзно обдумывать начать разработку крупного проекта , возможно даже коммерческого, правда справиться одному здесь будет все-равно очень сложно, так что самое разумное решение - это собрать команду человек из 5-8 ,
для работы над проектом.

Также Вы можете получить более подробную информацию о Blitz3D на - http://gcup.ru/load/blitz3d/3-1-0-27 , 3D GameStudio - http://gcup.ru/load/3d_game_studio/2-1-0-12 .

Несмотря на всё это, 3D GameStudio и BlitzBasic 3D , которые я Вам посоветовал для начала работы с движками, тоже не верх профессионализма. Если они Вас не устроили, а так в прицепи иногда бывает, они имеют свои недочёты , кого-то не устраивает графика Blitz3D , кого-то физика и другие недочёты 3D Game Studio, то пора идти дальше.

Следующий шаг скорее всего будет для Вас самым трудным, поэтому хорошо обдумайте прежде чем начать работу. И так Вам пора переходить на профессиональные движки. Для этого Вам будет нужно изучить сложные профессиональные языки программирования такие как: C/C++ , C# , Delphi или скриптовые языки : Pyhton , LUA. Несомненно освоить их и работать с ними занятие далеко не из простых. Но зачастую если это всё-таки удаётся , то можно приступать к изучению профессиональных движков. Зачастую на таких движках сделано большинство коммерческих игр. Но не стоит думать,что Вы начнёте работать с CryEngine 2 или Unreal Engine 3, Gamebryo и подобными. Так как они стоят больших денег и не предназначенны для простых смертных. Конечно, если в будущем Вы создадите свою крупную геймстудию, то у Вас возможно будет шанс присмотреться к одному из них. Но существует огромное количество движков значительно доступнее выше перечисленных, причём игры созданные на них (ну если они сделаны хорошо) не будут уступать коммерческим, самые известные из них: NeoAxis, OGRE, Unity, Quest3D, Trinigy Vision 7 и другие. Но всё-равно не стоит сразу начинать мечтать о играх типа: S.T.A.L.K.E.R. Shadow of Chernobyl/Clear Sky , Assassin'sCreed даже если Вы освоите эти движки. Если очень стараться несомненно, на них можно сделать игры подобного уровня и качества, но я очень сомневаюсь , что у Вас есть штаты настолько подготовленных и опытных людей для такого проекта, плюс готовых над ним работать , как в GSC Game world или Ubisoft. А в противном случае , т.е. если у Вас их нет , то возможность такой разработки можно сразу прировнять к нулю.

Подробнее о данных движках: OGRE , NeoAxis , Quest3D , Unity , Trinigy Vision 7 .

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

Конструкторы и движки заточенные под жанр. "Помогите выбрать движок/конструктор для..." - не много об этом вопросе

Понимаю, что это уже немного выходит за рамки статьи, но всё-равно имеет отношение к ней так что, буду краток и напишу ответы на часто-задаваемые вопросы подобного типа:

1. "Я хочу создать слэшэр в фентези/фантастике достаточно необычный, но имею относительно не большой опыт в этой сфере, пожалуйста подскажите движок?"
- Как всегда реализовать свою идею можно на любом серьёзном движке. Но для начала я думаю идеально подойдёт Blitz3D , с точки зрения структуры игры, на нём будет Вашу идею реализовать легче всего.

2. "Подскажите несложный движок для 3D Racing ' а ."
- Так сложилось, что не безызвестный движок 3D RAD многие используют именно для создания гонок. Могу смело его Вам посоветовать , он как раз очень прост и обладает набором функций , которые как нельзя кстати подходят для симуляторов. Так же существует более мощный движок Racer. В отличии от 3D RAD, Racer специально заточен под рейсинг, как это видно из названия. Освоиться в нём будет сложнее, но и результат будет соответственным, назвать его в данной ситуации можно не сложным как раз из-за того, что он подогнан под рейсинг.

3. "Меня не устраивают GameMaker, Multimedia Fusion и подобные конструкторы. Я хочу присмотреться к движкам для создания 2D игр, посоветуйте наиболее удобные."
- Такое редко встречается. На мой взгляд здесь 2 варината: Blitz2D/3D , LOVE . О Blitz3D я уже писал, на нём можно создавать как 3D так и 2D игры, но в данном случае можно воспользоваться более старой версией этого движка - Blitz2D (только 2D) . Движок LOVE - основан на скриптовом языке LUA ,который несомненно нужно выучить для работы с ним. Имеет возможности схожие с Blitz2D .

4. "Я хочу создать FPS желательно с хорошей графикой подскажите простой конструктор или движок. "
- Конструкторы - FPS Creator x9/x10 , Silent Walk FPS Creator .
Движки - Cube (2) , Sauerbraten , Retribution Engine , Q2 , Q3.
Кроме них имеются и другие варианты здесь перечислены наиболее известные.

5. "Какой конструктор подойдёт для создания игр в стиле Doom, Wolf3D , желательно по проще ?"
-Идеальный вариант, которым в таком случае пользуются более 90% новичков - Raycasting Game Maker.

6. "Какой конструтор/двиг более функциональный, чем Raycasting Game Maker , можно использовать для разработки проекта в стиле Doom2 , Wolf3D? "
- ИМХО самыми удобными будут - Risen3D , Skulltaq . Оба используют оригинальные файлы Doom2 , просты в изучении и имеют полноценно все возможности Doom1/2 + несколько современных фишек, также работают с сетью. Существуют также и другие движки: ZDoom, ChocolateDoom и др. , но на мой взгляд менее удобные.

7. "Посоветуйте конструктор или движок для ММО для новичка"
- Здесь один выход - RealmCrafter. Движки для такого проекта слишком трудные для новичка.

Дальше рассматривать эту тему и описывать смысла нет - Fighter Maker , RPG Maker названия которых говорят сами за себя описывать не стал, о них каждый может прочитать на главной странице сайта.

Вроде бы всё. .Удачи Вам в разработке игр. smile

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

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

Администрации сайта: прошу закрыть данную тему






Сообщение отредактировал DungeonLord - Суббота, 19 Сентября 2009, 05:38
VinchensooДата: Пятница, 18 Сентября 2009, 12:29 | Сообщение # 2
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Начинающим игроделам посвящается... (Для тех кто не знает с чего начать)
Похожая тема, если кому интересно.


  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг