Сообщество - Лига Разработчиков Видеоигр

Лига Разработчиков Видеоигр

8 924 поста 23 151 подписчик

Популярные теги в сообществе:

1

Если покупка игры не является приобретением, то и пиратство не является воровством?

"Если покупка игры не является приобретением, то и пиратство не является воровством" - это цитата Создателя Minecraft Маркус Перссона. Он высказал это мнение в рамках инициативы «Stop Killing Games».

На всякий случай, уточню, что я осуждаю пиратство во всех его проявлениях (Кроме Пиратов Карибского моря, разумеется).

С точки зрения издателя, мы покупаем не игры, а "лицензию с ограниченным доступом". Именно эта фраза юристов Ubisoft вызвала вышеуказанную реакцию Перссона. А еще, в октябре 2024 года Valve стала дополнительно предупреждать клиентов во время оформления заказа, что в Steam пользователи покупают не игры, а лицензии на их использование.

Но ведь, по сути, если ты бесплатно получаешь доступ к тому, для чего требуется лицензия, это тоже пиратство, или я не прав?

7

Я устал , я мухожук или Узурон v2

Мы не знаем что это такое, если бы мы знали что это такое...

Мы не знаем что это такое, если бы мы знали что это такое...

Привет. На самом деле я прекрасно знаю что это такое и почему. И это только часть скрина. Остальная часть практически такая же красочная. Это я так запустил сервак нашей игры после очистки кеша. Странное дело. До очистки проблем не было :)

Короче говоря, я реально устал от этих пересборок. Игра была на ue 5.4. И я давно на стримах говорил, что переходить на другую версию мы не будем, пока не найдется причина для этого. Причина нашлась. После попыток оптимизировать сцену и внедрить свою систему патчинга ( потому что анриловская система меня не устраивает в полной мере ), карты мягко говоря пали смертью храбрых. Жесть была примерно вот такая.

А раньше всё было по другому...

А раньше всё было по другому...

В общем отключив комп и обождав пару дней, я собрал часть команды и мы провели голосование о том, что нам нужно, в очередной раз, собрать проект с 0. Это уже хрен знает какая по счёту пересборка. Однако приведя все доводы. За и против. Мы единогласно решили, что нужно перейти на версию 5.6 и собрать все чище. Ибо мы знали , где есть проблемы и знали как их можно решить, собирая с 0. Мы обозначили мне срок в 2 недели. На сборку только первой локации - Узурон. Куда будет входить конечно же онлаин, прокачка скилов и мелкая добыча ресурсов, чтобы герой не помер.

И что вы думаете :))
Сегодня я наконец на high настройках получил 68 фпс на локации. Да. Тут есть оговорки. Мол сцена не сильно нагружена, однако это 60+ фпс, которых я не видел уже хз сколько.

69 фпс при 6 гигах занятой памяти в редакторе.

69 фпс при 6 гигах занятой памяти в редакторе.

Кто бы что не говорил. Но я очень рад этим показателям. Всю боль я расскажу завтра на стриме. А сейчас я скажу так, нашим "старичкам". Ребята. Вы меня уже давно знаете ( как никак игру мы делаем не один год :) ) . Я бы просто так не стал бы делать "сброс". И план у нас такой.
За эти 2 недели мы готовым локацию Узурон. Запихиваем туда различные режимы ( включая мини игры ) и пробуем выгрузиться на какой-либо стор. Уже после выгрузки мы будем обновлять карты других локации.
Ну и как обычно - завтра будет стрим ( не игровой, ибо серваки отключены ). Я постараюсь вкратце все рассказать. И если будут вопросы - я постараюсь на них дать ответ :)

Что касается тех, кто впервые видит нас.
Привееееет (с) Мы делаем разножанровую игру ( на данный момент это дальнобойщики, выживалка и фишки ).

Показать полностью 2
10

Двадэшки — визуальный редактор 2D-игр для детей 12+1

Двадэшки это бесплатное приложение для создания двухмерных игр в браузере, разработанное специально для детей 12+. Также его могут использовать взрослые программисты-любители которым нужен простой инструмент. В этом приложении побеждена сложность разработки, но при этом есть потенциал для создания сложных игр.

