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

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

10 004 поста 23 380 подписчиков

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

3

Улучшения эффектов уничтожения механоидов

Серия Hazatron

Убиение врагов стало радовать чутка больше :)

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

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

Relict Engine: DevLog 20260826

Серия Relict Engine

Краткий список изменений

  • Окончательно разведены потоки движка.

  • Исправлены последние редкие ctd при очистке мусора (наконец-то)

  • Добавлена обработка клавиш в первом приближении.

Комментарий

Все еще до конца не перешел из состояния "втупляю" в состояние "поперло", но через полторы недели отпуск, там разгонюсь.

Система обработки клавиш на данный момент использует калбаки glfw с дополнительной оберткой в виде темплейтов биндов - для создания класса с привязкой к конфигу и системой делегатов для получения вызовов по по событию (на данный момент OnPress и OnRelease).

Выглядит это следующим образом:

Оглашается раскрытие темплейта и вызов его статичного метода для регистрации в системе обработки ввода.

Оглашается раскрытие темплейта и вызов его статичного метода для регистрации в системе обработки ввода.

Бинд привязывается к текстовой метке UserSettings конфига

клавиши пока в цифровом формате и без модификаторов

клавиши пока в цифровом формате и без модификаторов

А дальше, где-нибудь в коде на один (или сразу на все) делегаты вешается нужный метод

в данном случае по нажатию Escape будет вызван метод OnEscape экземпляра актера testActor

в данном случае по нажатию Escape будет вызван метод OnEscape экземпляра актера testActor

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

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

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

M&D #3 – А что будет после?

Серия M&D

День 3 съёмок нашего семейного блокбастера – в прошлый раз мы научили героя создавать магические печати, а сегодня проверяем, умеет ли он отправлять их точно в цель 🪄

Кажется, мы наконец-то поняли, зачем нужны эти печати.

SUCCESS — магия отправляется в цель.
FAIL — магия не отправляется.

А дальше мы просто начали нажимать всё быстрее и быстрее. 😄
SUCCESS, SUCCESS, SUCCESS…
FAIL, FAIL, FAIL…

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

Пока тренируемся на манекене.
Но, кажется, скоро ему станет не до тренировок. 😏

Это уже пиксельная версия текущей сборки — 360 px. Поэтому при масштабировании на экране картинка может выглядеть немного мягче, чем в исходнике.

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

M&D #2 — SUCCESS / FAIL / CANCEL

Серия M&D

Переместились на съёмочную площадку. 🎬

У печати, оказывается, целых три варианта:

🟢 SUCCESS — зелёная улетает вверх.
🔴 FAIL — красная схлопывается в персонажа.
⚪ CANCEL — просто исчезает.

Последнее вы уже видели в M&D #1. 😉

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

Среда разработки "Кенгуренок"

Главный экран

Главный экран

Длиннопост

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

В этот раз я поставил себе цель именно выпустить игру. Т.е. пройти полный путь от идеи до выхода на торговые площадки.
Постарался придумать максимально простой проект для этой цели и взялся за его реализацию. И даже не смотря на видимую "ультимативную простоту" проект растянулся с запланированных 2-3 до 9 месяцев на данный момент.


История:
В далеком не то 1991, не то 1993 году существовала обучающая среда разработки/графический исполнитель "Кенгуренок (ROO)"

Оригинальный "Кенгуренок" (ROO)

Оригинальный "Кенгуренок" (ROO)

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


Я пожалуй опущу длинную историю о том, сколько и каких конкретно шишек было набито в процессе и как я три раза переписывал компилятор. Если эти подробности интересны - пишите в комментариях, постараюсь рассказать в отдельных постах.


Что получилось:

Экран загрузки Roo Coder

Экран загрузки Roo Coder

(я намешаю старые и новые скриншоты, проект успевает изменяться быстрее, чем я их делаю)

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

Основные команды управления кенгуренком: шаг, прыжок, поворот и смена цвета (если игрок подобрал их несколько)

Реализованы типы данных int (целочисленный) и bool (логический) а так же все стандартные математический операторы +, -, *, /, %, унарные операторы ++, --, операторы присваивания +=, -=, *=, /=, %=, логические операторы !, ==, !=, &&, ||, if-else, циклы while, for, команды управления циклами continue, break.... Может быть что-то ещё, но вообще всё во встроенном учебнике описано.

Встроенный учебник

