Создание игр для начинающих. Игровой Движок — Написать Самому или Взять Готовый

Как написать свой игровой движок с нуля

Возможно, тема надоевшая, но я поискал в интернете на эту тему и понял что в интернете(youtube, yandex, habr) нет ничего полезного, вернее оно есть, но без объяснений.

Сразу скажу что, C# я знаю больше чем C++, просьба отталкивать от этого.

Что я подразумеваю под словом ‘с нуля’.
1. Нужно определиться с языком программирования. C++ или C#?
Если я напишу: «Мне нужен обоснованный ответ!», будет немного грубо.
По этому, желательно обосновать ответ и написать названия книг по выбранному языку.
Не нужно писать: вот C++ быстрее чем C#, пиши на C++ и т.д.
2. Какой фреймворк? (Если неправильно назвал поправьте)
OpenTK, GLFW и т.д. Источники, где можно поподробнее разобраться.
3. Что нужно знать в языке программирования что бы написать свой игровой движок?
Пример ответа: Нужно уметь пользоваться массивами, отладчиком, искать ошибки и т.д.
4. Ну и с чего стоит начать, после изучения языка.

Вроде всё изложил.

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

Написать свой движок или воспользоваться существующим?
Доброго времени суток, уважаемые форумчане! Работаю в игровом движке Unity3D уже полтора года.

Как установить игровой движок(Crystal Space)?
Как установить игровой движок(Crystal Space) ?

Игровой движок
Всем привет! У меня к вам вопрос: Я прочитал про Ogre3D, и понял, что это вовсе не игровой.

C++ 3D игровой движок
Добрый день. Подскажите пожалуйста трёхмерный игровой движок, который можно подключить к Visual.

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

Добавлено через 1 час 0 минут
Я предположу, что ты делаешь CryBiteUnrealUnity 10K5000.

С языком все просто, c# это по сути скриптовый язык. В C# есть встроенный менеджер памяти, что для риалтайма — зло.
В с++ есть возможность прямого управления памятью. У с++ есть шаблоны, что часто очень полезно. В остальном по сути братья близнецы. Хочется тебе с# бери его, если же не хочешь потом жалеть, то с++.

Те же фростбайты, анриалы, юнити и край энжины написаны на c/c++, сам сделай выводы.

У шарпа вообще плюсов нет :), помогите их найти? Единственный аргумент в таких спорах что я слышал, это дот нет и куча библиотек, так ведь у с++ тоже их море, один qt если вспомнить, а в контексте разработки с нуля с# не о чем

Опять же, если ты будешь писать свой серьезный движ то использовать сторонние библиотеки не будешь, по тому что все будешь писать под свои запросы. По тому openTK тебе не нужен, тебе нужно что-то типа glfw+gluw, которые только лишь создают окно и импортируют функции api opengl (ты же на opengl смотришь?), но можешь и по хардкору #include и самому импортировать функции и создавать окна.

Все что нужно знать об openGL есть тут.

Конкретно тебе нужно знать:
1.1) как создать окно
Первый самый простой этап.
2.1) ты должен узнать что такое шейдер, как его скомпилить на гпу, как его применить.
2.2) как создать vao (обязательно нужно разобраться как использовать несколько атрибутов), и как его выводить (рисовать), тут ты узнаешь что заходит на вход вершинному шейдеру и что выходит из фрагментного.

Читать еще:  Водопад: к чему снится сон. К чему снится водопад? Сонник: водопад, купаться в водопаде

Тут ты уже поймешь как работает opengl, тебе станет очень радостно если ты добрался до сюда.

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

Вот от сюда будет начинаться что-то серьезное.
3.1) Нужно будет разобраться с тем что такое fbo, как его создавать, как его применять/чистить и как в него рендерить.
3.2) Зная что такое fbo, нужно будет в первый раз что то отрендерить в текстуру (тобишь в fbo), сделаешь тени.

Вот на этом моменте кончается 90% работы. Можешь начать с этого после изучения языка.

Потом ты еще должен будешь выбрать аудио апи аля OpenAl.

Что нужно знать о языке?
Само собой нужно уметь работать с массивами, циклами (for, while), блоками ветвлений (if/else, switch/case), структуры. Потом ты должен знать как алоцировать память динамически, аля new и delete, указатели ( не умные, а обычные, умные таковыми только называются).
Не плохо бы знать ооп (классы, наследование), опять же, перегрузка и таблицы виртуальных функций для риалтайма зло.