В Двадэшках используется визуальный язык программирования ЖивоСкрипт и библиотека моделирования физики matter.js и её визуализатор на Canvas — всё это даёт возможность создавать настоящие игры. Созданную игру можно опубликовать в виде сайта или запускать на телевизорах или компьютерах.

Язык ЖивоСкрипт это визуальная форма языка JavaScript. Код на языке ЖС транслируется в JavaScript. ЖС облегчает и автоматизирует работу программиста. ЖС похож на языки Скретч и Блокли, но даёт возможность создавать большие сложные программы. Это промежуточное звено между примитивным детским и сложным профессиональным программированием.

Приложение Двадэшки можно скачать и использовать офлайн. Есть возможность автозагрузки файла игры без показа интерфейса редактора, только кнопка запуска игры. Так можно публиковать игры.

В этой статье описание графического интерфейса, структуры двухмерного мира игры, и API приложения. Язык ЖивоСкрипт описан в отдельной статье и доступен в виде отдельного приложения.

Для самообучения вместе с этой статьёй используйте встроенные видеоуроки. Видеоуроки будут постепенно добавляться.

при нажатии на кнопку меню "?" появляется подсказка

при нажатии на кнопку меню "?" появляется подсказка

Интерфейс приложения работает при ширине экрана не менее 1500 пикселей. Минимальный размер экрана необходимый для нормальной работы — FullHD. Для работы с приложением необходимы мышь и клавиатура. Во время игры для ввода используются клавиатура. Позже будет добавлена поддержка геймпада и сенсорного ввода.

РАБОТА С ФАЙЛАМИ И ЗАПУСК ИГРЫ

Чтобы открыть готовую демонстрационную игру от автора — нажмите на кнопку "демки" на главной странице и выберите игру.

Чтобы открыть главную страницу — нажмите кнопку "Двадэшки" в верхнем меню.

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

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

настройка игры

настройка игры

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

Чтобы сохранить игру на диск компьютера — нажмите "сохранить файл".

Чтобы открыть файл игры с диска — нажмите "открыть файл".

Открытая и модифицированная или созданная игра хранится в памяти браузера и автоматически открывается после перезагрузки страницы приложения.

Есть два режима работы приложения — редактирование и игра.

Чтобы запустить игру — нажмите клавишу "ENTER" или кнопку верхнего меню "играть".

Чтобы прекратить игру — нажмите клавишу "ESC" или невидимую кнопку в правом верхнем углу экрана.

В меню "название" вы можете изменить название игры и её описание.

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

2D-МИР

Мир игры в Двадэшках это стопка из десяти слоёв:

Основные три слоя для тел персонажей и декораций. Названия этих слоёв: "над", "тела" и "под".

Тела созданные на слое "тела" сталкиваются друг с другом, а тела на слоях "над" и "под" не сталкиваются.

Под слоями тел может быть вспомогательный слой который виден только во время редактирования — "сетка".

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

И под этими слоями одноцветный фоновый цвет.

Над этими слоями для красоты может быть слой "тень" с внутренней тенью по краям экрана. Тень можно включить или выключить.

И над всеми слоями располагается слой для HTML-элементов которые может создавать программа игры: стандартные сообщения и информация, пользовательские элементы, кнопки... С элементами на этом слое пользователь может взаимодействовать через мышь во время игры.

Для работы со слоями используйте разделы нижнего меню: "слои тел" и "слои фона".

слои фона

слои фона

В ограниченном мире по краям экрана на слое "тела" располагается неподвижная рамка, состоящая из четырёх линий по краям экрана. Имена этих четырёх тел: border_top, border_bottom, border_left, border_right.

КАМЕРА

Изначально камера показывает центр мира в центре экрана. На экране отображаются координаты камеры. Во время редактирования вы можете двигать камеру стрелками клавиатуры, и для большего или меньшего сдвига вы можете использовать клавиши "Shift" и "Alt". Положение камеры сохраняется и в этом положении будет камера в начале игры.

