Pull to refresh

Comments 89

В примере для cocos. Видео с игрой hearthstone. Которая сделана не на cocos, а на unity.

И наверно стоит дополнительно написать про Cocos creator. Так как он уже полноценный игровой движок с поддержкой 3d и скрипты пишут на ts.

Ещё добавьте информации про ogre-next(или ogre2). В котором добавили глобальное освещение (чем то схож с lumen из ue5).

UFO just landed and posted this here

формально вы не правы, за прошлый год в стиме вышло 12к+ игр, т.е. каждый день больше 40 новых. Другое дело с их качеством. Так что игры есть и очень много, а играю я 10 раз во второй фолыч :)

Hidden text

Интересно, только сейчас заметил. Зубы-то у Старейшины все свои и белые. Видимо ядерная война не помешала скурпулезно соблюдать гигиену.

Сахара нет, питается очень простой едой -- что странного?

Да в этом году игр просто миллион. Именно хороших игр. Многие даже жалуются, что не успевают проходить всё. От бг3 до алан вейк 2 - релизов просто огромное кол-во. Один из лучших годов в игровой индустрии объективно.

Ага, сплошные ремастеры или очередной ассасинс крид

Ремастером чего являются hogwarts legacy, phantom liberty, baldur`s gate 3, starfield, alan wake 2, atomic heart, lies of p, lords of the fallen, hi-fi rush? Это только те игры, которые вышли на пк, и которыми я интересовался или играл в них.

Все потому что игра - это не только код, но и контент

чего нет? 2023 наверное один из самых безбашенных годов по релизам, вам мало?

Ну для кого-то движок и является игрой

Непонятно, почему Godot только C++, сейчас у данного движка обширная поддержка C#, что важно для огромного пласта девелоперов мигрирующих с юнити

Там много биндингов, сам движок написан на плюсах. Добавлю это замечание, спасибо

я бы сказал, что Godot даже больше расчитан на аудиторию С#-разработчиков, чем C++

на python больше, godot script (или как они называются) имеет пайтонподобный язык

Почему-то упущена информация про отечественных производителей, таких, как unigine к примеру

я знаю про него (добавил ссылку на сайт), но исходников к нему нет поэтому не стал добавлять, мощный движок, непонятно почему ребята его не шарят. Опыт Unreal показывает, что это дает мощный толчок развитию, движок это 10-15% процентов игры и даже если пошарить всю игру, со всеми ресами и объяснением как собирать, то реально его смогут собрать и пользоваться ну хорошо если 5% тех, кто получил доступ. А поменять и того меньше

У них там фирменные технологии рендеринга открытых пространств, которых ни у кого нет(вроде). Видимо не хотят делиться, а то добавят такое в анрил и Unigine станет никому не нужен... Ибо зачем платить 6тыс баксов в год за место, когда есть "бесплатный" анрил.

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

двойная точность так же есть и в CryEngine :), и в VBS

сейчас unigine - это скорее полугосударственная компания (там заказы с алмаз антея идут)

Давно перестал следить за ними

если я правильно помню новость 2021 года здесь на хабре, то коркоманда перехала в Люксембург. Так что увы, уже не российская. Может кто из более знакомых с темой расскажет. (https://unigine.com/news/2020/company-restructuring-completed)

Спасибо за такой обширный обзор! А не подскажите движок который подходит для разработки игр-ботов для telegram? Возможно есть какой то с поддержкой api телеграмма? Смотрел в сторону defold, но что то мало информации по этой теме

А можете привести хоть один пример такой игры-бота? Я просто делаю и игры и бота, и не понимаю какой движок нужен для совмещения

Условный казуальный или гиперказуальный проект, пазл, платформер, 3 в ряд и тд

Вот самому интересно какие движки для этого подходят

а причем тут движки, как вы собрались интерактивную картинку в телегу пропихивать?

Смотря что вы понимаете под игрой-ботом. Если текстовые игры, то там по сути используется стандартный телеграм-инструментарий для ботов, то есть, берете любую библиотеку под это дело, или тот же FastAPI, и думаете, как адаптировать под вашу игровую задумку. Если что-то более сложное, смотрите в сторону Web Apps и JS-движков.

Что то более сложное, платформер, tower defense, возможно что то казуальное или гипер казуальное.

Тогда изучать Telegram Web App, а в качестве движка, например, Phaser или PixiJS.

Как насчёт Blender Game Engine или на нем игры не делают практически?

Я занимался поддержкой одного проекта на нем, но это была не игра.

он ж вроде как заброшен, после выхода блендер 2.8

Сейчас нет его. Да и игр на нём толковых не было, на самом деле, кроме Yo Frankie!, но и то демонстрация от команды Blender.

P. S. Как тут уже упомянули, его вырезали в 2.8. Есть отдельный проект UPBGE.

Mach: https://github.com/hexops/mach(Proprietary/Zig)

Mach не проприетарный. Он apache или MIT по лицензии. И вроде только copyright у них в репозитории связан с тем, что авторство того или иного куска кода принадлежит контрибьютору, который это кусок кода написал. То есть скопировать код и выдать себя за автора нельзя

А есть ли движки заточенные под создание логических игр, типа крестики нолики ,2048, пятнашки, тетрис и т.д? Так как использование таких мощных движков как Unity, Unreal Engine для таких игр будет как стрельба из пушки по воробьям, на мой взгляд.

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

Добавлю про 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-игры?

Ну это не движок, а графическая библиотека. И в ней нет редактора, как в Godot. Попробуйте Defold

Выглядит неплохо. Спасибо, попробую.

да, defold может помочь, но вам придется вырезать luavm, чтобы получить бинарник меньше 40мб, что лишает вас половины удобства и возможностей в разработке, на реддите был пост про такой эксперимент. 15Мб бинарь у них получился, но готовы ли вы писать игру на чистых плюсах?

Было бы неплохо иметь встроенный скриптовый язык. Но, в целом, без него можно обойтись. Можно попробовать запилить свою минимальную реализацию.
Зато 15 Мб звучит уже приемлемо.

вроде же defold всю дорогу хвастались что у них минимальный бинарь 2-3мб?

последние года три точно нет, если выключить ВСЕ модули может и получится, но смысл от голого рендера? https://github.com/defold/build-size
около 5Мб размер пустого проекта

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

Интересно, а зачем? В смысле, в чем ценность от размера билда, тем более для Windows? Обычно, удобство работы с движком и набор готовых компонент для решения типовых задач важнее, чем размер билда. Интересно почему у вас не так.

Не скажите, для ряда стран есть даже отдельные конторы, которым отдают игры на даунгрейд чтобы они стали размером 20-30мб. Это связано как развитием сетей в стране так и с нежеланием пользователей ставить на телефон что-то размером больше 50мб

Если бы речь шла про мобилки, я бы не задавал вопрос - "Преимущественно для Windows".

Потому что мне необходимо делать простые игры, где общий размер текстур не превышает 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 не надо тащить с игрой, она одна на весь компьютер.

Спасибо, посмотрю libgdx. Но пока я больше склоняюсь к defold. Из плюсов у него - тоже маленький размер, а так же встроенный интерпретатор Lua. Ну и компилируется он нативно под любую платформу.

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

добавил в ссылки, чтобы не потерялось среди комментариев

я знаю, в абзаце про SDL речь идет про то, что либа используется как мидлвар для запуска основного движка (создание окна, получение контекста рендера, обраотка ввода) и не нужно писать самому бойлеркод для поддержки всех платформ. Если вы заметили, то видео с играми там нет, только описание технологии. Поправил, чтобы не было разночтений

Korge engine кажется не упомянули, либо не заметил

Отмечусь с хаскелем:

Игровой движок 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. Обычно я смотрю интересующие меня технологии в сорцах, где все написано суровыми дядьками и на крестах, а до уровеня удобства и красоты добираюсь редко.

Обычно я смотрю интересующие меня технологии в сорцах

Same shit в последнее время. Раньше чаще смотрел в сторону редактора и его удобства. Сейчас больше смотрю на расширяемость самого движка, типа, если приспичит, то проще самому набросать нужный редактор или конвертер.

ПОмнится тоже много сил вложил и много кто использовал мой quad-engine https://www.youtube.com/watch?v=d09W5HOFHt0
Сам на нём игрушку в стим сделал, но оно только для винды и сурсы на делфи. Правда через COM интерфейсы юзабельно в любом ЯП, хедеры делали и для плюсов и для шарпов еще

Вау, еще ктото пишет игры на дельфях? Знаю ребят (блин им щас за 50 уже всем) в 2008, которые в соседнем офисе писали C++Builder6, в контру они знатно рубились

Уже нет, я уже давно на шарпы перешёл, но игру это не помешало на делфи доделать (как и движок, собственно). Вот игра: https://store.steampowered.com/app/391140/Blastoff/ Но там делфи последние распоследние использовались с перегрузками, всяческими другими модными штуками. Вон в последних делфи можно переменные уже в любом месте кода объявлять, а не только в секции var. Но это я уже почти не успел попробовать :)

Sign up to leave a comment.

Articles