на чем пишут инди игры
Разработка инди-игры одним человеком (история, советы)
Я хотел бы рассказать вам о своем опыте в разработке инди игры. Мой опыт ограничен всего одной игрой, которая на данный момент находится в “раннем доступе” в Steam. Это не много, но мне кажется мне есть чем поделиться. Если не хочется читать все — в конце самое интересное кратко.
Знакомство с Unity
Т.к. один из моих любимых жанров это TD (tower defense, защита башнями) – я хотел попробовать создать что-то похожее на игру этого жанра. До начала работы с Unity (и соответственно с C#) я работал только с PHP и Python.
Связка Unity + C# показалась мне более удачной (и простой), чем Unreal Engine + C++. Для начала я познакомился с C# (сделал простенькую программку в Visual Studio), а потом уже начал изучать Unity. Если вы уже владеете на хорошем уровне одним из языков программирования – C# будет прост и понятен. Знакомство с самим Unity – гораздо сложнее.
К сожалению, на момент начала создания игры я не прочитал не одной книги по Unity. Я начал с нескольких онлайн курсов и видео, которые бегло знакомят с инструментами Unity. Могу назвать это одной из самый больших ошибок. То есть я учился работе с Unity непосредственно работая в Unity (создавая игру). Но в принципе это не противоречило тому, чего я хотел. В самом начале я не думал, что игра получиться, и я начну её продавать. Я просто хотел познакомиться с движком, может быть после этого попробовать UE.
Первые шаги
Посмотрев несколько роликов, а также отличный видео-урок по созданию TD в Unity я начал свое дело. Времени на создание игры у меня было всего несколько часов в неделю. Я смотрел видео, читал документацию, гуглил непонятные моменты, что-то делал. Игра начинала превращаться из “кружочки стреляют в квадратики” в “мужик с топором бьет волка”. Я потихоньку осваивал простейшие инструменты Unity и взаимодействие с C#. К сожалению самых первых версий игры, или скриншотов не сохранилось (те что есть, это примерно 2-3 месяца от начала создания).
Также я сделал простейшее меню, и что-то вроде менеджера колоды, ведь у меня TD с элементами CCG (коллекционные карточные игры) и RPG. Далее началась работа над RPG составляющей, мне было интересно придумать формулы расчета урона, брони, меткости, крита и т.д. а также добавить ко всему этому CCG.
Постепенно игра начинала обзаводиться функциями, которых я не встречал в других играх, а также интересными механиками. Больше всего вопросов было к визуальному исполнению. Но так как игра делалась “для себя” – в этом проблем не возникало.
Я ни копейки не заплатил дизайнеру, брал картинки и музыку с открытых бесплатных источников. Например для создания героев я использовал бесплатную программу Hero Machine, для тайлов карт что-то рисовал сам, для музыки — YouTube. В общем на 2-3 месяц разработки (как мне казалось обучения Unity), я даже не думал о продажах или т.д.
Первые траты
Если бесплатная программа по созданию героев-защитников помогала мне, достойных врагов мне создать не удавалось. В какой-то момент мне захотелось сделать разные виды врагов и при этом выглядящих хорошо. Мой взгляд упал на фриланс-биржи. Я разместил заказ на создание 2Д волка и его спрайтовую анимацию на одной из бирж (что-то вроде freelance.com). Ответов было много, я конечно выбрал самый бюджетный вариант. Первый волк мне обошелся в 20$.
После того как я интегрировал в игру волка и увидел на сколько игра выглядит лучше – я задумался об большем количестве врагов. Я поискал ребят на отечественных фриланс-биржах и нашел там человека, который запросил меньше заморского художника, да и его стиль мне понравился больше.
Он нарисовал мне новых врагов “волка”, “кабана”, “энта” для первого акта игры. Они выглядели круче чем вся моя графика игры, поэтому я заказал у него новый UI. Вся работа дизайнера (рисовка первого акта + UI) стоила около 200$.
Я начал видеть, что игра приобретает какие-то реальные очертания. Добавил кузницу и магазин, дизайнер начал работу над вторым актом (нежить). Дизайнер рисовал самих врагов, а также карты – уровни. Второй акт мне обошелся в 100-150$.
Я начал задумываться о Steam Greenlight, чтобы получить хоть какой-то отзыв.
Game Planet 2016
Я увидел объявление об участие на фестивале “Game Planet”. За участие просили 5000р., давали кабинку 1м х 2м. Мне было интересно, поэтому я согласился. Взял в помощники коллегу с работы (спасибо ему за помощь), распечатал кучу макулатуры (спасибо халявному принтеру на работе), призы, баннеры, футболки, купил шоколадки. В общем два дня фестиваля обошлись мне примерно в 150-200$.
Также к старту фестиваля я оформил страничку в Steam для запуска игры на Greenlight. Мне казалось, что удастся привлечь к игре внимание на фестивале и быстрее пройти отбор в Steam.
Всего в инди-площадке не фестивале было 8 кабинок. Мне кажется не очень повезло с расположением. С права от меня была игра про гонки (представлял её ИЗДАТЕЛЬ, разработчики на Украине), слева игра “Mushrooms Wars 2” (сами ребята говорил, что им с дизайном помогал Apple). Почему эти ребята считали себя инди и почему также считали организаторы – мне не понятно. В общем на их фоне я (да и остальные реальные инди-разработчики) выглядели хуже. Я показывал игру на PC а также на дешевом планшете с Windows.
Мы показывали нашу игру, собирали мнения, просили голосовать в Steam, раздавали сертификаты на бесплатную Steam версию и т.д. Также пытались привлечь людей в наши группы в соц-сетях (обещали там дополнительные розыгрыши, призы и новости).
Было интересно наблюдать за игроками, что им понятно, что вызывало трудности. Игроки находили баги и говорили свое мнение. Больше всего жалоб было на графику. Она была слишком простой и с этим было глупо спорить. Графика не могла своей стилистикой походить на олдскульную или пиксельную. Она просто была плохой (т.к. большую её часть делал я сам). Механика игры людям нравилась и была им интересна. Также удивительно, но игра понравилась детям (лет до 10). Такое ощущение, что они первый раз видели жанр TD, и он их очень увлекал. Одна мама оставляла нам ребенка на несколько часов (оба дня фестиваля), и он сидел в углу кабинки и играл.
Также я познакомился с несколькими крутыми ребятами (также инди-разработчиками) и у меня появились люди с кем бы я мог обсудить свое творение, получить профессиональное мнение, совет.
В итоге я могу сказать, что вся польза от фестиваля – несколько голосов в Steam, понимание что надо менять графику, несколько новых знакомств.
Писать как проходился Steam Greenlight особого смысла нет, т.к. его больше не будет. Но все свелось к тому, что надо самому нагонять “подготовленный трафик”. Иначе ваша игра никому не нужна и стандартный комментарий будет “что за очередное говно!?”.
Boomstarter
Также я пробовал краудфандинговую компанию на Российском сервисе Boomstarter. Для меня это стало бесполезной тратой времени. На сервисе нет своего трафика, и если у вас нет сотен человек, которые хотят в вас вложиться – там вы новых не найдете.
Жизнь после Greenlight
Прохождение Steam Greenlight это круто. Это значит, что потраченные часы на разработку, деньги на графики, 100$ за само участие – все было не зря. Кому-то (кроме тебя) твоя игра интересна, и он теоретически готов её купить.
Steam Greenlight оставил двойственные впечатления. Во-первых, получилось пройти его всего за 2 недели. Это быстро и хорошо и этим надо гордиться. Но во-вторых я понял, что без “подготовленного трафика” не получилось бы пройти так быстро (можно было бы зависнуть на несколько месяцев или полгода). Также я начитался кучи комментариев вроде “игра — г***о”, “автор *Роскомнадзор* об стену” и т.д. Меня как неподготовленного к такому было неприятно. Я покликав игры на том-же Greenlight ставил лайки, если нравиться. Если чужая игра мне не нравилась, я просто проходил мимо.
Далее был новый год, потом меня пригласили в интересный фриланс проект. Своему дизайнер я заказал перерисовку карт (уровней), т.к. существующие абсолютно не вписывались. Разработка остановилась примерно на пол года.
Новые уровни стали симпатичнее, я начал добавлять для красоты частицы (particles). Также шел процесс багфикса и добавления того, что предлагали игроки с фестиваля.
Я несколько раз сходил на Питерские гейм-дев тусовки, поболтали, попили пива. Правильную мысль высказал Oleg Pridiuk: “игры надо делать не для того чтобы делать, а для того, чтобы продавать”. Мне эта мысль стала близка, т.к. до этого момента я особо не думал о продаже. Мне нравился сам процесс разработки – ставить цель, реализовывать, придумать новую механику – сделать.
Тем временем я нашел еще одного дизайнер. У первого были другие проекты (может быть более денежные, может быть более интересные).
Со вторым дизайнером мы начали с перерисовки главного меню игры (картинка сверху). Это первое (после заставки), что видит игрок и на мой взгляд оно должно было быть крутым. То, что получилось – мне очень понравилось:
Эта картинка стоила мне около 40$ но делала первое впечатление об игре лучше. Мы продолжили работу и решили начать с перерисовки UI. Старый деревянный UI плохо смотрелся с новыми элементами.
Новый UI обошелся мне в 100$, и т.к. первый дизайнер не освободился – было решено, что всеми новыми задачами займется второй дизайнер. Мы дорисовали второй акт, интерфейсы, он сделал некоторые замечания по цвету-шрифту. Я запланировал выход на среду 8 ноября. Кстати можно менять дату выхода хоть каждый день. Игра тогда будет висеть в списках «скоро выходит», и до её выхода успеет привлечь некоторое внимание. Я такой тактикой не пользовался, но говорят работает.
Steam Early Access
Игра в таком виде была готова (на мой взгляд) к выходу в Steam Early Access. На удивление подготовка заняла ОЧЕНЬ много времени (от готового билда до выхода в Steam). Начиная от добавления Steam SDK и заканчивая сотнями картинок, которые нужны Steam для вашей игры, также загрузка первого билда – это непонятно (спасибо тому, кто помог разобраться). Также необходимо заполнить всякую налоговую информацию, создать описание игры и описание раннего доступа (я сделал на Русском и Английском языках), достижения, карты, смайлики и т.д. Я думаю, что процесс подготовки занял у меня около недели.
Еще я старался вести группы в социальных сетях, старичку на IndieDB и т.д. Все это отнимает ОЧЕНЬ много времени, и вместо того, чтобы делать игру – я делал картинки в фотошопе. В общем если у вас есть человек, который может взять этот труд на себя (или вас в команде хотя бы больше 1) – то вам повезло.
Также для меня было не просто определиться с ценой и днем недели / датой для выхода игры. Я прочитал несколько статей, и вот что понял для себя:
К моменту релиза игры – у меня уже будет исправлены все баги и добавлено все что хочет сообщество. Также у меня будет некое количество отзывов (пока держится в статусе “положительно”). Так что я не вижу не одного минуса в Early Access – это круто и работает.
Способы увеличения продаж
Что я пробовал и что получил:
Итого бюджет
Мне уже видно, что игра полностью отобьёт все вложения, и даже принесет какой-то заработок. Конечно жить на эти деньги бы я не смог, но хобби которое приносит небольшой заработок – это круто. Также я хочу попробовать выйти на iOS и Android по готовности (это принесет очередной интересный опыт). Игра располагает к игре на планшетах.
Буду ли я делать еще игры? Однозначно да!
PS: если кому-то хочется поиграть, но не хочется по какой-то причине покупать — пишите, поделюсь ключиком бесплатно (количество ключей ограничено).
Набор инструментов инди-разработчика игр
Доброго времени суток, начинающие игроделы!
Инди-разработчик игр, это универсальный солдат, которому приходится делать все: писать код, рисовать картинки, лепить 3D модели потом делать для них текстуры и многое другое. Под каждую задачу нужен определенный инструмент, да еще и бесплатный по возможности, так как начинающий игродел имеет скромный бюджет. О том, какие программы помогли мне ускорить рабочий процесс я расскажу под катом.
Внимание: данный пост не рекламный, это лишь список программ, которые помогают мне в моих проектах.
Когда я задумался о разработке игры, передо мной встал ряд вопросов, а именно:
Игровой движок
Для любой игры необходим игровой движок. Игровой движок, это сердце нашей игры, в нем мы концентрируем все наши идеи, прорабатываем логику игры и взаимодействие игровых объектов, поэтому, от удобства игрового движка зависит скорость разработки.
Рынок игровых движков наполнен множеством вариантов. Есть движки которые рассчитаны только для 2D игр, а есть которые только для 3D, но на мой взгляд более универсальными вариантами считаются Unity и Unreal Engine. В них есть все инструменты для выполнения рабочего процесса, также у них есть свои достоинства и недостатки. Я попробовал оба продукта, но для текущего проекта выбрал Unity. Возможно в будущем я попробую сделать что-нибудь на Unreal Engine. Какой движок нужен вам, выбор за вами.
Скрипты
В Unity вся логика описывается C# скриптом (до версии помоему 2017.2.х можно было использовать JavaScript, но теперь его выпилили и оставили только C#), для этих целей используется встроенный редактор MonoDevelop, но даже в последних версиях Unity этот редактор имеет ряд неудобств и глюков, но для написания небольших скриптов он подойдет.
Для написания скриптов также можно использовать внешний редактор такой как Visual Studio. VS Community бесплатный, имеет мощный IntelliSense и как с Unreal Engine так и Unity он очень хорошо совместим. Microsoft недавно выпустили легковесную версию Visual Studio под названием Visual Studio Code. VSCode также хорошо интегрируется в Unity, но попробовав писать в нем код, мне приходилось постоянно под себя его настраивать, это и плюс и минус, поэтому, так как я пользуюсь старшей версией VS уже около 10 лет мне в ней привычнее. Выбор за вами.
В дополнение, позволю себе отступить от темы и немного поговорить о сравнении Unity и Unreal Engine. Когда я читаю посты и смотрю видео в которых сравниваются Unity и UE, многие ставят жирный плюс UE за возможность без знания языка программирования писать визуальный код используя Blueprint. Мои мысли по этому поводу: да, несомненно писать код расставляя прямоугольники и соединяя их, это удобно, НО изучение языка программирования такого как C++ и C# не составляет труда и сводится чаще всего только к изучению ключевых слов, синтаксиса и понятия ООП.
Когда начинаешь писать какую-либо программу или игру необходимо изучать API того или иного продукта, например когда мы пишем программу для Windows, нам необходимы функции для загрузки и сохранения файла на диск, API работы с Network и многое другое, с игровыми движками все тоже самое, необходимо изучать API. Вот и с blueprint также никуда не уйти от изучения API Unreal Engine. До начала разработки игр я писал программы и на C/C++ и C# поэтому в unity мне было проще, но когда я решил попробовать blueprint для меня это был настоящий квест с поиском в документации нужных нодов. Да и названия ключевых слов имеют отличия от стандартного языка программирования например: в C/C++/C# ветвление выполняется с помощью «if( ) else» а в blueprint нод называется «Branch», логично но не привычно. Поняв, что на изучение API UE у меня уйдет некоторое время, я отложил эту затею и вернулся к Unity. Возможно новичкам скорее всего будет проще изучать UE.
Растровые изображения
Ну вот пришло время оформить пользовательский интерфейс, разложить кнопки и поля ввода, также нужна хорошая картинка на задний план загрузочного экрана, а если это 2D игра, то необходим еще и набор спрайтов для персонажей и уровней. Конечно для прототипирования пользовательского интерфейса, подойдет стандартный набор контролов встроенный в движок, а для рисования простейших спрайтов подойдет и paint.net, но если мы хотим кастомизировать контролы или нарисовать оригинальные спрайты, то нам необходим мощный графический редактор.
Я думаю, что все со мной будут согласны, что на рынке лидером программы для растра является Photoshop и до недавнего времени ему не было альтернатив. Покопавшись во всемирной паутине я наткнулся на Affinity Photo и Affinity Designer. Affinity Photo это аналог Photoshop но с проработанным интерфейсом, с ним еще толком не разобрался, поэтому я не могу рассказать о его сильных сторонах, а вот Affinity Designer это достаточно мощный и интуитивно понятный векторный редактор. Посмотрев пару официальных видео я смог нарисовать логотип для своей программы, кнопки и спрайты для игры.
Еще одно немаловажное преимущество программ от Affinity перед Adobe это невысокая цена и одноразовый платеж без ежемесячной подписки, купил и пользуйся.
Также есть бесплатный аналог Photoshop’a, GIMP, но он мне не зашел, уж больно у него замороченный интерфейс, но для кого-то это наилучший вариант. Выбор за вами.
Кстати! Все картинки к данному посту сделаны мной в Affinity Designer.
3D моделирование
На мой взгляд, самый лучший выбор для инди-разработчика это Blender! Blender’ом я пользуюсь на постоянной основе и в нем есть все для создания игровых моделей это: полигональное моделирование, моделирования высокополигональных моделей аля zBrush, ретопология, UV развертка, рисование по модели, риггинг, анимация, запекание текстур по модели и многие полезные плюшки. Правда, когда я первый раз открыл Blender я нифига не понял как им пользоваться, пришлось смотреть обучающие видео и читать книги, благо сообщество у него огромное и на каждую мелочь можно найти туториал, после этого пальцы сами нажимают на кнопки при моделировании очередного камня или унитаза для своего проекта. Выбор за вами.
Текстуры
Итак! Вы слепили крутые модели, сделали UV развертку, анимировали, но модель получилась вся серая, а хочется чтобы у персонажа были глаза и рот, а на рубашке пуговицы. Конечно в Blender’е есть встроенный редактор рисования по модели, но он подходит только для простых моделей не требующих хорошей детализации. Обычно в LowPoly стиле так и делают, заливают грани нужным цветом и все, моделька готова.
Но как быть если нужно сделать качественную текстуру, да еще и с картой нормалей, картой затенения, картой отражения и т.п. Опять же в блендере это все можно сделать, но это не очень удобно. Нужные программы мне пришлось долго гуглить и нашел два варианта а именно: Quixel и Substance Painter. Quixel мощный инструмент для создания текстур но он идет как плагин к Photoshop и если вы, в разделе Растровые изображения данной статьи, выбрали фотошоп как основной инструмент создания спрайтов для вашей игры, то этот вариант точно для вас, но лично я выбрал пакет от Substance.
Substance Painter идет как отдельная программа в которой можно скрафтить качественные карты текстур для вашего персонажа рисуя материалами прямо по модели. В пакете с программой поставляется огромное количество заготовленных материалов таких как камень, дерево, металл, кожа, пластик. Любой материал можно изменить и настроить по вашему желанию, а также составить комбинацию материалов например: покрасить бочку краской, сделать потертости и выступы ржавчины. Но если материалов не хватает или необходимо создать свой оригинальный материал, то на помощь придет вторая программа Substance Designer в которой с помощью нодовой системы можно создать шедевр. Очень хорошей плюшкой данных программ это то, что эти программы отлично встраиваются в Unity и Unreal Engine. Создав материал какого-нибудь«золотистого бетона» просто перенесите в Unity и повесьте на объект. Также для Unity есть плагин с помощью которого можно при рисовании на модели в Substance Painter видеть все изменения на модели в игровом движке с настроенным освещением.
И еще, самая главная плюшка Substance, это возможность в Steam приобрести инди-пакет по низкой цене в который входят сразу три программы с поддержкой на год: BitmapToMaterial, Substance Painter, Substance Designer. BitmapToMaterial позволяет создать сразу несколько карт текстур из обычной растровой текстуры.
Впрочем, выбор за вами!
Музыка и звуки
Ну вот вы все сделали, нарисовали спрайты, сделали 3D модели, разукрасили их, написали логику для игры, нажали играть и …. тишина! Все работает, но ни одного звука, стрельба из автомата как в вакууме, ничего не слышно. Пришла пора создать звуки и написать классный трек ради которого будут покупать вашу игру закрывая глаза на унылый геймплей 🙂
Вот если со звуками еще более менее все просто, достаточно креативно что-то нащелкать в микрофон, потом в бесплатной Audacity подправить и звук стрельбы из инопланетного мега бластера готов, то с музыкой все немного сложнее. Если есть слух и желание написать свой трек, то хорошим выбором будет FL Studio. Цена у FL Studio конечно не маленькая, но реальная. Можно конечно использовать бесплатную музыку которой полным полно в сети. И как всегда, выбор за вами!
На чём создавать игры: что есть что в мире геймдева
Так много разных инструментов для создания игр, что голова идёт кругом. Разбираемся, что это вообще такое и что выбрать для себя.
Unity, Unreal Engine, Godot, Game Maker Studio, Source, RPG Maker, CryEngine, Creation Engine, C++, C#, JavaScript, Swift, Java, Objective-C, Lua, Python, PyGame, PHP, Scratch, DirectX, PhysX, OpenGL, Havok, Cocos2D…
Большой список, не правда ли? Это только часть технологий, которые используются для создания игр. Если вы очень хотите войти в геймдев, но пока ещё ничего не знаете, сам этот список может вас отпугнуть. Или же по чьему-нибудь совету вы что-то выберете, а потом, освоившись немного, поймёте, что это не совсем то, что вам нужно.
Эта статья — смесь энциклопедии и дорожной карты, которая поможет вам выбрать инструментарий для себя.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Что есть что
Движки для разработки игр
Игры создаются с помощью движков — набора инструментов, который позволяет работать с графикой, физикой, скриптами и прочим.
Вот скриншот интерфейса движка Unity:
В левом верхнем углу — игровая сцена, на которую можно добавлять объекты, двигать их, убирать и так далее. Ниже расположено игровое окно — в нём можно увидеть, как будет выглядеть готовая игра. Можно даже нажать на кнопку Play и поиграть.
Дальше можно увидеть иерархию объектов на сцене, файловый менеджер и вкладку Inspector — в ней есть разные настройки для выбранного объекта. Кроме того, можно зайти в настройки проекта и указать желаемые показатели для гравитации, освещения, теней, качества графики и всего прочего.
Application Programming Interface — интерфейс программирования
Вы либо используете готовый движок, либо пишете свой — у обоих вариантов есть плюсы и минусы.
Список современных движков:
Впрочем, вы можете обойтись и без движка, если игра очень маленькая, вроде браузерки или небольшого платформера.
Языки программирования
Дальше идут языки программирования — с их помощью вы будете писать для компьютера условия и команды: если А, сделай Б, а если В, сделай Д. Несмотря на то что движки берут на себя огромную часть работы, программировать придётся много.
Перемещение по меню, переход между локациями, управление персонажем, движение камеры, смена музыки, диалоги, система квестов — всё это и многое другое нужно будет запрограммировать. Не говоря уже об игровом искусственном интеллекте.
Если вы уже выбрали какой-то конкретный движок, то и язык нужно выбирать подходящий. Например, в Unity поддерживаются C# и JavaScript
(его модификация, которая называется UnityScript), а в UE4 — С++.
Список языков:
Фреймворки
Вы можете использовать язык, чтобы написать игру без движка. Например, на JavaScript создаются браузерные игры, на C++ или C# — игры для компьютеров, на Java — для устройств на Android, и так далее.
Для этих языков есть либо библиотеки для работы с графикой, либо целые фреймворки для создания игр. Фреймворк — это каркас, почти готовое приложение. Разработчик просто дописывает для этого каркаса какие-то дополнительные функции, подгоняя его тем самым под свои нужды.
Разработчики игры Celeste решили отказаться от движков в пользу фреймворка XNA от Microsoft для языка C#. В итоге у них получился платформер с очень крутым управлением.
Использование библиотек или фреймворков, наряду с написанием собственного движка, даёт максимальную свободу. Но у вас пропадает возможность пользоваться графическим интерфейсом, а все настройки и параметры приходится писать с помощью кода.
Список фреймворков:
Библиотеки
Библиотеки, в отличие от фреймворков, не дают почти готовое приложение, но предоставляют определённые инструменты. Самый простой пример — библиотека Math (математика), которая есть практически в каждом языке программирования.
Использование Math позволяет вам без проблем возводить числа в степени, находить корни, искать модули, высчитывать синусы, косинусы и так далее. Вы не реализуете всё это самостоятельно, а просто вызываете нужную функцию и передаёте ей параметры.
В геймдеве используют более сложные библиотеки, которые позволяют работать с графикой или физикой. Например, графические библиотеки позволяют растрировать игровые объекты.
То есть разработчик не пишет для видеокарты инструкцию, какие пиксели ей выводить. Вместо этого он добавляет в игру спрайты (изображения)
или 3D-модели, а графическая библиотека сама высчитывает, как это должно выглядеть на мониторе.
Физические библиотеки берут на себя работу (сюрприз!) с физикой: ускорение свободного падения, закон сохранения энергии, импульсы, векторы — самые безобидные примеры.
Аналогичные библиотеки есть и для работы со звуком и другими аспектами игровой разработки.
Список графических библиотек:
Список физических библиотек:
Впрочем, если вы используете какой-нибудь движок, то особо задумываться об этом не нужно.
Что из этого выбрать
Если вы новичок, то стоит начать с движка — это поможет лучше понять, как вообще строится процесс создания игр. Выберите один движок и создайте несколько проектов. При этом постарайтесь понять, что происходит под капотом. Если у вас есть опыт в программировании, всё равно начните с движка — причина та же.
Критерии выбора движка следующие:
Если хотите, почитайте отзывы, но они могут вас запутать. Так, многие не любят Unity, но разработчиков на нём становится всё больше.
Source
Например, на Source сделаны практически все игры от Valve вроде Half-Life и Portal.