5 игровых движков для 2d и 3d игр, с которых стоит начать

Как написать собственный игровой движок на C++

В последнее время я занят тем, что пишу игровой движок на C++. Я пользуюсь им для создания небольшой мобильной игры Hop Out. Вот ролик, записанный с моего iPhone 6. (Можете включить звук!)


Your browser does not support HTML5 video.

Hop Out — та игра, в которую мне хочется играть самому: ретро-аркада с мультяшной 3D-графикой. Цель игры — перекрасить каждую из платформ, как в Q*Bert.

Hop Out всё ещё в разработке, но движок, который приводит её в действие, начинает принимать зрелые очертания, так что я решил поделиться здесь несколькими советами о разработке движка.

С чего бы кому-то хотеть написать игровой движок? Возможных причин много:

  • Вы — ремесленник. Вам нравится строить системы с нуля и видеть, как они оживают.
  • Вы хотите узнать больше о разработке игр. Я в игровой индустрии 14 лет и всё ещё пытаюсь в ней разобраться. Я даже не был уверен, что смогу написать движок с чистого листа, ведь это так сильно отличается от повседневных рабочих обязанностей программиста в большой студии. Я хотел проверить.
  • Вам нравится ощущение контроля. Организовать код именно так, как вам хочется, и всегда знать, где что находится — это приносит удовольствие.
  • Вас вдохновляют классические игровые движки, такие как AGI (1984), id Tech 1 (1993), Build (1995), и гиганты индустрии вроде Unity и Unreal.
  • Вы верите, что мы, индустрия игр, должны сбросить покров таинственности с процесса разработки движков. Мы пока не очень-то освоили искусство разработки игр — куда там! Чем тщательнее мы рассмотрим этот процесс, тем выше наши шансы усовершенствовать его.

Игровые платформы в 2017-ом — мобильные, консоли и ПК — очень мощные и во многом похожи друг на друга. Разработка игрового движка перестала быть борьбой со слабым и редким железом, как это было в прошлом. По-моему, теперь это скорее борьба со сложностью вашего собственного произведения. Запросто можно сотворить монстра! Вот почему все советы в этой статье вращаются вокруг того, как сохранить код управляемым. Я объединил их в три группы:

  1. Используйте итеративный подход
  2. Дважды подумайте, прежде чем слишком обобщать
  3. Осознайте, что сериализация — обширная тема.

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

Шрифт Font Kiko, а также нюансы поиска и использования подобных шрифтов

30th Июль 2020 – 1:11 дп

Немного про историю бесплатных шрифтов

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

В наше время уже всё не так. Не так давно даже очень крупные фирмы — например, Google и Abobe — стали выпускать шрифты открытыми, делая их доступными для самых разных опенсорс проектов. Теперь благодаря этому в мире есть настолько хорошие бесплатные шрифты, что их не сочтёт позорным использовать даже самый сноб в типографике. И шрифт Font Kiko относится как раз к таким.

Преимущества и особенности Font Kiko

Font Kiko — просто замечательный и забавный шрифт со множеством иконок, разбитых по тематическим категориям:

  • базовые;
  • образование;
  • настоящие;
  • социальное медиа;
  • гаджеты;
  • и многие другие.

Для простых чёрно-белых символов все иконки выглядят просто отлично и станут замечательным украшением, например, какой-нибудь курсовой работы или презентации. А всего иконок представлено более полутора тысяч!

Иконки имеются в самых различных форматах — EOT, WOFF2 и WOFF, SVG, OTF, EPS и AI. Их легко использовать как на компьютере или ноутбуке, так и в приложениях для iOS и Android.

Особенности использования бесплатных шрифтов

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

Так что обязательно тщательно изучите информацию перед тем, как использовать шрифты в проектах.

Где можно найти ещё бесплатные шрифты

Одного FontKiko при желании хватит надолго, но при необходимости в Сети их можно найти ещё более чем достаточно.

Для начала вот пара общепризнанных и актуальных в настоящее время web-ресурсов:

  • http://velvetyne.fr/ — все шрифты опенсорс;
  • http://open-foundry.com/hot30 — тоже достаточно большая коллекция.

Приятной работы!

BigStreet