Кнопки нижнего меню: "камера ⏐" и "камера ⎯" сдвигают камеру на оси X и Y.

СОЗДАНИЕ ТЕЛ

Перед созданием тела выберите для него нужный слой в меню "слои тел", по умолчанию это слой "тела".

Слои можно отключать и включать нажимая на кнопку "✔︎".

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

Далее выберите какой тип тел вы будете создавать — примитивы, группы, связки или клоны. Всё состоит из примитивов. Примитивы это простые тела разных форм: круг, прямоугольник и многоугольник.

Из примитивов вы можете создать группы. Группа это неподвижное соединение тел.

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

И примитив можно использовать как прототип для клонирования. Все клоны будут вести себя по программе прототипа. Из клонов нельзя создать связки и группы. При изменении прототипа нужно вручную включить обновление и пересохранение всех клонов через нажатие клавиши "R". При запуске игры все клоны автоматически обновляются.

показаны все свойства выделенного тела

показаны все свойства выделенного тела

СОЗДАНИЕ ПРИМИТИВОВ

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

СОЗДАНИЕ ГРУППЫ

Чтобы создать группу нажмите меню: "добавить тело" и "группа". Мышкой выберите два или более тел, и нажмите на кнопку меню "сгруппировать".

СОЗДАНИЕ СВЯЗКИ

Чтобы создать связку нажмите: "добавить тело" и "связка". Мышкой выберите два тела, и нажмите на кнопку меню "связать". После этого настройте жесткость и пружинность связки, положение точек крепления связки к телам и длину связки. И нажмите кнопку "готово". Если вы в дальнейшем захотите из программы менять свойства связки — запомните ее идентификатор (ID).

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

Связки не видны в режиме игры.

СОЗДАНИЕ КЛОНА

Мышкой выберите тело которое будет прототипом. Выбрать можно клон. Нажмите: "добавить тело" и "клон" и нажмите мышкой в нужном месте. Идентификатор клона уникальный и отображается на экране при выделении клона — в строке идентификатора после слова "клон_" и идентификатора прототипа: например: "клон_1_256" — означает идентификатор клона 256, и идентификатор прототипа 1.

ПРОГРАММА ТЕЛА

Любое тело может иметь программу. Клоны исполняют программу прототипа. Чтобы программировать выделенной тело — нажмите кнопку нижнего меню "программа" или клавишу "пробел" на клавиатуре.

В верхнем левом углу программы отображается идентификатор тела или прототипа, и его имя.

В программе тела можно использовать страницы. По умолчанию используется первая страница. Каждая страница это просто процедура которая может быть выполнена в любой момент. В начале игры исполняются все первые страницы программ тел.

Чтобы посмотреть код JavaScript в который транслируется код на ЖивоСкрипте — нажмите кнопку "код JavaScript".

Чтобы закрыть программу надо нажать кнопку закрытия в правом верхнем углу или нажать клавишу "ESC".

API

Из программы доступно множество адресов среды исполнения и тел. Адреса представлены в отдельном окне и разделены на следующие разделы:

ЭТО ТЕЛО

В этом разделе все адреса программируемого тела. Первое свойство это адрес-ссылка на объект тела. Каждому программируемому телу соответствует объект в среде исполнения игры.

Основные изменяемые свойства тела — картинка, прозрачность, поворот и положение тела.

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

Цикл объекта — это подпрограмма повторяющаяся с определенной частотой. Адрес "повторяющаяся подпрограмма" надо связать с подпрограммой которая будет повторяться. Повторяющуюся подпрограмму можно в любой момент отменить через вызов метода "отменить повторение подпрограммы".

Камера может следить или перестать следить за программируемым телом горизонтально или вертикально. Положение программируемого тела на экране можно настроить через сдвиг, по умолчанию тело будет в центре экрана.

Тело может автоматически восстанавливать свой угол поворота если его толкнёт и повернёт другое тело.

Через адреса импульсов поворота и движения можно получить значения угловой и линейной скорости тела или изменить их. Эти значения используют методы которые толкают или вращают тело относительно экрана или относительно себя.

Движения и повороты тела могут многократно повторяться с определенной частотой. Так же тело может двигаться к другому телу, к координате, по телам и по координатам.

