- Последний пост
- 8 авг.
- Последнее чтение
- 14 авг.
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- 20
- 1/48двое суток
- 22
- 1/72трое суток
- 24
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Давно не постил — ведал Что удалось сделать за неделю, на самом деле очень много всего, у игры появился полноценный вертикальный срез, все распихано по UI, чтобы всем этим можно было пользоваться. Осталось решить вопрос стилизации, изначально я делал игру в Pixel-Art стилистике, и она мне до сих пор крайне нравится, но есть ряд проблем с ней, на выходных предприму попытку перевести все в Pixel, если не получится красиво. тогда у игры будет более современный UI-дизайн. типа Bento Grid и Flat 2.0. И в таком случае визуал дронов так же переед на CAD-стилистику. Так же полностью удалось покончить с эмулятором ассемблера, написал для него около 100 тестов по примерам реального кода, пока похоже на правду.
Как у нас тут дела а ассемблером, а очень то даже хорошо Сейчас в игре есть поддержка 32 регисторов общего назначения и 16-битные указатели X Y Z Честный АЛУ и SREG, все флаги Z C N V S I считают эмулятором Добавил поодержку базовых инструкций LDI MOV ADD SUB, логических AND OR XOR COM NEG CLR, сдвигов LSL LSR ASR Инстуркции управление I/O портами SCI CBI, SKIP-команды SBIC и SBIS Общуя память для разных MCU и FIFO-трубы И немного доп-приколов сверху типа Wathcdog Timer, Stack-SRAM Collision, Bus Overrun Ну и сделал IDE в Godot для написания кода, с подсветкой синтексиса, автодополнениями, брейкпоинтами и линтером. Пока делаю тестовые сценарии, первый блок будет посвящен управлением поворота оружия и разных паттернов его поведения реализованных через ASM.
К сожалению визуальное программирование себя неоправдало, слишком нагруженная система, много визуального как иронично мусора, мещанина из проводов, а любое усложнение логики превращает все это в спагетти. Конечно, меня это огрочило, все таки я возлогал определенные надежды на эту систему, но к счастью у меня есть решение. Как же дать игроку возможность делать сложную логику поведения, которая при этом была бы ограничена "железом" его боевой платформы и добавить влияние объемов оперативной памяти и мощности CPU на выполнеямые команды. А С С Е М Б Л Е Р За основу взят RISK-8 с некоторыми приколами и условностями. И все пошло поехало. Это немного поменяет некоторые элементы подготовки к высадке, такой же останутся системы сборки транспорта, немного изменится система расстановки компонент, больше внимания будет уделено именно компонентам печатных плат, они теперь явно будут влиять на "объем" кода который можно написать, на доступные регистры и объем ROM RAM Сейчас занимаюсь написанием модуля обучения, все таки Godot крайне хорош в работе с UI, поэтому получает вполне неплохо. Наверное, на этой неделе успею даже показать как эта система выглядит на практике.
На этой неделе было как-то очень много работы на работе, что, конечно, ужасно не люблю работать, тем не менее успел перенести всю документацию в Obsidian, сделал небольшой тестовый уровень, чтобы посмотреть на то как дрон обрабатывает все эти команды, удивительно, но убивать и умирать он теперь умеет. Планирую сегодня и на выходных затолкать в игру сразу — три типа корпусов, пять типов ходовой, три типа двигателей, два типа башен, семь типов оружия, семь сенсоров, четыре датчика, все со своими эффектами и отдельным UI для настройки поведения.
Затолкал конструктор в движок Пока не очень уверен насчет набора шейдеров, поэтому пока поставил простенький, который гоняет полоску по экрану Эта часть UI отвечет за конструирование самого дрона, выбор 5 его компонент, отсюда можно перейти на экран настройки и там уже прокинуть логику их работы. Пиксельную версию UI сделаю уже в конце, а то меняю его по три раза в неделю, никаких сил нет столько спрайтов рисовать.
видео или голосовое, без подписи
Сел сегодня делать конструктор дронов, три варианта корпуса и пять вариантов ходовой части и примерно накидал для них области под оружие Пока склоняюсь к системы в которой корпус позволяет поставить любое главное оружие, но ограничивает места и кол-во вспомогательного вооружения. И мне кажется что будет неплохо добавить еще разные размеры корпусов, текущий, если мерить в плитка пола — 2 на 3, думаю сделать еще мелочь тип 1 на 1 или 1 на 2, как возможность сумонить мелких дронов И сделать несколько крупных корпусов 3 на 4 или может даже 4 на 5, на которые можно будет ставить несколько главных орудий. Как можно видеть я решил особо не заморачивать с детализацией, надеюсь отчасти на шейдеры и на то, что в самой игре эти модели будут не настолько крупными, относительно экрана. Хочется сделать акцент больше на кол-ве объектов, а не на их качестве.
Сидел думал как бы еше повыпендриваться сигровыми механиками Подумал что было бы неплохо сделать следующую систему прокачки: 1. Игрок после данжа получает только данные, это изображение, таблицы, пространнсвенные данные и так далее 2. На базе, чтобы изучить новую технологию, надо потратить эти данные, но не просто потратить, это было бы скучно, а обучить нейронку, для того, чтобы эти данные обработать 3. Обучение, офк, максимально абстрактное,просто выбираем слои, с учетом того как каждый слой меняет данные и по итогу получаем результат В масштабе это имеет смысл, потому что делает процесс получения новых технологий менее линейным Если обычно подразумевается, что по мере прогрессии технологии просто становятся дороже и надо просто накопить больше ресов для её открытия. А в этом случае технология так же обладает сложностью, но с той разницой, что можно либо закидать её большим объемом данных и даже примитивная архитектуру за счет магии Big Dat'ы обучится, а можно потратить куда меньше данных именно за счет подбора оптимальной архитектуры.
Сделал карту данжа
Первые плоды переделки архитектуры, добавил в проект UI для модулей, игра является автобатлером. В основе игры лежат различные сенсоры и дачтики, которые генерируют те или события, но обработку этих событий производят модули, тут пример того как это может делать гаусс-пушка, она получает от оптического датчика два сигнала — первый "Враг обнаружен" это сигнал запускает цепочку — зарядка орудия — зарядка маг-катушек Второй сигнал — это вектор направления, он активирует привод наведения. Чтобы пушка не выстрелила, пока наведение не закончилось, добавлена логический гейт — AND, который пустит сигнал дальше только после того как оба условия будут выполнены и только тогда пушка выстрелит Это система позволяет релизовывать более сложное поведение, например если на опт-модуле стоит система распознавания целей, то она так же может передать инфу о типе противника, и в гаусс-пушке можно изменить поведение модуля заряжания, каким именно снарядом по какому типу противника стрелять, или если враг слишком мелкий, то пушка вообще не будет стрелять а просто передаст через выходной пин модуля - контроль вспомогательному оружию. Или если поднят силовой щит, то выстрел от гаусс-пушки ударит в него, а значит перед выстрелом пушка может передать сигнал наружу о том, что она будет стрелять, его получит щит и выключится, а после того как сигнал пропадает снова поднимется. Ну и наконец-то могу перейти к полноценной реализации боевки, пока это все было проверено на плейсхолдерах.
Последние несколько дней занимался правкой архитектуры, поскольку концепт менялся, в коде оставались какие-то куски старой логики или какие-то устаревшие системы, которые нужно было подгонять под новый концепт. В итоге пришлось устроить резню и сильно переделать почти весь бэк боевки. Так же поменял стек технологий, заменил ARCH на LeoECS, прикрутил QuikGraph, R3, MessagePack. Godot я так и не смог полюбить за все это время, поэтому как и раньше используя его чисто как слой рендера, воспроизведения звуков и интерфейса. Ну и вот как пример первая итерация боевки, сделанная где-то месяц назад
Пока новых картинок не будет, придется поверить мне на слово, сделал генератор данжей, дописал несколько шейдеров, чтобы то, как игрок видит данж зависило от того какие именно датчики были установлены на дрон — оптика, лидар, тепловизор и тд Всего сложнее было с лидаром и скорее всего его придется еще раз переделывать
Всё-таки дорисовал космическую станцию, которая будет выступать в роли хаб-локации. В верхнем левом углу — карта, которая позволяет выбирать, куда отправить дрон. Под ней — заводик, который используется для крафта компонентов из ресурсов, добытых в данже. Сверху по центру — библиотека, потому что ни одна инди-игра не обходится без 50-страничного лора и подробного описания каждого предмета, которое будет любезно предложено игроку для прочтения. Под ней — ИИ станции. Еще ниже — реактор. И справа — лаборатория для научных исследований. Под ней — шаттл. Мне как-то с наскока не получилось нарисовать шлюз в разрезе так, чтобы было красиво, поэтому пока будет некрасивый вариант. И под ангаром у нас зона для сборки дрона: там выбираются его основные компоненты, всё это загружается в ящик и на подъемнике отправляется в шаттл. Нижняя левая далее ↓ ▫️▫️▫️▫️▫️▫️▫️▫️▫️▫️ ▫️Trigger Logic ▫️▫️▫️▫️▫️▫️▫️▫️▫️▫️ ▫️#pixelfolder ▫️#gamedev
Меня репостнули, чувствую себя телеграм-селебрити
Сделал тайл-сет для данжа, стены, пол и дверь, скоро покажу как это все будет выглядеть в движке
BlueSky снес мой аккаунт, теперь я не могу получать свои заслуженные 10 лайков за пиксель арт Только Дуров великий человек и никого не банит Ну и заодно вот анонс нового тайл-сета для данжей
Интеграция боевки, по классике, выдала 2к ошибок
Эти несколько дней я потратил на доработку механик, нарисовал кучу схем в Obsidian и надеюсь, что уже на следующей неделе смогу начать выкладывать записи непосредственно геймплея, скорее всего, с некоторым количеством плейсхолдеров. Ну и пока придерживаюсь плана закончить прототип к началу осени.
Всё-таки дорисовал космическую станцию, которая будет выступать в роли хаб-локации. В верхнем левом углу — карта, которая позволяет выбирать, куда отправить дрон. Под ней — заводик, который используется для крафта компонентов из ресурсов, добытых в данже. Сверху по центру — библиотека, потому что ни одна инди-игра не обходится без 50-страничного лора и подробного описания каждого предмета, которое будет любезно предложено игроку для прочтения. Под ней — ИИ станции. Еще ниже — реактор. И справа — лаборатория для научных исследований. Под ней — шаттл. Мне как-то с наскока не получилось нарисовать шлюз в разрезе так, чтобы было красиво, поэтому пока будет некрасивый вариант. И под ангаром у нас зона для сборки дрона: там выбираются его основные компоненты, всё это загружается в ящик и на подъемнике отправляется в шаттл. Нижняя левая комната оказалась пустой. Сначала я думал поставить там склад ресурсов, но смысла в нём нет, его функции разделят комната завода и комната дрона. Но вы можете предложить свой вариант для комнаты в комментариях.
Саму станцию пока не покажу, она мне как-то менее нравится, но сделал для неё фон По концепту , игрок - ИИ запертый на космической станции, которая неизбежно падает на поверхность Юпитера. У игрока есть доступ к ангару и шатлу, через этот шатл он отправляет дрона на другие объекты поблизости, каждый из которых представляет из себя отдельный данж, проходя которые игрок получает в том числе ресурсы для улучшения станции, и возможность в конечном итоге поднимать её выше и выше, что будет открывать новые зоны для исследования, а Юпитер будет становится визуально все дальше и дальше.