Возможности:

  • Персональные блоги.
  • Коллективные блоги.
  • Приглашения (инвайты) с возможностью сделать сайт закрытым.
  • Общие ленты постов с настраиваемыми разграничениями по рейтингу.
  • Комментарии.
  • Оценки постов, комментариев.
  • Поиск по тэгам.
  • Поиск по постам
  • Модуль Важные объявления
  • Поиск пользователей по части ника.
  • Отключаемые уведомления на e-mail о новых комментариях и личных сообщениях.
  • Трансляция в RSS.
  • Импорт из RSS
  • Модуль внутренней переписки с возможностью подключить к переписке нескольких пользователей и отсортировать переписки по «папкам».
  • Вставка видео и изображений в публикации.
  • Профили пользователей.
  • Модуль друзья
  • Модуль Яндекс-карты
  • Френдлента
  • Ресайз и копирайт картинок
  • Интеграция с Twitter
  • Статусы пользователей
  • Учёт рейтинга и «силы» пользователей.
  • Разграничение прав доступа к модулям и отдельным действиям как по признаку «пользователь/администратор», так и величине рейтинга пользователей.
  • Система кеширования.

Скачать

Как выбрать CMS

Перед непосредственным созданием сайта для начала стоит изучить рынок: он предлагает множество вариантов с разными возможностями, условиями использования и ограничениями. Можно сказать, что все CMS делятся на две большие группы: открытые системы, которые распространяются бесплатно и позволяют пользователям редактировать исходный код, и проприетарные закрытые решения, которые не открывают код и, как правило, предоставляются на платной основе. Выделяют также автономные и динамические движки: первые используются для создания статичных сайтов, вторые – для интерактивных. На рынке существует несколько популярных систем:

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

Внимание при выборе, помимо громкости имени и стоимости распространения, стоит обращать на такие детали, как:

  • безопасность;
  • возможность доработки элементов;
  • набор функций и возможностей;
  • удобство работы с заголовками, мета-тегами и прочими важными для продвижения деталями;
  • возможность создавать собственные имена для страниц и семантические URL;
  • скорость работы;
  • наличие русскоязычной локализации;
  • отсутствие сторонних элементов (например, не предусмотренных вами рекламных баннеров);
  • возможность обработки ошибок;
  • отсутствие дублирования страниц;
  • поддержка карты сайта;
  • удобство добавления и удаления страниц и т. д.

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

WordPress

Если кто-то еще сомневается в том, что Вордпресс уже давно перерос стадию «система для ведения блогов», то следует отбросить эти сомнения. На этой CMS разрабатывается великое множество сайтов, в том числе и социальные сети, сайты компаний, Интернет магазины и витрины товаров, форумы, а также простые сайты-визитки.

Благодаря тысячам готовых тем, плагинов и даже готовых сборок под разные нужды, WordPress занимает заслуженное место в ТОП 5. Имеется активное сообщество разработчиков, которое генерирует уроки и информационные материалы.


Достоинства WordPress:

  • большое сообщество разработчиков и хорошо структурированная документация;
  • тысячи бесплатных плагинов и тем оформления для сайта;
  • удобная админка.

Недостатки WordPress

  • стартовый функционал сразу после установки достаточно скромен, нужно дополнять его как минимум 4-5 плагинами;
  • после простой установки нужна доработка в плане безопасности.

На самом деле, это одна из самых простых и лояльных к новичкам система. Она позволяет создавать сайты практически ничего не понимая в программировании (читайте мои уроки PHP). Крайне рекомендуется в качестве первой CMS. В дальнейшем, если ее функционал окажется для вас ограничен, то вы без проблем сможете перенести сайт на другой движок, какую выберете.

Студии среднего размера

Слева направо: Rise of the Tomb Raider, Uncharted 4, A Plague Taleобычно разрабатываются силами компании Слева направо: Horizon Zero Dawn, God of War, Death Stranding