Тело может взять другое тело — при этом образуется связка между телами, жёсткость и пружинность которой можно настроить. Тело может бросить все взятые тела или определенное тело. Тело может оторваться от другого тела взявшего его.

Выстрел создаётся через бросание телом клона, примитива или источника частиц.

Тело может отправить сообщение другому телу.

Есть адреса для обработчиков событий тела: схождения или расхождения с другим телом, когда тело "видит" перед собой тело, когда пришло сообщение от другого тела, когда тело взято или брошено

В игре может быть запущен ритм (звуковой файл) под который тела могут "танцевать" — изменять под музыку масштаб, положение и прозрачность своей картинки. Можно отменить танец, и настроить его амплитуду и направление.

ТЕЛА И СВЯЗКИ

В этом разделе адреса используемые для любого тела. Первый метод возвращает ссылку на объект тела по идентификатору. Чуть ниже есть подобный метод для получения ссылки на связку.

У объекта тела есть неизменяемое свойство "идентификатор объекта" и изменяемое свойство "имя объекта".

Тело можно клонировать, удалить, и добавить к нему свойства.

Можно получить приложенную к телу силу или угловую скорость или задать их. Получить или изменить плотность тела, угол поворота тела, положения тела, центр тела, трение, упругость, цвет, видимость и прозрачность тела.

Свойство "датчик" при положительном значении отключает возможность моделирования физического столкновения, и тогда тело может как датчик лишь регистрировать схождение и расхождение с другими телами. Тела на слоях "над« и "под» не участвуют в столкновениях и являются датчиками.

У связки можно изменить свойства пружинности, жёсткости и длины.

КЛАВИАТУРА

В этом разделе адреса для обработчиков нажатия и отжатия кнопок клавиатуры.

МИР

Можно узнать момент времени когда игра началась и сколько времени она длится.

Можно включить измерение производительности.

Есть метод для изменения вязкости среды (сопротивление воздуха)

Можно изменить скорость течения времени, изменить гравитацию.

ЭКРАН

Можно получить ширину и высоту экрана, получить координаты границ экрана в мире игры.

Границы экрана это рамка состоящая из четырёх линий по краям экрана, они перемещаются по миру вслед за камерой. Они используются для регистрации схождения (контакта) тел с ними. Их можно удалить. Имена этих четырёх элементов: sensor_top, sensor_bottom, sensor_left, sensor_right.

Можно проверить удалённость тела от границ экрана. Это используется для оптимизации производительности, чтобы не включать программы тела если оно не в поле зрения, далеко вне экрана.

И можно сдвинуть мир относительно экрана, то есть сдвинуть камеру.

ФОН

Можно настроить фоновый цвет и три слоя с фоновыми картинками.

ЧАСТИЦЫ

У любого тела есть метод "взорваться" для создания взрыва. Тело может остаться или исчезнуть. Взрыв может быть на одном из трех слоёв для тел.

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

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

ЗВУКИ

Перед использованием звуки необходимо загрузить в игру через верхнее меню "звуки игры". Есть возможность обрабатывать событие завершения звука.

РИТМ

Ритм это тот же звук но используемый для танца, у него меньше методов для настройки звука. Чтобы использовать один из 12-ти танцев — надо их предварительно добавить.

АДРЕСА

Адреса этот 10 изменяемых свойств которые могут быть связаны с любым значением. Для этих адресов есть адреса для связывания с обработчиками события изменения значений адресов.

HOWLER

Это библиотека для работы со звуком.

LOCALFORAGE

Это библиотека для хранения данных в памяти браузера.

RAF

Это небольшая библиотека от автора в которой собраны некоторые полезные методы.

Так же в верхнем меню доступны системные адреса используемые в обычном веб-программировании.

АВТОЗАГРУЗКА

Для автозагрузки игры без показа интерфейса редактора надо:

  1. добавить в начале json-файла игры строку: window.игра=

  2. переименовать json-файл игры на: game.js

  3. разместить файл в корне скачанного приложения

содержимое приложения Двадэшки