Встроенный учебник

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

Предусмотрены размеры поля 8x8, 16x16, 32x32 и 64x64 клетки.

Roo процессе исполнения

Roo процессе исполнения

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


Дополнительно:

Короткое описание игры на моем сайте: https://in-term.ru/portfolio/dev/roocoder (раз уж пост пилю, пусть и ссылка на меня будет)

Steam - пока отсутствует. Я в процессе разбирательства, как сейчас лучше на нем регистрироваться разработчику из России. Как разберусь со стимом, возьмусь за остальные площадки. Хочу выложить везде, куда дотянусь, куда сил хватит.

(кстати если кто-то имеет опыт выпуска игр в текущее время - буду благодарен за информацию о подводных камнях на любых площадках)

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


P.S. Чукча не писатель.

P.P.S. Но рассказывать о своей работе миру как-то нужно, поэтому начинаю с поста на пикабу.

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

Крафт, зачарование, торговля, репутация, военная мощь - Core-Loop моей игры

Серия Shadow Bridge

Всегда любил симуляторы с упором на экономику. Симсити, цивила, карьера менеджера в фифе, ММО-шки различные, да даже Царь горы в Арме. Ну люблю, че поделать. Поэтому и в своей игре решил сделать такую механику. А получилось ли?

Идея была такова - мы торгуем с 5 фракциями, которые воюют друг с другом. От каждой фракции есть торговец, который может предложить Trade Offer. Ну бартер, грубо говоря. Каждая сделка с торговцем меняет баланс военной мощи этой фракции в войне. Обменял товар на золото - считай поставка, военная мощь фракции ползет вверх. Купил товар за золото, значит ослабил материальное присутствие на поле боя. В этот же момент мощь истинного соперника, одного из оставшихся 4-х, двигается ровно противоположно. Вроде пока что ничего интересного. Но!

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

И тут в дело вступает крафт и зачарование - помимо обычных офферов от фракционных торговцев, есть возможность крафтить вещи и продавать их напрямую. Смысл от этой продажи, на первый взгляд - золото, чтобы продолжить торговлю. Но не только для этого. Мы можем зачаровать меч на + и продать фракции, тем самым увеличив их военную мощь. Или. Или зачаровать на - , тогда мощь упадет. То есть это наш инструмент влияния на общий ход войны.

Получается что мы эдакий мускулистый торговый мостик, лавирующий среди 5 фракций (есть еще деревенские торговцы, которые торгуют предметами для крафта и офферов, но торговля с ними не влияет на войну).

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

Вот так примерно выглядит экономическое ядро моей игры. Что думаете?

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

Это мой соло проект: PVP экшн шутер с элементами RTS

Серия Us-battle, мой инди проект

Я фронтэнд разработчик по профессии, в IT уже 8+ лет. Разработкой игр начал заниматься не более года назад.
Выбрал godot, потому что не так давно делал для себя и компании аналог тетрис плюс (игра на ps1), в котором был pvp режим но только 1х1, после некоторого количества вечеров где 2 человека играют, а остальные ждут своей очереди решил что надо сделать свою версию где можно играть сразу хоть в 8м, буквально за пару-тройку недель сделал играбельную версию, после нескольких тестовых игр и правок после них, была готова полностью играбельная версия.

тот самый сделанный аналог тетрис плюс

тот самый сделанный аналог тетрис плюс

Если будет кому интересно могу рассказать о нём подробнее

Процесс очень понравился и решил сделать чтото посложнее. Так как я большой поклонник RTS и PVP-состовляющей, решил что делать просто RTS смысла нет, их можно без труда найти, тем более что C&C generals для нашей компании сложно чемто перебить и поэтому от RTS в игру добавил только элементы строительства, сделав основным геймплеем экшн-шутер.

Игра вдохновленная старыми RTS играми и экшн шутерами времен PS1.
Хочется сделать относительно простую, но затягивающую PVP игрушку для компании, в будущем планируется приобрести полноценный dedicated-сервер для игры онлайн, сейчас уже есть статический IP и серверная часть стоит на старом пк дома

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

главное меню

главное меню

сама игра

сама игра

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

Скачать игру и попробовать оффлайн режимы можно тут: https://boosty.to/us_inc

Если когото заинтересует, приглашаю на онлайн тесты вместе со мной.

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

Моя первая игра на itch.io