Компания Сотрудники Движок Примечательные игры
+650 Серия Total War
~600 Серия Destiny
+500 Call of Duty: Infinite Warfare
~500 Deus Ex: Mankind Divided
~400 Skyrim, Fallout 4, Fallout 76
~360 Dota 2, Half-Life: Alyx
~350 Rise/Shadow of the Tomb Raider
~320 Apex engine Серия Just Cause, Renegade Ops, Mad Max, RAGE 2
+300 Naughty Dog Game Engine Серия Uncharted, Last of Us
~300 Asura engine Серия Alien vs. Predator, серия Sniper Elite
~300 Dying Light
~290 The Climb, Hunt:Showdown
+280 Dark Souls engine Bloodborne, Dark Souls III, Sekiro
+250 Quantum Break, Control
+250 Killzone Shadow Fall, Until Dawn, Horizon Zero Dawn
+250 Divinity Engine Серия Divinity
~250 Platinum Engine NieR Automata, Bayonetta, Vanquish
+200 собственный движок Серия God Of War
+200 Doom, Doom Eternal, серия Wolfenstein
+200 Infamous Second Son, Ghost of Tsushima?
~180 Серия Rachet&Clank, Marvel’s Spider-Man
~180 Detroit: Become Human
~170 Серия Hitman
+140 A Plague Tale
~120 собственный движок The Order: 1886, Lone Echo
~110 собственный движок Spacelords, серия Castlevania:Lords of Shadow
+100 Серия F.E.A.R., серия Condemned, Shadow of Mordor/War
~100 Frostpunk
~100 Серия Trine, Shadowgrounds
~100 Серия WRC, серия TT Isle of Man, V-Rally 4
~100 собственный движок Mount & Blade II: Bannerlord
~90 The Whispered World, серия Deponia
~80 Dreams
~80 Imperator: Rome, Stellaris, серия Europa Universalis
~70 Lords of the Fallen, The Surge, The Surge 2
~60 Yamaneko Engine Ys VII, Ys VIII, Ys IX
+40 The Talos Principle, серия Serious Sam
  • Судя по информации в титрах игры Rise of the Tomb Raider, над Foundation engine работает всего 10 программистов, это число можно использовать для понимания того, сколько людей обычно работает над ядром движка.
  • Компании, выполняющие разработку под одну платформу, обычно имеют меньше ограничений и могут максимально использовать возможности этой платформы. К сожалению, большинство компаний не может позволить себе такую роскошь.
  • Компания Asobo Studio, благодаря которой началось это маркетинговое исследование, кажется не особо маленькой… но, как и другие компании, она параллельно работает над несколькими играми.
  • Очень здорово, что в Википедии есть подробности о некоторых движках со списком выпущенных игр, это должно стать обязательной практикой.

История

На домашних компьютерах 1980-х из-за отсутствия стандартизации и ограничений памяти портирование было ручным и трудоёмким: переносилась только логика работы, а остальные части — вывод графики на экран, вызов прерываний и т. п. — писалось заново. Тем не менее, в те времена появились игровые движки Z-Machine и SCI от компаний Infocom и Sierra соответственно. В 1980-е компания Incentive Software начала разработку Freescape — переносимого 3D-ядра.

Сам же термин «игровой движок» появился в середине 1990-х годов — в это время окончательно установилось доминирование IBM-совместимых компьютеров, а быстрые процессоры и «хитрое» программирование дали 30 и более кадров в секунду в трёхмерных играх. Игры Doom и Quake от id Software оказались настолько популярными, что другие разработчики вместо того, чтобы работать с чистого листа, лицензировали основные части программного обеспечения и создавали свою собственную графику, персонажей, оружие и уровни — «игровой контент» или «игровые ресурсы». Движок Quake был использован в более чем десяти проектах и дал серьёзный толчок развитию middleware-индустрии.

Более поздние игры, такие как Unreal 1998 года (движок Unreal Engine) и Quake III Arena (на движке id Tech 3) 1999 года, были спроектированы с применением данного подхода, с отдельно разработанными движком и наполнением. Практика лицензирования такой технологии оказалась полезным вспомогательным доходом для некоторых разработчиков игр. Так, стоимость одной лицензии на коммерческий игровой движок класса high-end может варьироваться от 10 тыс. до 3,75 млн $ (в случае Warcraft III)[источник не указан 3438 дней], а число лицензиатов может достигать несколько десятков компаний (как для Unreal Engine). По крайней мере, многократно используемые движки ускоряют и упрощают разработку игры, что является ценным преимуществом в конкурирующей индустрии компьютерных игр.

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

Шутеры от первого лица остаются преобладающими пользователями сторонних игровых движков, но сейчас такие движки также используются в других жанрах. Например, RPG Morrowind и MMORPG Dark Age of Camelot основаны на движке NetImmerse, в то время, как Oblivion и Fallout 3 используют новую версию данной технологии — Gamebryo. Известная MMORPG Lineage II построена на движке Unreal Engine 2 (несмотря на то, что данный движок изначально предназначался для использования в шутерах).

Игровые движки также используются в играх, первоначально разработанных для игровых консолей; например, движок RenderWare используется во франчайзах Grand Theft Auto и Burnout.

Название: Torque 2D/3D

Цена: free (лицензия MIT)

Порог вхождения: средний

Исходный код: открытый

Несомненно, мой любимый игровой движок. Был в свое время лидером, но под натиском Unity утратил свои позиции. Тем не менее до сих пор на нем разрабатывается множество успешных проектов, поскольку он активно развивается сообществом

Не так давно я посвятил трехмерной версии целую статью в нашем журнале, поэтому сейчас я обращу твое внимание на Torque 2D