Самые важные вопросы ты не спросил. Это что нужно знать о том что нужно знать о программировании.
Так вот, знать нужно алгоритмы и патерны проектирования. Если с первым все ясно, то второе нужно по тому что иначе твой вдиж станет лапшой с такой скоростью что ты не заметишь.

Игровой Движок — Написать Самому или Взять Готовый?

Это пятая статья из цикла материалов для начинающих разработчиков игр: Игровой движок — написать самому или взять готовый?

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

Почему не стоит писать свой игровой движок

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

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

Помимо бесплатных систем разработки игр, многие коммерческие игровые движки, полностью готовые к немедленному началу использования в игровых проектах, предлагают сразу несколько очень привлекательных схем лицензирования: полностью бесплатную ( Unity 3D в бывшей Indie-редакции ), смешанную схему с выплатой Royalties ( Unreal Development Kit ) — 99 $ взнос за лицензию и выплаты 25 % прибыли после первых заработанных 5000 $, либо же доступную стоимость полновесной коммерческой лицензии ( Unity Pro за 1500 $ ).

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

Читать еще:  На каком месяце вылазиет пупок у беременных. Если торчит пупок при беременности, что это значит? Профилактика неприятных ощущений

Для 95 % игровых проектов любого жанра и направленности возможно найти адекватное их потребностям готовое решение. Времена, когда игровые движки были диковинкой для отечественного рынка разработки игр и стоили больших денег, прошли — а вместе с ними закончились аргументы в пользу написания собственного игрового движка.

Более того, желание непременно написать всё самостоятельно вкупе с иллюзией того, что такое решение будет лучшим продуктом, чем уже существующие аналоги, может сыграть очень злую шутку с начинающими разработчиками, когда и так весьма ограниченные ресурсы вкладываются в совершенно не нужную задачу ( личный опыт ), в итоге приводя к преждевременной смерти проекта.

Подводим итог: написанием собственного игрового движка могут заниматься те, кто чётко представляет, что именно и зачем ему это нужно, видит адекватные преимущества такого подхода и способен за вменяемые сроки претворить свой план в жизнь. Всем остальным следует поискать готовое решение, благо оных в последнее время появилось достаточно — взять хотя бы те же Unity 3D и UDK.

Читайте далее 6. Как выбрать игровой движок или конструктор игр

Создание игр для начинающих. Игровой Движок — Написать Самому или Взять Готовый

Рано или поздно любой геймер хочет создать свою игру, совершенно не зная, как это делается. И бежит за помощью на такие сайты игростроителей, как make-games.ru
Там они заходят в форум и задают вопрос: «как сделать АНЛАЙН ИГРУ круче ВоВа и Линейки. »

Первое , что я хотел сказать. Новички не лезьте в создание игр жанра MMORPG, данное дело очень сложное. Чего стоит только написание сервера. Даже крупные компании разработчиков игр не сразу берутся за этот жанр. Мой вам совет, начинайте с самого лёгкого, с шариков, плаформеров. Сделайте Пакмэна, но не беритесь за MMORPG.

Второе : для того чтобы создать игру надо хоть что-то уметь, а не только руководить. За вас вам игру никто не сделает. И тут вы отвечаете: « дык я сценарист»
Новички, я вам задам вопрос: « Что такое сценарий, а что сюжет?» Настоящий сценарист ответит, а псевдо-сценарист лишь разведёт руками.
Если ты сценарист — потрать месяц на написание сценария хотя бы одной вменяемой сцены (скажем, завязки игры). Сюжет не равно сценарий.
Сценарий выглядит примерно так: В пещеру осторожно входит рыцарь, держащий в руках факел, его доспехи тихо дребезжат. Он достаёт меч из ножен и продвигается вглубь пещеры. Затем внезапно во тьме впереди загораются два глаза, земля трясётся и на свет факела выходит ужасный Дракон. Начинается диалог:
(Дракон) — Я загадаю тебе загадку, если не отгадаешь, то я тебя съем.
(Рыцарь) — О нет! У меня с детства туго с загадками.
(Дракон) — По рельсам движется товарный поезд. Сколько мне лет, если у тебя дома белый холодильник?

Сюжет выглядит несколько иначе и в случае линейности оного выглядел бы так: Рыцарь посещает пещеру ужасного дракона и, не сумев разгадать его загадку, оказывается съеденным им. Однако, как водится, у съеденных всегда есть два выхода. Очень доволен Рыцарь.
Так что учитесь на ошибках «сценаристы»

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