Привет, для ЛЛ : я сделал игру, раздаю её бесплатно на itch.io , скачивать не нужно, она есть в и в web версии. Прошу взглянуть и высказать своё фу проекту, а то и похвалить (да ладно, я знаю, что ни кто хвалить не будет).

Подробнее.
Привет меня зовут Антон, мне 48 и я 30 лет тружусь в ИТ сфере (да, я начал заниматься этим когда это ещё не было мейнстримом).

Занимался всем, от ремонта ПК и сисадминства до ИТ безопасности и руководства ИТ отделом, но последние лет 7 работаю разрабом на Qt\c++. Однако истиной моей мечтой всегда было делать игры. Сейчас, когда моя жизнь стала поспокойнее, я решил реализовать свою мечту. И пусть я даже ничего с этого не заработаю, но хоть получу удовольствие от процесса.
Итак что я имел для реализации год назад:

  1. Стабильную работу, чтобы не думать о мелких расходах

  2. Небольшие знания программирования

  3. Желание сделать хотя бы простую игру, а в идеале игру своей мечты

  4. Не малейшего представления о том, как всё эти игры делают

За год я изучил какие есть движки, какие языки в них можно использовать, попытался их освоить, написал себе диздок и лор будущей игры аж на 83 страницы, нагеренировал к ней кучу артов,  попытался научиться рисовать 2D и 3D, понял что художник их меня еще хуже чем программист, отчаялся и забил на Unreal Engine и игрострой в целом, стер все свои наработки в акте отчаянья, одумался и восстановил их из копии, а месяц назад начал писать маленькую, но работающую игру на Godot вместо огромной игры своей мечты на Unreal.
Итак что за проект и как я его делал:

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

Итак, в чем идея игры. Так как я застал эпоху Commodore 64 и Atari то решил начать с малого и отдать дань уважения играм эпохи 80х. Игра в целом навеяна такими шедеврами той эпохи как Boulder Dash и The Adventures of Robbo и что греха таить - при разработке я вначале пытался копировать их стиль и механики. Но на самом деле получилось не плохо, через какое-то время пришла идея добавить в игру немного лора и хорора (для таинственности) и ряд других механник.
В целом Core Burrow это смесь того самого Boulder Dash и The Adventures of Robbo с добавлением большого числа текстовых сообщений для погружения в лор. В игре есть камни которые могут упасть на голову, стреляющие пушки, алмазы которые надо собирать (спойлер - на самом деле это кристаллы памяти сумасшедшего суперкомпьютера ) и многое другое.
И есть герой, вот такой забавный робот – «Разведчик 'SUB-ROBOT 04'». За него и играем.

«Разведчик 'SUB-ROBOT 04'» в процессе создания

«Разведчик 'SUB-ROBOT 04'» в процессе создания

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

Процесс разработки. Собственно, на Godot и его GDScript я вначале смотрел с недоверием. В конце концов ни где кроме Godot эта технология не встречается. Был большой соблазн писать на C#, но как выяснилась сборка на C# не работает в WEB, так что я отбросил лишнюю гордость и полез в документацию Godot. Оказалось, что не так страшен черт, как его малюют. Самое сложно там это не сам язык, он проще Python. Страшно обилие строенных классов и их методов, вот от них действительно разбегаются глаза. Особенно если не знать, для чего они. После системного программирования и GUI на Qt многие вещи казались мне тут не совсем очевидными. Не смейтесь, но на помощь пришел ИИ, оказывается с его помощью можно не только сочинять глупые рассказы и рисовать мемы, но и не плохо обучаться незнакомым языкам программирования.
За пару дней я узнал, что есть в Godot в целом (ну или большую часть) и много нового об игровых технологиях и алгоритмах. Это дало мне понимание почему в игровых движках всё работает именно так, а не иначе. Блин, великая вещь нейронки.
Смешно, но такие вещи как цикл программы или сигналы были мне хорошо знакомы по Qt. А вот тайлы это что-то новое. Должен заметить, что работа с тайлами в Godot это настоящее искусство, мне показалось, что движок специально под них заточен. Не думаю, что нужно делать урок по тайлам, их полно в интернете, но не отметить их прекрасную работу в Godot было просто невозможно.

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

При том что механик было сделано не мало. Падающие камни и земля как в Boulder Dash, бомбы и пушки с автострельбой как в The Adventures of Robbo, разноцветные двери и разноцветные ключи к ним, телепорты, заброшенные сервера для чтения лора и главное игрок, который со всем этим взаимодействовал. Всё это позволяет создавать действительно сложные лабиринты.

