#лытдыбр
Пулл-реквест в библиотеку Nuklear приняли, в результате чего я попал, гм, в первую четырнадцатку соучастников 😅
Пулл-реквест в библиотеку Nuklear приняли, в результате чего я попал, гм, в первую четырнадцатку соучастников 😅
🔥18👍1
#лытдыбр
В преддверии Autumn Lisp Game Jam '24, на котором я решил на этот раз выступить с rogue-like игрой (надо ж все жанры понадкусывать, как яблоки в том анекдоте 😅), решил ознакомиться поподробнее с современным состоянием жанра и почти случайно наткнулся на такой шедевр, как Path of Achra. Графика там, конечно, на уровне приснопамятной Rogue, прямиком из конца семидесятых (см. рис. 1), но буквально с первого данжа игра невероятно затягивает, я в нее последнюю неделю каждый вечер залипаю 😊 Возможно, дело в том, что такого рода игры бросают в тебя серьёзные челленджи, но при этом также дают массу различных инструментов, чтобы с ними справляться — тут только разных типов урона 11 штук, а вариаций персонажей и вовсе 640)
Рекомендую причаститься, благо, в стиме есть бесплатное демо(в которое я и играю, скидки-то проворонил 😅)
В преддверии Autumn Lisp Game Jam '24, на котором я решил на этот раз выступить с rogue-like игрой (надо ж все жанры понадкусывать, как яблоки в том анекдоте 😅), решил ознакомиться поподробнее с современным состоянием жанра и почти случайно наткнулся на такой шедевр, как Path of Achra. Графика там, конечно, на уровне приснопамятной Rogue, прямиком из конца семидесятых (см. рис. 1), но буквально с первого данжа игра невероятно затягивает, я в нее последнюю неделю каждый вечер залипаю 😊 Возможно, дело в том, что такого рода игры бросают в тебя серьёзные челленджи, но при этом также дают массу различных инструментов, чтобы с ними справляться — тут только разных типов урона 11 штук, а вариаций персонажей и вовсе 640)
Рекомендую причаститься, благо, в стиме есть бесплатное демо
🔥7❤1
#common_lisp
Тут подъехала кулстори, что лицо Горлума из кинотрилогии "Властелин Колец" моделировали в софтине, написанной на Common Lisp 💪
https://archive.org/details/izware_mirai_1.1sp2
Mirai is a 3D creation and editing suite available originally from Nichimen Graphics Corporation, later from Winged Edge Technologies, and currently from Izware. The modeller uses the winged edge data structure, is written in Common Lisp, and traces its lineage to the S-Geometry software from Symbolics. It has been used primarily by game developers and high-end character animators—for example by Bay Raitt's facial morph targets for the Gollum character in The Lord of the Rings film trilogy.
UPD. В коментах ещё подкинули ссылку на статью об этой софтине на сайте Franz Inc., которые Allegro Common Lisp.
Тут подъехала кулстори, что лицо Горлума из кинотрилогии "Властелин Колец" моделировали в софтине, написанной на Common Lisp 💪
https://archive.org/details/izware_mirai_1.1sp2
Mirai is a 3D creation and editing suite available originally from Nichimen Graphics Corporation, later from Winged Edge Technologies, and currently from Izware. The modeller uses the winged edge data structure, is written in Common Lisp, and traces its lineage to the S-Geometry software from Symbolics. It has been used primarily by game developers and high-end character animators—for example by Bay Raitt's facial morph targets for the Gollum character in The Lord of the Rings film trilogy.
UPD. В коментах ещё подкинули ссылку на статью об этой софтине на сайте Franz Inc., которые Allegro Common Lisp.
Internet Archive
Izware Mirai 1.1 SP2 : Izware : Free Download, Borrow, and Streaming : Internet Archive
Mirai is a 3D creation and editing suite available originally from Nichimen Graphics Corporation, later from Winged Edge Technologies, and currently from...
🔥10👍1
#лытдыбр #common_lisp
Определённо наличие дедлайнов, даже довольно произвольных, тонизирует — уже написал больше текста второй части туториала, чем было в первой, а ещё даже не закончил с рассмотрением первой темы из двух, вынесенных в её заголовок 😅
Определённо наличие дедлайнов, даже довольно произвольных, тонизирует — уже написал больше текста второй части туториала, чем было в первой, а ещё даже не закончил с рассмотрением первой темы из двух, вынесенных в её заголовок 😅
⚡3👍2🔥2🕊1
#лытдыбр #соцсети
Наконец исполнил свою давнюю мечту и сделал персональный телеграм-канал для щитпоста на околопрограммерские темы, вот он: Щепелявый Щитпост 😅 Накидал там мемасов, которые давно под рукой валялись, так что подписывайтесь (но лучше не надо, щитпост же))
Наконец исполнил свою давнюю мечту и сделал персональный телеграм-канал для щитпоста на околопрограммерские темы, вот он: Щепелявый Щитпост 😅 Накидал там мемасов, которые давно под рукой валялись, так что подписывайтесь (но лучше не надо, щитпост же))
❤4
#лытдыбр #common_lisp
Вчера утром никого не трогаю, дописываю вторую часть туториала, вдруг раз — на почту уведомление, мол, в коментах к нашей игре на прошлогодний осенний Lisp-джем Mana Break чувачок пишет, что у него под линуксом игра не запускается. "Под такой благословенной ОС и не запускается", — думаю я, "непорядок, нужно чинить". Лезу разбираться, и выясняется, что в течение уже неопределённо долгого времени (с мая?) билды под некоторыми дистрибутивами действительно могут не запускаться из-за того, что окошечная библиотека GTK при запуске не может найти иконку
Попытался починить, даже багу в багтрекере
Вчера утром никого не трогаю, дописываю вторую часть туториала, вдруг раз — на почту уведомление, мол, в коментах к нашей игре на прошлогодний осенний Lisp-джем Mana Break чувачок пишет, что у него под линуксом игра не запускается. "Под такой благословенной ОС и не запускается", — думаю я, "непорядок, нужно чинить". Лезу разбираться, и выясняется, что в течение уже неопределённо долгого времени (с мая?) билды под некоторыми дистрибутивами действительно могут не запускаться из-за того, что окошечная библиотека GTK при запуске не может найти иконку
image-missing
, которая нужна, чтобы показать, что он не может найти иконку 😵💫Попытался починить, даже багу в багтрекере
AppImageKit
завёл, возился-возился, потом плюнул и добавил всё правильно разруливающий в потрохах GTK GTK-плагин к утилите для создания линуксового AppImage, — это сработало, так что добавил его и внутрь своего докер-образа для сбора игр (заодно и версию SBCL бампнул), кроме того, пришлось внести изменения в cookiecutter-шаблон для игр на CL. Ух, вот это я понимаю прокрастинация 😅itch.io
Comments
Indirect colony simulator. Available for Windows, macOS, Linux
👍6😭2🥴1
#лытдыбр #common_lisp
Сам поверить не могу, но я закончил первый черновик второй части туториала по геймдеву на Common Lisp 🎉 Теперь наступает нудный период редактуры и вычитывания, плюс надо наснимать скриншотов и сделать в Tiled карту, которая будет фигурировать в демо. Есть даже ненулевая вероятность уложиться в собственный с потолка взятый дедлайн(интересно, а бывают не взятые с потолка?) и опубликовать-таки его на следующей неделе)
Кстати, если кто-то хочет чуть позже помочь с вычиткой текста, милости прошу отметиться в коментах, в качестве благодарности, правда, смогу лишь упомянуть вас в конце статьи ❤️
Сам поверить не могу, но я закончил первый черновик второй части туториала по геймдеву на Common Lisp 🎉 Теперь наступает нудный период редактуры и вычитывания, плюс надо наснимать скриншотов и сделать в Tiled карту, которая будет фигурировать в демо. Есть даже ненулевая вероятность уложиться в собственный с потолка взятый дедлайн
Кстати, если кто-то хочет чуть позже помочь с вычиткой текста, милости прошу отметиться в коментах, в качестве благодарности, правда, смогу лишь упомянуть вас в конце статьи ❤️
🎉8👍3
#лытдыбр #common_lisp
О, репозиторий Quicklisp обновился, как я и предсказывал. Как я об этом узнал? Очень просто, билд дёмки для туториала начал валиться с segfault'ом, см. рис. 1.
После разбирательства стало понятно, что дело, скорее всего, не вбобине квиклиспе, а в том, что я дампил в лисп-образ память, аллоцированную через CFFI, а хрупкая сишная натура библиотеки
О, репозиторий Quicklisp обновился, как я и предсказывал. Как я об этом узнал? Очень просто, билд дёмки для туториала начал валиться с segfault'ом, см. рис. 1.
После разбирательства стало понятно, что дело, скорее всего, не в
liballegro
после загрузки образа работать с такой памятью не может, но осадочек остался, несмотря на найденные ложечки 😅🤣8👍1🎃1
#лытдыбр #common_lisp
Наконец опубликовал вторую часть туториала по геймдеву на Common Lisp. Вы знаете, куда ставить плюсики 😊
Наконец опубликовал вторую часть туториала по геймдеву на Common Lisp. Вы знаете, куда ставить плюсики 😊
Хабр
Геймдев на Lisp. Часть 2: подземелья и интерфейсы
В первой части мы познакомились с архитектурным паттерном Entity-Component-System, часто используемым в разработке игр, и металингвистической парадигмой программирования, заключающейся в построении и...
🔥20
#лытдыбр #common_lisp
По горячим следам после публикации туториала пофиксил багу, которую сам же и внёс в
По горячим следам после публикации туториала пофиксил багу, которую сам же и внёс в
cl-tiled
, когда реализовывал поддержку объектов-шаблонов, правда, она проявлялась только на уровне SAFETY 3
, странно, что столько людей её репортят. Вообще количество баг-репортов в мои проекты за эти несколько дней ощутимо увеличилось, это не может не радовать 😊GitHub
Fixed type mismatch loading tile objects by lockie · Pull Request #38 · Zulu-Inuoe/cl-tiled
Hey! This tiny PR fixes SBCL warning that got thrown on high SAFETY settings when loading tile objects (it's been reported here).
🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
#devlog #common_lisp
Ну штош, сегодня утром начался Autumn Lisp Game Jam 2024, который я хотел использовать как шанс попробовать себя в жанре rogue-like. Всю неделю рассматривал варианты, прочитал туториал по разработке рогаликов на Common Lisp с библиотекой tcod, но в итоге решил остановиться на "своём" стеке —
Выбрал красивый моноширинный шрифт и вот такой вот крутышный 12x12 тайлсет с огромным количеством тайлов и приятным стилем, подходящим фентезийному рогалику.
С утра думал, в каком формате хранить идентификацию отдельных тайлов (типа, как понимать, что по оффсету (100, 100) там спрайт игрока, а по оффсету (200, 200) там спрайт стены) и в итоге тоже решил остановиться на знакомых инструментах и использовать файлы тайлсета Tiled с кастомными свойствами 😅
Начал реализовывать персонажа игрока (видеозапись с его отладкой прилагается) и тут же уткнулся в вопрос того, а как, собственно, реализовывать пошаговость и разные скорости у разных персонажей. Начал шарить на RogueBasin и наткнулся на потрясающую книжку "Exploring Roguelike Games" за авторством John Harris, в 65 главе которой подробно рассматриваются эти вопросы и которую я и использую в качестве чтива перед сном 😊
Ну штош, сегодня утром начался Autumn Lisp Game Jam 2024, который я хотел использовать как шанс попробовать себя в жанре rogue-like. Всю неделю рассматривал варианты, прочитал туториал по разработке рогаликов на Common Lisp с библиотекой tcod, но в итоге решил остановиться на "своём" стеке —
liballegro
, cl-fast-ecs
и nuklear
для гуя. Выбрал красивый моноширинный шрифт и вот такой вот крутышный 12x12 тайлсет с огромным количеством тайлов и приятным стилем, подходящим фентезийному рогалику.
С утра думал, в каком формате хранить идентификацию отдельных тайлов (типа, как понимать, что по оффсету (100, 100) там спрайт игрока, а по оффсету (200, 200) там спрайт стены) и в итоге тоже решил остановиться на знакомых инструментах и использовать файлы тайлсета Tiled с кастомными свойствами 😅
Начал реализовывать персонажа игрока (видеозапись с его отладкой прилагается) и тут же уткнулся в вопрос того, а как, собственно, реализовывать пошаговость и разные скорости у разных персонажей. Начал шарить на RogueBasin и наткнулся на потрясающую книжку "Exploring Roguelike Games" за авторством John Harris, в 65 главе которой подробно рассматриваются эти вопросы и которую я и использую в качестве чтива перед сном 😊
🔥15👍1
#devlog #common_lisp
На второй день джема придумал, как мне кажется, изящный способ решения проблемы с пошаговостью и разными скоростями персонажей, и сделал базовые версии поведения персонажей врагов и генерации карты — тупо шёл по питоновскому Roguelike tutorial, переделывая всё в ECS парадигме, собственно, почти дошёл до третьей части)
На второй день джема придумал, как мне кажется, изящный способ решения проблемы с пошаговостью и разными скоростями персонажей, и сделал базовые версии поведения персонажей врагов и генерации карты — тупо шёл по питоновскому Roguelike tutorial, переделывая всё в ECS парадигме, собственно, почти дошёл до третьей части)
👏10
#лытдыбр #мемасики
Оказывается, определение области видимости игрока в рогаликах — это целая наука. Чувствую себя, как в этом мемасике 😅
Оказывается, определение области видимости игрока в рогаликах — это целая наука. Чувствую себя, как в этом мемасике 😅
😁8
This media is not supported in your browser
VIEW IN TELEGRAM
#devlog #common_lisp
Итак, третий день джема пока как будто самый продуктивный. Сделал примитивную генерацию подземелья с монстрами, область видимости игрока (a.k.a FoV) и "туман войны", причём FoV, переделанный мной из питоновского кода с Roguebasin, заработал с первого раза, что крайне подозрительно 🤔😅
Также начал делать боёвку, но доделаю уже завтра, хочется сделать сразу хорошо и предусмотреть все тонкости, ближний/дальний бой, скорость атаки, возможность убежать от удара и проч. Видос текущей версии игры прилагается)
Итак, третий день джема пока как будто самый продуктивный. Сделал примитивную генерацию подземелья с монстрами, область видимости игрока (a.k.a FoV) и "туман войны", причём FoV, переделанный мной из питоновского кода с Roguebasin, заработал с первого раза, что крайне подозрительно 🤔😅
Также начал делать боёвку, но доделаю уже завтра, хочется сделать сразу хорошо и предусмотреть все тонкости, ближний/дальний бой, скорость атаки, возможность убежать от удара и проч. Видос текущей версии игры прилагается)
🔥15
This media is not supported in your browser
VIEW IN TELEGRAM
#devlog #common_lisp
Ого, уже четвёртый день джема, но и я безжалостно трачу всё свободное время на разработку игры 😊 Сегодня сделал клёвое окошко с текстовым логом происходящих в подземелье событий, всё как в настоящих рогаликах, и худо-бедно допилил базовую контактную боёвку, практически целиком слизав модель, параметры и формулы из Path of Exile — воистину, что я ни делаю, получается дьябла 😁
На приложенном видосе можно наблюдать, как гоблины безжалостно крошат моему персонажу лицо)
Ого, уже четвёртый день джема, но и я безжалостно трачу всё свободное время на разработку игры 😊 Сегодня сделал клёвое окошко с текстовым логом происходящих в подземелье событий, всё как в настоящих рогаликах, и худо-бедно допилил базовую контактную боёвку, практически целиком слизав модель, параметры и формулы из Path of Exile — воистину, что я ни делаю, получается дьябла 😁
На приложенном видосе можно наблюдать, как гоблины безжалостно крошат моему персонажу лицо)
🔥13😁1
This media is not supported in your browser
VIEW IN TELEGRAM
#devlog #common_lisp
Итак, пятый день джема, половина позади, остаётся вторая половина. За сегодня пофиксил всякие мелочи, добавил возможность игроку выдавать люлей монстрам, сделал описание того, что в подземелье находится под мышиным курсором ("вы смотрите на стену", лол) и рудиментарную систему предметов — можно поднять с пола зелье здоровья, правда, после поднимания с ним пока ничего толком нельзя сделать, даже в рюкзаке порыться — собственно, начну завтра с окошка инвентаря 😊
На видео, как водится, демонстрация новых фичей 😌
Итак, пятый день джема, половина позади, остаётся вторая половина. За сегодня пофиксил всякие мелочи, добавил возможность игроку выдавать люлей монстрам, сделал описание того, что в подземелье находится под мышиным курсором ("вы смотрите на стену", лол) и рудиментарную систему предметов — можно поднять с пола зелье здоровья, правда, после поднимания с ним пока ничего толком нельзя сделать, даже в рюкзаке порыться — собственно, начну завтра с окошка инвентаря 😊
На видео, как водится, демонстрация новых фичей 😌
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
#devlog #common_lisp
Сегодня шестой день джема, а значит, уже пора потихоньку заканчивать с базовыми механиками, что я сегодня и делал 😊 Первым делом закончил с окошком инвентаря, затем реализовал такие важнейшие для приключенца предметы, как зелье здоровья и свиток фаербола, а для последнего реализовал механику прицеливания — можно выбирать место взрыва фаербола с помощью мышки, а можно и по-стариковски, с клавиатуры))
Кроме того, сделал возможность выкинуть предмет через тот же диалог инвентаря, и под вечер добил переход на следующий уровень — игра становится вполне себе играбельной, только спускаться вниз в подземелье можно до посинения, условий победы я пока не сделал, как и дальнебойных атак, механик прокачки, оружия, брони и прочих важных мелочей. Надеюсь добить все базовые механики до выходных, чтобы за последние два дня джема поработать над генерацией, балансом и прочей полировкой 💅
Как всегда, видос с новыми механиками прилагается, на этот раз почти летсплей))
Сегодня шестой день джема, а значит, уже пора потихоньку заканчивать с базовыми механиками, что я сегодня и делал 😊 Первым делом закончил с окошком инвентаря, затем реализовал такие важнейшие для приключенца предметы, как зелье здоровья и свиток фаербола, а для последнего реализовал механику прицеливания — можно выбирать место взрыва фаербола с помощью мышки, а можно и по-стариковски, с клавиатуры))
Кроме того, сделал возможность выкинуть предмет через тот же диалог инвентаря, и под вечер добил переход на следующий уровень — игра становится вполне себе играбельной, только спускаться вниз в подземелье можно до посинения, условий победы я пока не сделал, как и дальнебойных атак, механик прокачки, оружия, брони и прочих важных мелочей. Надеюсь добить все базовые механики до выходных, чтобы за последние два дня джема поработать над генерацией, балансом и прочей полировкой 💅
Как всегда, видос с новыми механиками прилагается, на этот раз почти летсплей))
🔥13💅1