содержимое приложения Двадэшки

ВАШ САЙТ С ВАШИМИ УРОКАМИ

Вы можете скачать приложение Двадэшки и разместить его на своём сервере. Тогда у вас появится возможность загружать свои уроки в раздел "видеоуроки".

Нажмите кнопку "видеоуроки" на главной странице — откроется пустое окно. Нажмите невидимую кнопку в правом нижнем углу. При первом обращении система предложит ввести логин и пароль админа. Придумайте любой логин и пароль и запомните его.

Загрузите файл игры и файл видео, и придумайте имя урока. Нажмите кнопку "сохранить".

Так школа или учитель могут создать свою программу обучения.

Показать полностью 14

Ответ на пост «Бесшовный портал в моей игре, что думаете?»1

Всё заебись. Выглядит и работает очень красиво.
Кроме самого главного НО!
Любая игра на Юнити – есть плохо переваренный кал.
Вот ни одной нормальной игры на этом говне не знаю.

10

Добрый вечер, кратко по новостям!

🛠️ Продолжаю визуализировать город.
Сейчас работаю над квартирой главного героя — будет уютно! 🏠

🧹 Обновил и добавил модели: теперь мусорки и мусор выглядят лучше, появились цветочки и другие мелочи 🌸🗑️

⚙️ Основной фокус — оптимизация:
Каждая новая модель = куча работы:
🔹 LOD'ы (уровни детализации)
🔹 Кастомная коллизия
🔹 Merge — объединяю мелкие объекты в один, чтобы снизить нагрузку
🔹 Упрощаю материалы

🙏 Спасибо, что читаете! Всем добра! 💖

P.S. Сделал новую систему инвентаря, взаимодействие с предметами и ещё пару функций — но их надо доработать, так что пока не об этом 😄

Показать полностью
3

Дневник разработки симулятора - 3 "Масштаб растет"

Немного тур по городу и новые возможности

Я соло-разработчик с мечтой о создании грандиозных проектов, постепенно иду к мечте и продолжаю свой дневник текущей разработки)

Немного отходя в сторону, поле провального релиза предыдущей игры Only Jump On Pogo, ее продажи в итоге окончательно остановились.(грустный смайлик)

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

Сперва видео:

Немного того-сего, пятого-десятого

Что новенького:

Из основного конечно же - это само коммерческое здание, где будет происходить основное действие игры(куда-же без здания в практически каждом симуляторе сейчас). Здание готово полностью к использованию - окна, стены, краска, кирпичи. Риелторы уже разместили свою рекламу и подготовили его к сдаче, так что осталось только заключить договор и можно начинать. Конечно-же оно состоит из двух основных частей по классике жанра - склад и клиентская зона, и то и другое можно расширять с течением времени, до масштабов вполне внушительных в итоге. Возможность расширения так-же уже полностью сделал и продумал(единственное - есть мысль, что заложил слишком масштабное увеличение площади в каждое расширение, но это потом если что не сложно скорректировать). Складские двери функционируют примерно как и в доме игрока, о чем писал в прошлых частях, ну а основная дверь - автоматическая - прямо как в жизни.

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

Третье основное, непосредственно с предыдущим связанное - система товаров, полок, склада и груза - у каждого товара есть свой тип, который должен совпадать с местом хранения(если место не подходит, то не получится разместить). Соответственно у полок так-же есть те-же самые поддерживаемые типы хранения, и при взаимодействии игрока с товаром в руках с полкой - соответственно все это будет отрабатываться в надлежащем порядке.(пока в руках ничего нет - полка вообще не интерактивна, с товаром в руках соответственно будет проверка соответствия товара и полки).

Продолжение предыдущего - это система заказа товара на базе(ферме, которую уже показал), его автоматическая загрузка в машину, потом выгрузка из машины на склад.

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

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

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

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

Далее планирую продолжить основные механики игры и думаю уже совсем скоро анонс в стим сделаю.


Спасибо за внимание! Предыдущая игра называется Only Jump On Pogo в Steam, если кто-то захочет приобрести - буду очень благодарен)

Показать полностью
Отличная работа, все прочитано!