Материалы и инструменты разработчика
Раз на сайте много разработчиков игр, то предлагаю поделиться информацией об инструментах, утилитах, книгах
Книги и курсов (бесплатные)
- Нистрем Роберт: Паттерны программирования игр. Это бесплатная онлайн книга, на английском языке её можно найти на официальном сайте автора. А так же есть перевод на русский. Ну и если погуглить, то можно легко найти в любом формате (PDF
и т. п. ). - Список бесплатных книг, курсов, подкастов на разных языках — ссылка. Это клон темы с StackOverflow. Здесь собрано не только материал о программировании на разных языках, но и о базах данных, операционных системах, методах и технологиях программирования, тестировании, архитектуре, git
и т. п. Выбираем удобный язык и ищем подходящий источник. - The Book of Shaders (Патрицио Гонзалес Виво и Джен Лав) — это бесплатная книга о шейдера (Цитата: Пошаговое руководство по абстрактной и сложной вселенной фрагментных шейдеров). Переведена на многие языки, включая Русский. Для пользователей игрового движка Godot Engine, есть порт всех примеров на него (с возможностью редактирования в реальном времени).
Ссылка на порт: https://jayaarrgh.itch.io/book-of-shaders-godot (исходники на github).
Редакторы графики
- Affinity Designer (платный) — проприетарный редактор векторной графики, выпускаемый британской компанией Serif Europe для устройств на базе Windows, MacOS, iOS. По-моему прекрасный инструмент, удобный, быстрый, но платный. Стоит 5 тыс. руб., но бывает со скидкой за 2 тыс. руб. И это разовая покупка, а не как с AI (ежемесячно). Я не художник, но мне кажется он в чём-то удобнее и интереснее AI. Ну и шустрее, и удобнее Inkscape. У компании есть также такие продукты как Photo (аналог PS), Publisher (для дизайна макет книг, журналов
и т. п. ) - LibreSprite (бесплатный) — редактор пиксельной графики. Это форк (ответвление) от Aseprite сделанный перед переходом последнего на проприетарную лицензию. Распространяется бесплатно, с открытым исходным кодом, ничего собирать не надо: скачали-запустили. Официальный релиз до версии 1.0 состоялся 17 ноября.
- Pixelorama (бесплатный) — редактор пиксельной графики, созданный на Godot Engine.
- PixelApp (бесплатный) — редактор пиксельной графики, по заверению авторов максимально простой и интуитивный инструмент для пиксельной анимированной графики и gif, заточенный под работу с планшета.
- Slate (бесплатный) — редактор пиксельной графики, поддерживает работу со слоями, анимацией (есть предварительный просмотр), тайлсетами.
- KenShape (платный) — редактор для создания 3D для пиксель-арта и воксельных моделей, можно выгружать в и 2D виде. Рисуем картинку в стиле пиксель-арт, задаём глубину каждому пикселю и получаем 3D-модель.
- Asset Forge (платный) — редактор по созданию 2D-спрайтов и 3D-моделей, используя готовые блоки. В инструменте есть много различных частей, которые можно составлять, менять размеры, вращать, перекрашивать, создавая новую модель/спрайт для игры.
- picoCAD (бесплатный) — программа для создания и текстурирования 3D-моделей. Об этом программе уже писали на сайте. А как создаются модели и сцены в этой программе можно, по-моему, бесконечно, смотреть на Youtube канале BEN.
- SpryTile (бесплатный) — аддон для Blender’а, который ускоряет создание низкополигоннальных моделей, tilemaps.
- Blockbench (бесплатный) — программа для моделирования 3D низкополигональных моделей (в стилистике игры Minecraft). Инструмент имеет функции моделирования, анимации, тестурирования (создание текстур прям в редакторе).
Утилиты
- Effekseer (бесплатный) — инструмент для создания эффектов частиц как для 2D, так и для 3D-анимации.
- Material Maker (бесплатный) — это инструмент для создания процедурных материалов для 3D-моделей, основанный на движке Godot Engine. Материалы и кисти определяются как графы, в которых узлы создают, или трансформируют текстуры. Большинство узлов определены как шейдеры GLSL, и при их подключении Material Maker будет генерировать комбинированные шейдеры (вместо рендеринга изображения для каждого узла). Также возможно создавать новые узлы, комбинируя и группируя существующие узлы, или путем написания собственных шейдеров GLSL.
- LDtk (Level Designer Toolkit) (бесплатный) — это редактор 2D-карт уровней от разработчика игры Dead Cells. Как пишет разработчик, в инструменте сделан сильный акцент на удобстве.
- Генераторы карт городов, деревень, одностраничных подземелий — можно найти на странице разработчика Watabou (бесплатно).
- Isotile (бесплатный) — быстрое создание плитки для изометрических игр.
- Bitmapflow (бесплатный) — инструмент для создания промежуточных изображений для анимированных спрайтов, для создания более плавной анимации. Он использует алгоритм Optical flow, чтобы попытаться угадать, как пиксели перемещаются между кадрами, и соответствующим образом смешивает их. Результаты далеки от совершенства и, вероятно, впоследствии потребуют некоторого редактирования вручную, но иногда это может дать достойные результаты.
- SHADERed (бесплатная) — IDE для шейдеров: отладчик, профайлер, расширяемая (за счёт плагинов) и настраиваемая среда разработки. Доступна на операционных системах Windows и Linux, а также Lite-версия в браузере. С открытым исходным кодом доступным на github.
- rFXGen (бесплатно) — простой в использовании генератор звуковых эффектов, основанный на SFXR от Dr.Petter. В наличии версии: Web, Windows, Linux. Исходный код проекта на github.
- rTexViewer (бесплатная веб-версия) — утилита для просмотра и конвертирования изображений/текстур. Веб-версия полностью бесплатная, имеется платная версия для Windows и Linux с незначительными дополнительными функциями (навигация по каталогам, преобразования текста в PNG, поддержка командной строки).
- rTexPacker (бесплатная веб-версия) — программа для упаковки текстур и генерации атласов шрифтов. Веб-версия полностью бесплатная, имеется платная версия для Windows и Linux с незначительными дополнительными функциями (максимальный размер атласа 8192×8192 пикселей, поддержка командной строки).
- rIconPacker (бесплатная веб-версия) — утилита для упаковки и извлечения иконок. Веб-версия полностью бесплатная, имеется платная версия для Windows и Linux с дополнительными незначительными функциями (поддержка командной строки).
- Ship Mixer (бесплатный, веб-версия) — простой генератор самолётов и космических кораблей, которые больше подойдут для игр жанра Shoot 'em up. Автор Kenny.
- Creature Mixer (бесплатный, веб-версия) — генератор простых двухмерных пиксельных персонажей (вид сбоку). Автор Kenny.
- VUE — приложение для создания виртуальных миров и ландшафтов, а PlantFactory предназначена для моделирования 3D растительности (деревьев, кустарников, травы). Они стали полностью бесплатными. Владелец Bentley Systems решил прекратить разработку этих программ и выпустил для бесплатного использования для любых проектов (в том числе коммерческих). Ссылка на сайт: https://www.bentley.com/software/e-on-software-free-downloads/
Для пользователей библиотеки Raylib:
- rGuiStyler (бесплатно) — редактор стилей для библиотеки по работе с графическом интерфейсов raygui. В наличии версии: Web, Windows, Linux.
- rGuiIcons (бесплатно) — редактор иконок для библиотеки по работе с графическом интерфейсов raygui. В наличии версии: Web, Windows, Linux.
- rGuiLayout (бесплатная веб-версия) — редактор макетов для библиотеки по работе с графическом интерфейсов raygui. Веб-версия полностью бесплатная, имеется платная версия для Windows и Linux с дополнительными функциями (работать можно с более 16 элементов на макете, поддержка командной строки, пользовательских шаблонов кода для размещения элементов).
Инструменты для создания диаграмм, схем, досок
Данные инструменты позволяют не только создавать необходимый материал, но и совместно (одновременно) работать командой над одной схемой.
- Drawio (бесплатное) — решения для создания различных диаграмм (UML, Venn, Cloud, связей, структуры БД
и т. п. ), Mind Map, схема (сеть, блок-схемы), графиков, kanban-досок, макеты интерфейсаи т. п. Веб-версия может быть интегрирована с Google Drive, OneDrive, Dropbox, Github, Gitlab, Confluence. Можно работать в браузере, а так же есть десктоп-версии для ОС Windows, MacOS, Linux. Приложение с открытым исходным кодом, всех исходники можно найти на github. - Miro (платное, есть бесплатная версия с ограничениями) — это «виртуальная доска» от наших соотечественников из Перми. Она позволяет создавать также различные диаграммы, схемы, доски. Позволяет интегрироваться с большим количеством приложение (например, Dropbox, Box, Google Suite, JIRA, Slack и Sketch, Trello). Для маленьких команд бесплатного функционала думаю будет достаточно (при этом размер команды не является ограничением для использования). Есть веб, десктоп и мобильная версии приложения.
3D-ресурсы
1000+ базовых сеток, бесплатно (лицензия CC0). Если вам нужна сетка для цифровой скульптуры, создания высоко- или низкополигональной модели, прототипирования игры, набросков для концепта или любых других творческих начинаний, эта библиотека ресурсов поможет вам.
- https://quaternius.com/index.html
Бесплатные 3D-ресурсы (модели, комплекты). - https://poly.pizza/
9200+ бесплатных низкополигональных моделей.
Музыка
- https://alkakrab.itch.io/
Музыка на разные тематики, как пишет автор — он специализируется на оркестровой музыке. Есть бесплатная и платная. Я сам использовал ещё в проектах на WHAT?IF 2 (Из-под одеяла и Я в клетке). И её можно услышать в игре of cats and mice (победителе Гаминатора 27).
У автора есть Yoгtube-канал с его музыкой.
Звуки
- На сайте sonniss.com каждый год в честь Game Developers Conference (GDC) происходит раздача звуковых ресурсов (по утверждению на тысячи долларов). В этому году их раздавали объёмом до 28 Гб. Их можно использовать как Вам хочется, без ограничений.
Ссылка на файлы 2024 года: GameAudioGDC — 2024.
Ссылки на архивы прошлых годов: https://sonniss.com/gameaudiogdc.
Цитата:
Each year we give away thousands of dollars worth of sounds for free in celebration of the Game Developers Conference. This is our achieve. All of the sound effects are royalty free and commercially usable. No attribution is required and you can use them on an unlimited number of projects for the rest of your lifetime. If you would like more options and design choices to work with, please consider purchasing the corresponding collection.
Пишите свои инструменты, утилиты, которыми пользуетесь или которые находили. Возможно, Вы уже пользовались чем-то из вышеперечисленного, то поделитесь впечатления.
- 23 декабря 2021, 13:18
- 017
https://gamin.me/posts/21401
Нистрем Роберт - найс, тоже читаю
Paint.net - по-моему идеальный редактор для нехудожников типа меня. Что-то подрезать, подправить, отмасштабировать, повернуть, выровнять размеры, исправить пиксели и подогнать цвета. Разве что с полупрозрачными слоями функционал не совсем достаточный - если пиксели полностью прозрачные или полностью непрозрачные, то проблем нет, а вот если скажем есть логотип как на последнем гаминаторе и хочется заменить фон оставив полупрозрачную тень то фиг. Уже не первый раз с похожей задачей сталкиваюсь. Но во всяких фотошопах для меня слишком много кнопочек.
Excel (либо LibreOffice) - для всех ваших математических нужд. Красиво посмотреть сколько уже уровней сделано и сколько осталось, рассчитать баланс, впрочем те кто умеют в эксель и сами всё знают, а те кто не умеют вряд ли оценят.
Tiled - рисовать 2д уровни\куски уровней из атласов. Не без проблем, не всеми его функциями я пользовался, часто вообще мне не подходит т.к. использую процедурную генерацию или т.к. нужны нетайловые уровни, но когда подходит - альтернатив ему не видел.
Lazarus - IDE для паскаля.
VS Code - IDE для всех остальных языков. Даже с гитхабом меня примирил (до vscode я обожал Mercurial за удобный интерфейс, а гит казался каким-то безумием где если что пошло не так проще удалить папку и сделать заново).
Audacity - paint.net для музыки и звуков. Правда в музыке я еще меньше разбираюсь чем в рисовании, так что кроме как для конвертации формата не помню когда последний раз пользовался. А, и в новой версии вроде какую-то телеметрию добавили, так что тем кому это важно рекомендую взять старую.
https://gamin.me/posts/21352
Чем я пользуюсь при разработке игр:
Для создания графики использую Adobe Photoshop
Для работы со звуками и создания музыки использую FL Studio и Adobe Audition
Также, для планирования разработки иногда использую Trello
Для 3D игр для создания моделей использую Blender
P.S. Но даже с этим у меня не получается делать игры :D
А движок какой, Game Maker?
Game Maker, также на Unity делаю, давно когда-то пробовал на Unreal Engine 4.
Тогда, значит, не в инструментах дело.
А я разве говорил что в них дело? Это я настолько криворукий просто..
Обновление: добавил в список ещё 2 редактора для пиксельной графики (PixelApp, Slate).
Добавил генератор персонажей, самолётов/космических кораблей за авторством Kenny: Creature Mixer, Ship Mixer.
Tiled уже упоминали, как аналог LDtk (Level Designer Toolkit). Сам натыкался давно на LDtk, выглядело прикольно. Но с этим постом решил таки полностью открыть программу и попробовать. Выглядит интересно достаточно. Возможно стоило использовать его вместо Tiled на Гаминатор, правда в нём ещё разбираться, штука с сущностями выглядит мощно.
В игровых движках обычно есть своим редакторы тайлов. Рад, что нашлось что-то интересное. :)
Можно вообще в игре для игры сделать редактор карт, но тогда это будет очень узконаправленно. У кого-то получается наоборот широко использовать возможности, чтобы было более-менее универсально, но всё равно с ограничениями. Внешний редактор позволяет избавиться от зависимости в виде игры или даже движка. Например, зачем ставить Юнити, когда можно использовать какой-то простой редактор сцен, а игра на Юнити потом прочитает его свободно. Так что это всё хорошо и понятно почему есть такие редакторы.
Самописные редакторы - это всегда замечательно, но тут зависит от игры и от тех возможностей, которые ты хочешь в него вложить. Тут уже надо смотреть на трудоемкость такой задачи и целесообразность. Ну, это если пойти серьёзным подходом.
Внешние редакторы нужны, это понятно. Есть просто библиотеки или фреймворки, у которых нет никаких инструментов. В движках тоже редакторы не совершены, мягко говоря. Плюс модификации или над уровнями может работать вообще другой человек, у которого кроме Tiled и игры ничего не стоит. Если нет поддержки в движке, придётся писать самому, что снова вылевает в ошибки, правки и т.п.
Всё зависит от цели.
Автор watabou генераторов городов, деревень, о которых я писал, но у него ещё есть процедурная генерация домов с привидениями, острова а теперь есть и генератор рогов. Может кому пригодиться =)
Вставлю свои пять копеек
Obsidian - текстовый редактор с подсветкой синтаксиса, wiki-линковкой записей, и прекрасным Markdown для разметки. Куча фишек, включая плагин для ведения kanban-доски по задачкам
Twine2 - хорош для прототипирования без игрового движка. Последняя версия Harlowe уже полноценный скриптовый язык, так что почти движок
VSCode - редактор кода, если нет встроенного в движок, или как его замена - есть плагин на любой язык, даже Ren'Py Language
Mindomo - рисоварка смарт-карт, некоторые шаблоны идеальны для описания последовательности диалогов
Trello - простейший таск-трекер
Google Drive/Docs или их аналоги от Яндекс
Git + Github - чтобы отслеживать изменения и хранить их не на компе и не в виде бекапов в облаке
Из изврата/экзотики - LEGO Studio (бывший Lego Digital Designer) - можно строить сцены из лего, если в 3д моделирование не умеете, а потом по ним обрисовывать задники
Прикольная программа =)
Добавил такие программы, как Drawio и Miro для создания схем, диаграмм, mindmap, canban-досок и др.
Добавил SHADERed - IDE для шейдеров.
А как же shadertoy?
Ну, так давно бы и написал про этот инструмент. Я им не пользовался и не слышал про него, поэтому и не написал. При быстром просмотре, не увидел возможности отладки (точки останова), профайлера, возможности работать не в браузере. Но насколько я понимаю, сайт популярный.
Дополнил утилитами: rFXGen, rTexViewer, rTexPacker, rIconPacker. И ещё несколькими программами для пользователей библиотеки raylib (raygui).
К Drawio я бы добавил VUE https://vue.tufts.edu/ (бесплатно, вроде как)
А за LibreSprite отдельное Спасибо!
Не за что. Хотя тот же Aseprite легко собирается из исходников. И он похоже явно развивается быстрее.
Ни разу ничего не компилировал из чужих исходников, тем более не на игровом движке (т.е. не Юнити или GMS), так что хз, всегда обхожу стороной исходники по незнанию как этим пользоваться.
Я godot собирал из исходников по официальной документации. Ничего сложного (если немного знать английский). Наличие исходников дает возможность движку быть бесплатным и расширяемым. Но конечно да, если особо не знаешь эту тему - вряд ли полезешь. Я в godot тоже еще не лазил - т. к. надобности пока нет, работаю с ним пока только как с движком, а не как с системой в которую можно добавить какие-то новые фишки на уровне самого движка. Может когда-нибудь понадобится. И хорошо что такая возможность есть. А вот в unity3d, game maker studio такого не будет никогда. Пусть не обижаются поклонники данных инструментов (я их тоже пробовал), но увы. В этих движках ты в большей степени зависишь от разработчиков потому что изменить ничего и никогда не сможешь - поскольку их исходный код в ближайшее время вряд ли откроют.
Полностью согласен с этим. Только вот такие как я, не могут в равной степени изменить нигде, ни в открытом инструментарии, ни в закрытом. Ещё в чужом коде надо разобраться, а у меня с этим проблемы, помимо всего прочего.
Без кода никак не сделать игру ни в каком виде. А создание игр через визуальное программирование - т. е. Blue-принты или что-то подобное, как делал Fakov в своей Color Escape - это попытка убежать от проблем программирования. Но это путь в никуда. Может быть когда-нибудь движки станут настолько совершенны, что другого способа быстро и доступно всем делать игры и не будет ))) Но не сейчас.
А по факту получается что всегда и везде в любом случае надо уметь делать игру через программирования. Т. к. даже те же blue-принты починить, чтобы исправить код, который они нагенерили.
Поэтому как ни крути, а игру мечты без программирования сделать сложно. Мне кажется легче все-таки программирование освоить.
Ну а проблемы у всех есть. Не с программированием, так с другими вещами - с генерацией идей, с созданием геймплея, с графикой, с музыкой, и т. д. и т. п. Проблемы есть, они решаемы и их надо решать )))
Другого пути нет. Никакой движок не сделает игру за тебя.
Нет плохих движков на самом деле и нет плохих инструментов. Есть лишь нежелание решать возникающие проблемы.
Понятно что опыт и навыки у всех разные. Но что поделать. Только пробовать и исправлять свое незнание ;)
А вздыхать можно до бесконечности ...
Я сам использую обычный код (C#, Java Script, Lua), но с нюансами - я художник и никогда не смогу разобраться с тонкостями платформ, например чтобы что-то подправить в сорсах годота, мне кажется надо разбираться в платформе виндовс, но я никогда не писал софт под винду и вряд ли буду писать, моя стихия изучать только чисто игры без углубления в платформу, иначе я просто не осилю, и рисовать, и моделировать , и учиться программировать, и ещё и разбираться в тонкостях платформы.
Ну многим разработчикам игр, хватит и блюпринтов и визуального программирования, ведь цели бывают разные, например просто сделать игры, или же создать свой движок, или может стать мощным программистом. Лично моя цель научиться рисовать и делать только игры, и постараться уменьшить время на изучение чего-то другого, иначе мне просто времени не хватит всё это изучить.
Без знаний и усилий можно запросто установить LibreSprite, Pixelorama, Enve, Synfig, Inkscape, Gimp, Mypaint, OpenToonz, Blender и многие другие фломастеры для художников прямиком из Flathub. Flatpak есть практически в каждом дистрибутиве Линукс. Рекомендую.
В Arch Linux можно одной командой собрать Aseprite из AUR. Только предупреждаю, эта программа на слабой машине будет собираться довольно долго, как какой-нибудь веб-браузер. Для её компиляции потребуется много свободной оперативной памяти и очень желателен быстрый процессор. Вряд ли она того стоит.
Tiled, Twine, SHADERed, MaterialMaker и Drawio там (во Flathub) тоже есть.
Возьму на заметку, хотя я ещё никогда не ставил себе Линукс, давно думал хоть раз заглянуть на эту платформу. Но всегда либо мотивации не хватало, либо просто вначале хотел глянуть, потом забыл.
Зачем тебе оно ? ))) Хотя конечно попробуй. У меня был опыт с ubuntu 16, а затем 18. Ну и на серверах очень часто приходится с линуксом сталкиваться. Но в плане разработки игр - это редкость большая. Для линукс ты вряд ли будешь делать игры. Слишком там аудитория куцая. Из 10, а может и из 100 игроков дай бог что у 1 есть линукс. Хотя и этого может не быть.
Линукс хорош как альтернативная платформа и еще одна платформа где можно показать свою игру. Но не более того. Пока что другие платформы, а особенно Windows, захватили всё и вся. Чтобы там и кто бы там ни говорил.
У тебя до сих пор нет Линукс ? Да ладно ))) Скажут они.
Увы и ах, пока что делать игры для Линукс не делая их для Windows не имеет большого смысла. Это почти как пытаться продавать игру через наш всеми любимый сайт gamin.
Как думаешь, много людей её купят ? ;)
О чём речь? Контент, созданный в Линукс, ничем не отличается от такого в Виндовс. Код, написанный под Линукс, там же на месте компилируется на практически любую платформу, включая Виндовс.
Arch Linux ведь тяжеловат будет для новичка. Я бы предложил Linux Mint, например (мой любимый дистрибутив, хотя я не активный пользователь Linux) =)
Ничего сложно, вот рабочая видеоинструкция. Сам проверял на Windows 10 (с Visual Studio 2019) и на 11 (с VS 2022). А чтобы "не засорять" рабочую машину, то разворачиваю на виртуальной машине.
Fragmenter — это приложение для анимации в реальном времени для создания движущихся изображений, построенное на уникальном движке циклической анимации. Вы можете рисовать абстрактные калейдоскопические анимации за считанные секунды или создавать более длинные анимации, оживляя свои рисунки.
Буду через комментарии расширять набор инструментов, материалов:
Бесплатные 3D-ресурсы (модели, комплекты).
Пост же тоже можно редактировать?
Точно, спасибо. На некоторых ресурсах со временем этого делать нельзя.
Поправил, добавил ещё ссылки на музыку, звуки, книгу о шейдерах (плюс её порт для Godot Engine).