Различия между двумерной и трехмерной версиями весьма значительны, но есть и общие элементы, например развитая сетевая подсистема. После выхода в мир open source T3D сохранил и даже увеличил свои возможности, а T2D, напротив, многое потерял. Например, он утратил абсолютно все встроенные редакторы, которые, очевидно, были изъяты из-за определенных юридических соглашений. Зато на нем можно разрабатывать игры для трех платформ: Windows, OS X и, что самое интересное, iOS (и продавать игры в App Store, не отчисляя ни копейки авторам движка). Весь движок — это одна кодовая база на C++ без дополнительных экспортеров. Во время написания статьи в сообществе разработчиков T2D кипела работа над созданием компилируемой версии для Android и реинкарнацией этих самых «потерянных» редакторов. Текущей стабильной версией является 2.0. Как видно, фундаментальные различия 2D- и 3D-версий заключаются в графической подсистеме: T2D для визуализации использует OpenGL, а T3D — DirectX, притом еще пока девятой версии, что преграждает созданным с его помощью играм путь в Windows Store. Есть куда развиваться!

В качестве скриптового языка в T2D, как и в T3D, используется Torque Script. Вместе с тем в T2D для описания игровых элементов служит XML-подобный язык TAML. Он позволяет определить свойства объектов на стадии инициализации уровня игры. Для воспроизведения звуков T2D использует библиотеку OpenAL. Симуляция физики осуществляется посредством движка Box2D, ставшего стандартом в двумерных физических исчислениях. Несмотря на то что в двумерном Торке еще пока нет конструктора GUI, с помощью средств движка (в скриптовом коде) можно создавать пользовательский интерфейс привычными компонентами, а не простыми спрайтами. Однако, если нужный компонент отсутствует, его можно создать на основе спрайтов. Имея аналогичную с 3D-версией сетевую систему, на T2D можно разрабатывать мультиплеерные игры, которые набирают популярность, — например P2P с планшетов. Вместе с T2D поставляется коллекция из огромного количества сэмплов, которая «дружно» укомплектована в Sandbox. В каждом примере раскрывается определенная фича движка, а наличие исходного кода позволяет узнать ее устройство.

Рис. 1. TruckToy — сэмпл на Torque 2D Другие статьи в выпуске:

Хакер #178. Mesh-сети или строим свой интернет

  • Содержание выпуска
  • Подписка на «Хакер»

У семейства движков от GarageGames тоже есть комьюнити, которое делает полезные для остального сообщества вещи: создаются туториалы и мануалы, решаются проблемы — все, как принято при социализме. Есть и платные инструменты: система ИИ, разнообразные улучшения и эффекты графической системы, арт, встраиваемые редакторы — диалогов, инвентаря, террейнов, источников света.

Shop-Script

Документация разработчиков:Интеграция с 1С:Удобство панели администратора:Легкость в установке (на локальный сервер):Работа с товарами:Управление способами доставки и оплаты:Шаблоны оформления:Роли пользователей:Демоверсия:Импорт/экспорт товаров:Возможности SEO-оптимизации:Системные требования:Гибкость управления контентом:Расширяемость функционала:Импорт в Яндекс.Маркет:Резервное копирование:Кэширование:Личный кабинет покупателя:Поддержка:Обновления:Стоимость версий:Общее впечатление:Тест скорости онлайн-демоверсии:Скорость загрузки страницы категории:Скорость загрузки страницы товара:

Cotonti

  • модуль управления страницами и категориями страниц, позволяющий создавать удобную древовидную систему категорий для публикуемых на веб-сайте материалов
  • модуль регистрации и управления учетными записями пользователей
  • модуль форумов
  • модуль опросов (включающий возможности по созданию опросов в форумах)
  • модуль обмена личными сообщениями
  • модуль загрузки файлов в Персональное файловое пространство
  • модуль поддержки RSS для категорий страниц, комментариев и форумов
  • модуль поддержки расширений (плагинов)
  • модуль создания «человеко-понятных» URL (ЧПУ)
  • модуль управления сайтом
  • голландский
  • итальянский
  • немецкий
  • польский
  • турецкий
  • украинский

Скачать

Magento

Соотношение цена/функциональность. У Magento несколько редакций, включая бесплатную. Пользователи любят платформу за ее богатую функциональность из коробки и гибкую настройку. Редакция для малого и среднего бизнеса стоит от $15 до $125 в месяц, а для крупных компаний от $15 000 в год. Также нужно учитывать стоимость доработок и интеграций с российскими сервисами.

