Comments 89
В примере для cocos. Видео с игрой hearthstone. Которая сделана не на cocos, а на unity.
И наверно стоит дополнительно написать про Cocos creator. Так как он уже полноценный игровой движок с поддержкой 3d и скрипты пишут на ts.
Ещё добавьте информации про ogre-next(или ogre2). В котором добавили глобальное освещение (чем то схож с lumen из ue5).
DragonRuby ещё! Выдающийся движек кмк.
формально вы не правы, за прошлый год в стиме вышло 12к+ игр, т.е. каждый день больше 40 новых. Другое дело с их качеством. Так что игры есть и очень много, а играю я 10 раз во второй фолыч :)
Hidden text
Да в этом году игр просто миллион. Именно хороших игр. Многие даже жалуются, что не успевают проходить всё. От бг3 до алан вейк 2 - релизов просто огромное кол-во. Один из лучших годов в игровой индустрии объективно.
Все потому что игра - это не только код, но и контент
чего нет? 2023 наверное один из самых безбашенных годов по релизам, вам мало?
Ну для кого-то движок и является игрой
Непонятно, почему Godot только C++, сейчас у данного движка обширная поддержка C#, что важно для огромного пласта девелоперов мигрирующих с юнити
Почему-то упущена информация про отечественных производителей, таких, как unigine к примеру
я знаю про него (добавил ссылку на сайт), но исходников к нему нет поэтому не стал добавлять, мощный движок, непонятно почему ребята его не шарят. Опыт Unreal показывает, что это дает мощный толчок развитию, движок это 10-15% процентов игры и даже если пошарить всю игру, со всеми ресами и объяснением как собирать, то реально его смогут собрать и пользоваться ну хорошо если 5% тех, кто получил доступ. А поменять и того меньше
У них там фирменные технологии рендеринга открытых пространств, которых ни у кого нет(вроде). Видимо не хотят делиться, а то добавят такое в анрил и Unigine станет никому не нужен... Ибо зачем платить 6тыс баксов в год за место, когда есть "бесплатный" анрил.
Странное конечно поведение, анриал. выкатил люмен и нанит технологии, которые стоили несколько лямов каждая в разработке и это только добавило популярности, и продаж и денег в итоге. Unigine ни в коем случае не хочу обидеть, кушать хотят все. Ну хочешь сделай ее бинарным модулем, просто не вижу смысла скрывать хаусмейд движок когда вокруг десяток открытых как минимум не хуже
двойная точность так же есть и в CryEngine :), и в VBS
сейчас unigine - это скорее полугосударственная компания (там заказы с алмаз антея идут)
Давно перестал следить за ними
если я правильно помню новость 2021 года здесь на хабре, то коркоманда перехала в Люксембург. Так что увы, уже не российская. Может кто из более знакомых с темой расскажет. (https://unigine.com/news/2020/company-restructuring-completed)
Спасибо за такой обширный обзор! А не подскажите движок который подходит для разработки игр-ботов для telegram? Возможно есть какой то с поддержкой api телеграмма? Смотрел в сторону defold, но что то мало информации по этой теме
А можете привести хоть один пример такой игры-бота? Я просто делаю и игры и бота, и не понимаю какой движок нужен для совмещения
Смотря что вы понимаете под игрой-ботом. Если текстовые игры, то там по сути используется стандартный телеграм-инструментарий для ботов, то есть, берете любую библиотеку под это дело, или тот же FastAPI, и думаете, как адаптировать под вашу игровую задумку. Если что-то более сложное, смотрите в сторону Web Apps и JS-движков.
Как насчёт Blender Game Engine или на нем игры не делают практически?
не сталкивался, добавил ссылку на него в статью
https://github.com/UPBGE/upbge
он ж вроде как заброшен, после выхода блендер 2.8
Сейчас нет его. Да и игр на нём толковых не было, на самом деле, кроме Yo Frankie!, но и то демонстрация от команды Blender.
P. S. Как тут уже упомянули, его вырезали в 2.8. Есть отдельный проект UPBGE.
Mach не проприетарный. Он apache или MIT по лицензии. И вроде только copyright у них в репозитории связан с тем, что авторство того или иного куска кода принадлежит контрибьютору, который это кусок кода написал. То есть скопировать код и выдать себя за автора нельзя
ThreeJS (MIT/JS)
https://threejs.org/
включает в себя редактор
добавлю сразу ссылку на github https://github.com/study-game-engines
А есть ли движки заточенные под создание логических игр, типа крестики нолики ,2048, пятнашки, тетрис и т.д? Так как использование таких мощных движков как Unity, Unreal Engine для таких игр будет как стрельба из пушки по воробьям, на мой взгляд.
Добавлю про Flame свои три копейки, т.к. в эту тему уже года полтора погружен.
Там сейчас всё нормально запускается, в плане примеров, и все они работают в браузере, там же можно потыкать, ничего не скачивая.
Сам движок довольно ограниченный, во-первых тем, что под копотом skia, которая особо не даёт как-то "на микроуровне" рулить GPU, во-вторых намерениями разработчиков, которые в целом не принимают во внимание случаи, когда в игре будет больше пару сотен компонентов, ну а в третьих самим контингентом пользователей. Не все, конечно, дубы, но от некоторых такое чувство, что вчера они собирали игру в Game Maker а сегодня написали свой Hello World на дарте и теперь преисполнились...
Для иллюстрации: вот сделали для Flame движок для быстрого делания RPG игр, и вроде на нем легко собрать то, что нужно, но даже просто карту он будет рендерить на 15-30 FPS на средненьком телефоне, потому что автор просто даже близко не думал о том, скольок ресурсов жрут его архитектурные решения.
Или вот совсем недавно в самомом Flame даже сейчас можно посадить FPS, просто добавим несколько тысяч пустых компонентов. которые даже рендериться не будут. А до недавнего времени простое касание экрана приводило к перебору всего дерева компонентов, что, конечно, подвешивало игру.
Узкое место архитектуры движка - это дерево компонентов, модификация которого выходит довольно дорого, а масла в огонь подливает "архитектурная политика" разработчиков, которые считают, что любые объекты нужно запихивать в это дерево. Что плохо сказывается на производительности, но об этом они будут думать только когда начнут разрабатывать версию движка 2.0, то есть где-то в необозримом будущем.
Если резюмировать, то движок без допилов можно использовать только для игр, которые более-менее помещаются в ваш один экран. Все вот эти идлеры, инфинити раннеры, вот это вот всё... Остальное он при текущей архитектуре просто не потянет.
А ещё есть проблемы со звуком (задержки воспроизведения в зависимости от платформы, крэши, влияние на производительность всей остальной игры) , с методами ввода (для мыши не распознаётся кнопка, которой был произведён клик, для геймпадов библиотека заброшена и вообще несовместима ни с современным Dart ни с Flame)....
В общем, к этому движку надо подходить крайне осторожно, особенно когда из каждого утюга тебе кричат, что Flutter крутой и сейчас захватит мир, вот мы вам сюда пиксельные шейдеры даже завезли, вот вам новый графический движок Impeller, который магически будет рендерить лучше (фигня, типичная рекомендация для Flame - выключите его, и все баги пройдут).... а то часто у людей любовь к конкретному инструменту перевешивает здравый смысл и критическое мышление, увы.
Я такой злой, не потому что у меня с Flame ничего не получилось, наоборот - запилил на нем прототип игры, преодолел бОльшую часть проблем, которые шли вместо с Flame в коробке, пилю свою либу для более сложных и масштабных игр... вот весь этот долгий пройденный путь и позволяет мне ругаться на движок не просто со злости. а со знанием дела xD
вы не против, если ссылку на коментарий ваш в абзаце оставлю?
оставлю тут ссылку на ваши мытарства https://habr.com/ru/articles/706256/
не у всех есть возможность разобраться с потрохами, а через полгода пересаживать проект на другой долго и дорого
bevy мне очень понравился, особенно его ecs система и он достаточно активно развивается, как в плане фич, так и роста сообщества.
Надеюсь, доведу до законченного состояния хобби проект на нем :)
Кто подскажет хороший C++ 2D движок с минимальным размером билда? Godot меня всем устраивает, кроме размера билда 50Мб+ на винде.
Вопрос такой. А для чего? Мобилки? Web-игры?
Преимущественно для Windows
SFML, вроде, даёт небольшой билд. Попробую его.
Ну это не движок, а графическая библиотека. И в ней нет редактора, как в Godot. Попробуйте Defold
Выглядит неплохо. Спасибо, попробую.
да, defold может помочь, но вам придется вырезать luavm, чтобы получить бинарник меньше 40мб, что лишает вас половины удобства и возможностей в разработке, на реддите был пост про такой эксперимент. 15Мб бинарь у них получился, но готовы ли вы писать игру на чистых плюсах?
Было бы неплохо иметь встроенный скриптовый язык. Но, в целом, без него можно обойтись. Можно попробовать запилить свою минимальную реализацию.
Зато 15 Мб звучит уже приемлемо.
вроде же defold всю дорогу хвастались что у них минимальный бинарь 2-3мб?
последние года три точно нет, если выключить ВСЕ модули может и получится, но смысл от голого рендера? https://github.com/defold/build-size
около 5Мб размер пустого проекта
Интересно, а зачем? В смысле, в чем ценность от размера билда, тем более для Windows? Обычно, удобство работы с движком и набор готовых компонент для решения типовых задач важнее, чем размер билда. Интересно почему у вас не так.
Не скажите, для ряда стран есть даже отдельные конторы, которым отдают игры на даунгрейд чтобы они стали размером 20-30мб. Это связано как развитием сетей в стране так и с нежеланием пользователей ставить на телефон что-то размером больше 50мб
Потому что мне необходимо делать простые игры, где общий размер текстур не превышает 1-2 Мб. Собирать для этого бинарник, который весит больше 50Мб - это какое то извращение. Представьте игру супер марио, которая весит больше 50Мб.
Что если сделать шаг в сторону, отказаться от С++ (раз игра простая) и взять libgdx?
Глянул недавний прототип мини-игры, который сделал за несколько дней:
jar со всем-всем весит 27Мб, должен запускаться на любой платформе (внутри есть .so для линукса, .dll для винды и даже arm64 на макоси поддерживается.
Дальше пишу размеры файлов до сжатия:
1. звуки 2.8 Мбайт
2. графика 5 Мб
3. поддержка windows 7 Мб, macos 6 Мб, linux 9 Мб.
4. Я писал код на kotlin, бибиотека языка ~7 Мб (мог писать на java, тогда библиотеки бы не было)
5. Движок 11 Мб (6 Мб libgdx + 5 Мб lwjgl)
6. Мод скомпилированный код 300кб.
Если смотреть размер по-минимуму:
1. поддержка только винды х64: 3.6 Мб
2. движок 11 Мб.
Возможно, каким-нибудь proguard получится вырезать неиспользуемый код и наэкономить ещё больше.
Из минусов - пользователям потребуется JVM, из плюсов - JVM не надо тащить с игрой, она одна на весь компьютер.
Гамак есть, стенсел есть, гдевелоп есть, констракта нет, не надо так... даже всякие низкоуровневые либы есть...
не работал с ним, вижу что опенсорс какието очень старые версии
https://sourceforge.net/p/construct/code/HEAD/tree/
кхе кхе, пролезу и со своим недоделкой, что ли
https://ebitengine.org/ golang
Terraria написана на Microsoft XNA, а не на SDL
я знаю, в абзаце про SDL речь идет про то, что либа используется как мидлвар для запуска основного движка (создание окна, получение контекста рендера, обраотка ввода) и не нужно писать самому бойлеркод для поддержки всех платформ. Если вы заметили, то видео с играми там нет, только описание технологии. Поправил, чтобы не было разночтений
На Godot более презентабелен Sonic Colors.
Korge engine кажется не упомянули, либо не заметил
Так!
А где Microsoft Excel? Почему нет на первом месте?
Лицензия маленькая и мягкая, написано на C, C++, обёртка VBA
Отмечусь с хаскелем:
Игровой движок Helm: https://hackage.haskell.org/package/helm
Не столько игровой движок, сколько библиотека для 2Д графики и рисования, но предоставляет средства для анимации и симуляции, а также имеет кучу вспомогательных библиотек, которые приближают к статусу движка: https://hackage.haskell.org/package/gloss
Если мне память не изменяет, я как раз на глоссе когда-то давно визуализацию эффекта Комптона делал...
добавил, интересная либа, а что-то в проде на нем есть? вижу что тянет зависимость на SDL, я писал что SDL часто является мидлвар для разного рода фреймворков, позволяя быстро делать обертки для большого числа платформ
Не, на проде ничего не видно. Да и сам Helm уже давно не обновлялся, и вряд ли ещё будет. Сейчас среди игровых движков в хаскеле ситуация не самая лучшая: высокорейтинговые пакеты в застое, а новые... слишком новые. Кроме того, есть байндинги для Godot, так что народ, скорее всего, будет пробовать в основном его
Статья просто огонь! Всё в одном месте, грамотно и подробно расписано!
дефолд это же движок от King'ов, так что они на нем вроде как делали все свои игры прежде чем его в опенсорс выпустили
Хотелось бы чтобы вы различали библиотеку, фреймворк, движок и конструктор.
Разница - огромная, по встроенным возможностям и тому как много и на насколько низком уровне придется программировать. У вас в статье все вперемешку.
угу, есть немного, видимо сказывается что я все время работаю с lowlevel, что в юнити когда оптимайзили движок для iphone4/5, что в дагоре, когда портировали его на свич и apple, что сейчас с 4A engine. Обычно я смотрю интересующие меня технологии в сорцах, где все написано суровыми дядьками и на крестах, а до уровеня удобства и красоты добираюсь редко.
ПОмнится тоже много сил вложил и много кто использовал мой quad-engine https://www.youtube.com/watch?v=d09W5HOFHt0
Сам на нём игрушку в стим сделал, но оно только для винды и сурсы на делфи. Правда через COM интерфейсы юзабельно в любом ЯП, хедеры делали и для плюсов и для шарпов еще
А гит-то и забыл https://github.com/EliiahPro/quad-engine
Вау, еще ктото пишет игры на дельфях? Знаю ребят (блин им щас за 50 уже всем) в 2008, которые в соседнем офисе писали C++Builder6, в контру они знатно рубились
Уже нет, я уже давно на шарпы перешёл, но игру это не помешало на делфи доделать (как и движок, собственно). Вот игра: https://store.steampowered.com/app/391140/Blastoff/ Но там делфи последние распоследние использовались с перегрузками, всяческими другими модными штуками. Вон в последних делфи можно переменные уже в любом месте кода объявлять, а не только в секции var. Но это я уже почти не успел попробовать :)
Не Unity единым…