Четвёртое (если вы ещё не определились с жанром):
Существует довольно много жанров. Вот некоторые из них:

Читать еще:  Как нарисовать шерсть кота карандашом. Как рисовать шерсть животных карандашом

Платформер (англ. platform game) — жанр компьютерных игр и видеоигр (большинство из них выходят именно на видеоприставках), причисляемый многими журналами к аркадам, где основной чертой игрового процесса является прыгание по платформам, лазанье по лестницам, собирание предметов, обычно необходимых для завершения уровня. Некоторые предметы, называемые пауэр-апами (англ. power-up), наделяют управляемого игроком персонажа особой силой, которая обычно иссякает со временем (к примеру: силовое поле, ускорение, увеличение высоты прыжков). Коллекционные предметы, оружие и паверапы собираются обычно простым прикосновением персонажа, и для применения не требуют специальных действий со стороны игрока. Реже предметы собираются в «инвентарь» героя и применяются специальной командой (такое поведение более характерно для аркадных головоломок).
Противники (называемые «монстрами» независимо от внешнего вида), всегда многочисленные и разнородные, обладают примитивным искусственным интеллектом, стремясь максимально приблизиться к игроку, либо не обладают им вовсе, перемещаясь по круговой дистанции или совершая повторяющиеся действия. Соприкосновение с противником обычно отнимает жизненные силы у героя или вовсе убивает его. Иногда противник может быть нейтрализован либо прыжком ему на голову, либо из оружия, если им обладает герой. Смерть живых существ обычно изображается упрощённо или символически (существо исчезает или проваливается вниз экрана).
Аркада (англ. arcade) — распространённый в индустрии компьютерных игр термин, обозначающий компьютерные игры с нарочито примитивным игровым процессом. Некоторые журналы о компьютерных играх выделяют их как отдельный жанр и причисляют к ним платформеры (те, что были портированы на PC).
В мировой практике, а также в прессе, описывающей не только компьютерные, но и видеоигры аркадами называются игры для аркадных игровых автоматов. Это не отдельный жанр игр, а скорее игровое направление. Компьютерная или видеоигра называется «аркадной» в том случае, если она напрямую портирована с автомата или же схожа по концепции с играми для автоматов. Например, к аркадным играм относятся все проекты жанров «файтинг» (fighting), часть игр жанра «гонки» (racing), часть игр жанра «шутер» (shooter). К ним никогда не относятся платформеры, ролевые игры, симуляторы (кроме т. н. «танцевальных симуляторов»), стратегии.
3D-шутер (англ. shooter — русск. стрелялка) Название произошло совмещением понятий «3D» (три измерения) и shooter (англ. стрелок). На момент зарождения жанра укрепилось слово «шутер», как вариант описания игрового процесса и перевод для слова shooter.
FPS (First Person Shooter) – разновидность шутера. Данный жанр переводится, как «шутер от первого лица». То есть, за событиями мы наблюдаем из глаз персонажа. Яркие представители этого жанра: S.T.A.L.K.E.R. , Half-Life, Call of Duty
TPS ( Third Person Shooter ) – ещё одна разновидность шутера. Здесь мы за персонажем наблюдаем со спины. Делать надо то же что и в обычном шутере.
Представители данного жанра: Collapse, Max Payne, Gears of War.
Strategy (русск. Стратегия ) – в этом жанре игроку надо командовать армией, строить здания, развивать экономику, добывать ресурсы. В этом жанре вы можете почувствовать себя генералом, от чьего решения зависит всё. Здесь используется вид «с высоты птичьего полёта». Представители этого жанра: War Craft, World in conflict, Command and Conquer, King’s Bounty
Racing (русск. Гонки) – жанр гонок. Игрок управляет автомобилем. Обычно, цель игрока дойти до финиша первым. В некоторых представителях этого жанра можно улучшать автомобили, заниматься тюнингом. Модели машин, в основном, скопированы с настоящих.
Яркие представители этого жанра: Need for Speed, Race Driver Grid, DIRT 2….

Это основные представители жанров. ( использована информация с wikipedia.org )

Пятое . Вот вы определились с жанром. Теперь необходимо выбрать движок, либо конструктор.

Источники:

http://www.cyberforum.ru/game-engine/thread2265455.html
http://3dg.me/ru/gamedev/basics/igrovoy-dvizhok-napisat-samomu-ili-vzyat-gotovyy
http://make-games.ru/sozdat_igru

Ссылка на основную публикацию
Статьи на тему:

Adblock
detector