Простота работы. Magento несложно освоить, для этого не требуются специальные навыки или обучение. Но пользователи отмечают, что в обилии настроек можно запросто запутаться, а панель администратора местами нелогична. Также для кастомизации и поддержки платформы нужны разработчики, знакомые с архитектурой Magento.

joomla | drupal | wordpress | движок

Вебмастера однажды пришли к выводу, что обновлять сайт вручную, без помощи специальных программ, стало трудно. На помощь пришел «движок«, он же CMS. CMS (Content Managment System) — система управления сайтом. Это набор специальных программ (скриптов), которые служат для управления сайтом. Если раньше, чтобы внести изменения в сайт, надо было вручную вставить эти изменения в код страницы, то с CMS достаточно заполнить форму, где указать название новости, её текст и т.д. Все остальное CMS сделает сама.

Как выбрать CMS для сайта или блога. В данной статье — только бесплатные CMS. Они ничем не уступают платным аналогам, а иногда даже выгодно отличаются от них. Как выбрать CMS для сайта?Разделим (условно) бесплатные CMS по их назначению. Существуют CMS, предназначенные для создания блогов. При этом с помощью блоговых CMS для сайта можно создавать серию проектов для целого предприятия. Рассмотрим каждую CMS более подробно.бесплатная CMS для сайта.

— бесплатная CMS для сайта.

бесплатная CMS для сайта.

CMS Вордпресс — первоначально «система для ведения блогов». Теперь на этой CMS разрабатываются социальные сети, сайты компаний, интернет магазины и витрины товаров, форумы и простые сайты-визитки. Благодаря множеству плагинов WordPress занимает заслуженное место в ТОП 5 бесплатных CMS для сайтов.

— бесплатная CMS управления сайтом.

TYPO3 — одна из перспективных CMS с открытым исходным кодом. Этот движок достиг наиболее высокого профессионального уровня, очень универсален и легко изменяем. CMSTYPO3 создана в 1998 году датским программистом Каспером Скархей. Движок интенсивно развивается: ежегодно выпускаются 2 новые версии CMS. TYPO3 распространяется под бесплатной лицензией GPL и свободно доступна через интернет. TYРOЗ — система управления сайтами (CMS/CMF) с открытым исходным кодом и свободной лицензией. Написана на PHP, для хранения данных использует СУБД MySQL. CMS TYРOЗ рекомендуется использовать на крупных промышленных предприятиях и в банках. Небольшим сайтам скорее всего он не подойдет, так как затраты на разработку и поддержку будут несоизмеримы с плюсами от использования.

Семейство NUKE.

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

— бесплатнаяCMS для сайта

бесплатнаяCMS для сайта

— бесплатную CMS для сайта, движок Бесплатные cms для сайта | Движок для сайта

бесплатнаяCMS для сайта

Xoops основан на PHPNuke 4.4.1 и MyPHPNuke 1.8.5.XOOPS — идеальный движок для создания сайтов, отнебольших проектов, до огромных интерактивных сайтов сообществ, сайтоввизиток, корпоративных порталов, сетевых дневников и многого другого. CMS XOOPS переведен на русский.

бесплатнаяCMS для сайта

RUNCMS– это программа, предназначенная для создания веб-сайтов различной степени сложности и тематической направленности. RUNCMS написана на языкеPHPи использует базу данныхMySQL.

RUNCMS является

«системой управления содержимым (контентом)»

Strawberry v.1.2 beta 4 — бесплатная CMS для сайта

Отличный бесплатный движок. Можно назвать братом близнецом знаменитого DataLifeEngine, так как функции, структура БД и некоторые другие вещи очень схожи. Движок можно установить на сервер не имеющий БД MySQL. Скачать Strawberry CMS  — бесплатную CMS для сайта, движок

— бесплатнаяCMS для сайта

Contao

Основные возможности

  • генерируют строгий XHTML-код
  • генерирует дружественные поисковым машинам ссылки, динамические заголовки и полные META-данные
  • поддержка многих браузеров (IE от версии 5.5, Firefox от версии 1.0, Netscape от версии 7, Opera от Version 7)
  • использование Ajax- и Web 2.0-технологий
  • интегрированный файл-менеджер, поисковая система и генерирование форм
  • многоязычная поддержка Backend, построенная на шаблонах
  • генерирование XHTML-кода, полностью базирующееся на шаблонах
  • менеджмент версий, ревизия и функция возврата версий
  • документация на нескольких языках (английский, немецкий)
  • поддержка 25 языков благодаря использованию кодировки UTF-8
  • LiveUpdate

Скачать


С этим читают