Сами лабиринты я рисовал в прямо в TileMapLayer с помощью встроенных в редактор средств, так что остро стоял вопрос как заставить камни падать, а бомбы взрываться. Вопрос решился просто, камни, бомбы и другие интерактивные элементы заменялись на сцены Area2D прямо при старте лабиринта. А замену выполняет … скрипт игрока. Каждый раз на новой сцене у него отрабатывает void _ready():  так что там вызывается метод для обхода всех тайлов на уровне и замены некоторых их на сцену bomb или rock . И нет, заменяются не все тайлы, в этом просто нет необходимости. На самом деле у падающих камней и бомб нет физики, они проверяют соседний тайл и если там пустота начинают проигрывать анимацию падения (перемещения на соседнюю клетку - twin) и по прошествии анимации мгновенно перемещаются на нужную позицию. Если там в этот момент игрок – ему сразу хана, если и под этой клеткой ничего нет, то продолжаем падение.

игра в процессе тестирования

игра в процессе тестирования

Так что никакой перегруженности лишними вычислениями – CPU по возможности отдыхает.
А чтобы все это красиво смотрелась на многие тайлы наложен шейдер, который так же не загружает CPU (только GPU – но этот пусть работает) .
Итак в результате получилась гремучая смесь из кое-как нарисованной мной векторной графики, музыки с Suno (вот только не надо смеяться и показывать пальцем, кто тут из нас композитор? ) звуков со стоков и моего говнокода (опять же кое где его помогал писать бесплатный Gemini ибо в шейдерах я не смыслю).
К своему удивлению я так же узнал что у itch.io есть образ для сборки проектов на Godot, но нет никакого api для создания ачивок. Если первое очень обрадовало, так как сразу удалось настроить полноценный CI/CD на GitLab (делаю git push и игра обновлена), то второе откровенно расстроило – ачивки нужны, раз уж я делаю свой минимальный работающий продукт.
Вопрос был решен радикально – своя система ачивок. Ну да, это не настоящие ачивки, это их имитация. Просто GUI сделан так, что при достижении определенных результатов появляется всплывающее окно похожее на получение ачивки и программа ведет учет получения этих ачивок в специальном скрытом файле. Вы получаете псевдо ачивки и можете их увидеть в соответствующем меню игры

Достижение: Блинчик – вас раздавило камнем

Достижение: Блинчик – вас раздавило камнем

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

список достижений

список достижений

Так как игра во многом является оммажем старым играм, я реализовал демонстрацию игрового процесса, то что в старых играх называлось Attract Mode. На него можно посмотреть на самой первой сцене при просмотре стартового меню. Робот будет имитировать хождение по карте и пытаться что-то делать. На самом деле все его движения четко запрограммированы, если присмотреться, то можно увидеть, как он ходит по одному и тому же маршруту. Как говориться мелочь, а приятно.
Чтобы не растягивать статью, пожалуй, подведу небольшой итог.
Что сделано:

  1. готов минимальный продукт – в игру можно играть, её можно пройти.

  2. Реализованы все механики (хотя можно и расширить их список)

  3. Сделано 20 уровней

  4. Сделаны кат сцены начала игры и победы

  5. В конце игры можно увидеть статистику – ничего особенного, просто сколько раз вас убило током, сколько собрали кристаллов итд

  6. Все красиво свистит и пердит

  7. Я придумал свою систему ачивок не привязанную не к одному API

  8. Настроен CI/CD для itch.io

  9. Черт, я узнал много нового, воистину - век живи век учись.

Что можно улучшить:

  1. Расширить количество получаемых ачивок, раз есть такая система, то можно и её расширить. Спойлер: уже нарисовал 6 новых иконок для новых достижений.

  2. Надо сделать редактор уровней, как в старом Lode Runner или Mario Forever. Пусть кому хочется рисует свои лабиринты.

  3. Графика и код, мне есть куда расти. Доделаю этот проект, переделаю брошенные проекты (сейчас их два) и напишу такую крутую игру чтобы все сказали вау.

Короче, приглашаю всех посмотреть мой проект тут https://greatskydrake.itch.io/core-burrow
Если зайдет хоть одному человеку я старался не зря.

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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества