#лытдыбр #common_lisp
Это очередной нытья пост о том, как всё плохо, на этот раз в макоси. Потратил по сути весь сегодняшний рабочий день (см. рис. 1), чтобы сделать сборку игры в обоих вариантах (
Ну казалось бы, есть у тебя в основе нормальный UNIX, с ядром, спижженным из BSD, как его можно превратить в анально огороженный сад, каковым макось является сегодня — для меня загадка. Реально, при Джобсе было лучше 😡
Это очередной нытья пост о том, как всё плохо, на этот раз в макоси. Потратил по сути весь сегодняшний рабочий день (см. рис. 1), чтобы сделать сборку игры в обоих вариантах (
intel
и apple silicon
, спасибо хоть, что про архитектуры m68k
и PomerPC
не надо думать, потому что уже давно отмерли). Даже по ходу дела багу завёл в багтрекере MacPorts доисторическом (Trac, на секундочку), который, сука, у меня почему-то только с тор-браузера открывается. В итоге обкостылил, просто насильно wget
-ом и tar
-ом устанавливая на Ventura бинарный архив для Monterey. Бинарник-то благодаря этому костылю собрался, но при запуске он вешается на каком-то мьютексе внутрях liballegro
(см. рис. 2), видимо, потому, что перемешиваются два разных стандартных рантайма в одном бинарнике, от вентуры и от монтери. Короче, с билдом под интеловые маки придётся продолжать возиться, когда на это будет время 😩Ну казалось бы, есть у тебя в основе нормальный UNIX, с ядром, спижженным из BSD, как его можно превратить в анально огороженный сад, каковым макось является сегодня — для меня загадка. Реально, при Джобсе было лучше 😡
#лытдыбр #common_lisp
Меж всем тем, вот уже вторую неделю в нашей игре используются шейдеры, пока только для эффекта урона на персонажах, но в дальнейшем будут и для других визуальных эффектов. Финт в том, что я ни разу в жизни не писал шейдеров. Как же я добавил их в игру, спросите вы? Очень просто, с помощью DSL из либы 3bgl-shader, которая позволяет написать код на нормальном, человеческом Common Lisp (см. рис. 1), а затем автоматически транслирует его в код GLSL шейдера (см. рис. 2)! Если это не нереально круто, я тогда вообще не знаю, что означает слово "круто" 😍 Как же я с этого проекта писял кипятком, а когда написал на нём свой первый шейдер, это был вообще улёт 🤯
Сделал, кстати, к либе пуллреквест с добавлением поддержки функций
Меж всем тем, вот уже вторую неделю в нашей игре используются шейдеры, пока только для эффекта урона на персонажах, но в дальнейшем будут и для других визуальных эффектов. Финт в том, что я ни разу в жизни не писал шейдеров. Как же я добавил их в игру, спросите вы? Очень просто, с помощью DSL из либы 3bgl-shader, которая позволяет написать код на нормальном, человеческом Common Lisp (см. рис. 1), а затем автоматически транслирует его в код GLSL шейдера (см. рис. 2)! Если это не нереально круто, я тогда вообще не знаю, что означает слово "круто" 😍 Как же я с этого проекта писял кипятком, а когда написал на нём свой первый шейдер, это был вообще улёт 🤯
Сделал, кстати, к либе пуллреквест с добавлением поддержки функций
plusp
и minusp
, вы знаете, куда насыпать лойсов, чтобы автор его побыстрее принял 🌚Forwarded from LuckyLambda
Сегодня середина недели, и мы неожиданно принесли всем жабу.
Ладно, не только жабу. Я наконец-то оказался заметно полезным, и смог принести команде достаточно материала, чтобы сделать осознанный выбор, тем самым добавив третий авторский компонент в наш основной проект.
Итак, начиная с этого момента у игры есть название, несущее в себе в том числе смысл, который в дальнейшем мы аккуратно разложим в нужных местах нашего общего путешествия.
Что ж, оттягивать момент больше невозможно, поэтому встречайте: ✨ Imcaving ✨
Новое название также влечёт за собой изменение домашней страницы проекта, так что не теряйте нас!
_LL_CV
Ладно, не только жабу. Я наконец-то оказался заметно полезным, и смог принести команде достаточно материала, чтобы сделать осознанный выбор, тем самым добавив третий авторский компонент в наш основной проект.
Итак, начиная с этого момента у игры есть название, несущее в себе в том числе смысл, который в дальнейшем мы аккуратно разложим в нужных местах нашего общего путешествия.
Что ж, оттягивать момент больше невозможно, поэтому встречайте: ✨ Imcaving ✨
Новое название также влечёт за собой изменение домашней страницы проекта, так что не теряйте нас!
_LL_CV
#лытдыбр
На днях тут реанимировал свой древний ноутбук, чтобы с него показывать нашу игру на местном подгорицком митапе инди-разработчиков (никуда не переключайтесь, чуть позже разрожусь отчётом о событии), починил начавший разваливаться корпус у знакомого (если кому нужен ремонт ноутбука в Черногории, пишите, поделюсь контактом) и переставил ОС.
Почему переставил — стояла на нёмбомжара Manjaro, такой форк Arch Linux'а, но проблема в том, что у ей внутре, как и у прародителя,
Ну я и поставил другой форк арча, под названием Artix Linux, создатели которого разделяют мою позицию по systemd. И вот загружаюсь в свежепоставленную среду с MATE, начинаю настраивать систему, и понимаю, что работает вообще всё. Ну то есть как, раньше в арчвики была аж целая статья, Post-install steps или типа того, где были всякие советы по подкручиванию разных системных крутилок для оптимизации, плюс драйвера на то поставь, на сё поставь,
А у меня изкоробки всё работает, разве что пришлось отключить драйвера
Ну и перетащил свои sysctl-настройки для старого доброго бага-мема линукса 12309, который даже и не баг вовсе, а особенность работы виртуальной памяти в линуксах (Linux ate my RAM, ага), а именно выкрученный в минимум
В общем, не нарадуюсь на ноутбук, который опять как новенький, это у него уже, наверное, даже не вторая и не третья, а где-то шестая жизнь 😅
На днях тут реанимировал свой древний ноутбук, чтобы с него показывать нашу игру на местном подгорицком митапе инди-разработчиков (никуда не переключайтесь, чуть позже разрожусь отчётом о событии), починил начавший разваливаться корпус у знакомого (если кому нужен ремонт ноутбука в Черногории, пишите, поделюсь контактом) и переставил ОС.
Почему переставил — стояла на нём
systemd
, а это рак, разъедающий мой уютненький линукс — из-за него то переход в ждущий режим отъебнёт, то жёсткий диск нормально не отмонтируется и по полчаса гоняет fsck
при загрузке, то при выключении "подождите ещё 6000 секунд, пока этот systemd-юнит завершится". Максимальный дизреспект Леннарту Поцтерингу, в общем.Ну я и поставил другой форк арча, под названием Artix Linux, создатели которого разделяют мою позицию по systemd. И вот загружаюсь в свежепоставленную среду с MATE, начинаю настраивать систему, и понимаю, что работает вообще всё. Ну то есть как, раньше в арчвики была аж целая статья, Post-install steps или типа того, где были всякие советы по подкручиванию разных системных крутилок для оптимизации, плюс драйвера на то поставь, на сё поставь,
vaapi
настрой, туда-сюда.А у меня изкоробки всё работает, разве что пришлось отключить драйвера
noveau
, которые толком OpenGL не поддерживают почему-то — что удивительно, встройка Intel Graphics при этом спокойно поддерживает OpenGL 3.3, нужный для игры, и изи играет видео в 1080p. Ещё включил TRIM на SSD — по дефолту он выключен для зашифрованных дисков, потому что если включить, видите ли, злоумышленник сможет определить, какую именно ФС я использую — облегчу задачу злоумышленникам, f2fs
у меня 😁Ну и перетащил свои sysctl-настройки для старого доброго бага-мема линукса 12309, который даже и не баг вовсе, а особенность работы виртуальной памяти в линуксах (Linux ate my RAM, ага), а именно выкрученный в минимум
vm.swappiness
и уменьшенный до 50 vm.vfs_cache_pressure
, ну и dirty_ratio
побольше.В общем, не нарадуюсь на ноутбук, который опять как новенький, это у него уже, наверное, даже не вторая и не третья, а где-то шестая жизнь 😅
#лытдыбр #фото
А вот и небольшой фотоотчёт об инди-митапчике 😊
https://telegra.ph/Indi-mitap-v-Podgorice-05062025-06-06
А вот и небольшой фотоотчёт об инди-митапчике 😊
https://telegra.ph/Indi-mitap-v-Podgorice-05062025-06-06
Telegraph
Инди-митап в Подгорице 05.06.2025
В четверг 5 июня я от лица нашей скромной инди-студии LuckyLambda поучаствовал в митапе инди-геймдевелоперов в столице Черногории, организованном сообществом MonteGames. В этом посте — небольшой фотоотчёт об этом крайне духоподъёмном мероприятии 😊
Forwarded from LuckyLambda
В символический третий раз за неделю я сажусь за текст. В этот раз символически не притронусь к кофе, чтобы сделать акцент на полной событиями неделе.
Как можете заметить выше, мы определились с названием и, соответственно, общей рамкой сюжета. А значит ничего, кроме вдохновения, больше не останавливает нас от наполнения действий, событий, существ и предметов дополнительным смыслом, обогащая игровой опыт.
Следом за этим мы официально засветились в реале и по результатам обратной связи осознали что концепция требует корректировки (как же хорошо, что мы успели прийти к согласию по вопросам лора до этого). Что ж, изменения обязательно сделают нас лучше.
Что же еще успело случиться в нашем теперь определившемся спуске в глубины?
Основные заметные изменения вновь коснулись звука. Саундтрек начинает формировать ощутимую рамку и в связи с этим расширяться, поэтому для поддержания этого процесса игра теперь поддерживает управление треками, с сопутствующим функционалом кросс-фейда.
В ознаменование этого у нас теперь есть выделенные музыкальные темы на существующие на данный момент этапы игры.
К тому же мы не забываем обращать внимание на фидбэк и возвращаемся с некоторыми исправлениями. Так, раздел справки актуализирован последними веяниями моды управления, взращён экзистенциальный кризис, запрещающий игроку видеть себя, возвращена сборка под Apple Silicon и скорректирована обработка коллизий, чтобы снизить частоту возникновения ситуаций, при которых персонажи застревают друг в друге (однако не исключена полностью, и нас ожидает ещё один раунд отладки).
Ну и в завершение, возможно теперь вы сможете оставить свой след в наших мрачных коридорах.
Теперь предлагаем вам посмотреть и послушать обновления самостоятельно, скачав новый альфа-билд, и, как всегда, очень ждём реакций и обратной связи!
_LL_CV
Как можете заметить выше, мы определились с названием и, соответственно, общей рамкой сюжета. А значит ничего, кроме вдохновения, больше не останавливает нас от наполнения действий, событий, существ и предметов дополнительным смыслом, обогащая игровой опыт.
Следом за этим мы официально засветились в реале и по результатам обратной связи осознали что концепция требует корректировки (как же хорошо, что мы успели прийти к согласию по вопросам лора до этого). Что ж, изменения обязательно сделают нас лучше.
Что же еще успело случиться в нашем теперь определившемся спуске в глубины?
Основные заметные изменения вновь коснулись звука. Саундтрек начинает формировать ощутимую рамку и в связи с этим расширяться, поэтому для поддержания этого процесса игра теперь поддерживает управление треками, с сопутствующим функционалом кросс-фейда.
В ознаменование этого у нас теперь есть выделенные музыкальные темы на существующие на данный момент этапы игры.
К тому же мы не забываем обращать внимание на фидбэк и возвращаемся с некоторыми исправлениями. Так, раздел справки актуализирован последними веяниями моды управления, взращён экзистенциальный кризис, запрещающий игроку видеть себя, возвращена сборка под Apple Silicon и скорректирована обработка коллизий, чтобы снизить частоту возникновения ситуаций, при которых персонажи застревают друг в друге (однако не исключена полностью, и нас ожидает ещё один раунд отладки).
Ну и в завершение, возможно теперь вы сможете оставить свой след в наших мрачных коридорах.
Теперь предлагаем вам посмотреть и послушать обновления самостоятельно, скачав новый альфа-билд, и, как всегда, очень ждём реакций и обратной связи!
_LL_CV
Forwarded from LuckyLambda
С разнообразным субботним днём, друзья!
У меня идёт дождь, поэтому я с тройным удовольствием делаю глоток кофе и приступаю к рассказу о нашем прогрессе.
Начнем с выполнения обещаний. Может показаться, что раз наша карта плоская, то и вся школьная геометрия работает абсолютно так же. Но это не совсем так. Поэтому на этой неделе мы немного увлеклись эзотерическими неэвклидовыми упражнениями. Как результат, наш мир стал немного строже и персонажи (и не только) больше не могут вести себя как бозоны, застревая друг в друге.
Следующим важным обещанным нововведением является система диалогов. Мы пока только вводим её и предстоит некоторое количество итераций и доуточнений. Первым применением нового механизма является вступительная последовательность. Теперь вы можете немного узнать о том, что же, собственно, происходит. Хотя не ожидайте, что мы в лоб расскажем о том, зачем всё затеяно.
Работа со звуком так же не останавливается. Саундтрек первого уровня немного подправлен. Если говорить о персональных ощущениях — с начала нашей “звучащей эры” мне очень нравится проигрывать, чтобы услышать клубные вайбы game over.
Так же за оставшееся время был реализован курсор для индикации управления мышью. Кажется, теперь управление манипулятором будет ощущаться как нативное для игры. Это вызывает небольшой сплин, но всё же сохранить полное ретро не является нашей самоцелью.
Мы продолжаем продвигаться вперёд и обязательно принесём в следующий раз что-то интересное, поэтому, не забывайте заглядывать на страничку проекта со свежим билдом. И, как всегда, с нетерпением ждём ваши комментарии, вопросы и предложения!
_LL_CV
У меня идёт дождь, поэтому я с тройным удовольствием делаю глоток кофе и приступаю к рассказу о нашем прогрессе.
Начнем с выполнения обещаний. Может показаться, что раз наша карта плоская, то и вся школьная геометрия работает абсолютно так же. Но это не совсем так. Поэтому на этой неделе мы немного увлеклись эзотерическими неэвклидовыми упражнениями. Как результат, наш мир стал немного строже и персонажи (и не только) больше не могут вести себя как бозоны, застревая друг в друге.
Следующим важным обещанным нововведением является система диалогов. Мы пока только вводим её и предстоит некоторое количество итераций и доуточнений. Первым применением нового механизма является вступительная последовательность. Теперь вы можете немного узнать о том, что же, собственно, происходит. Хотя не ожидайте, что мы в лоб расскажем о том, зачем всё затеяно.
Работа со звуком так же не останавливается. Саундтрек первого уровня немного подправлен. Если говорить о персональных ощущениях — с начала нашей “звучащей эры” мне очень нравится проигрывать, чтобы услышать клубные вайбы game over.
Так же за оставшееся время был реализован курсор для индикации управления мышью. Кажется, теперь управление манипулятором будет ощущаться как нативное для игры. Это вызывает небольшой сплин, но всё же сохранить полное ретро не является нашей самоцелью.
Мы продолжаем продвигаться вперёд и обязательно принесём в следующий раз что-то интересное, поэтому, не забывайте заглядывать на страничку проекта со свежим билдом. И, как всегда, с нетерпением ждём ваши комментарии, вопросы и предложения!
_LL_CV
Forwarded from LuckyLambda
Привет! В эту юбилейную, десятую субботнюю скриншотницу для нашего проекта мы, победив вылезшие в последний момент баги, рады поделиться с вами свежим билдом игры 😊
На этой неделе мы много работали над управлением и справкой по нему (см. рис. 1), пытаясь реализовать широко известный в узких кругах т.н. DWIM-интерфейс, от англ. Do What I Mean — теперь интерфейс буквально пытается прочитать мысли игрока и сделать наиболее логичное действие в ответ на ввод в любой момент времени. Более того, мы, прислушавшись к отзывам от коллег, тоже сидящих по 12 часов в день за клавиатурой, добавили управление джойстиком 🎮
Изначально работа проверялась только на Xbox-овом контроллере, но каково же было наше радостное удивление, когда игра запустилась и удобно управлялась даже на Steam Deck (см. рис. 2)! Правда, есть мелкие нюансы — например,
не все кнопки стандартного Xbox-вого джойстика однозначно соответствуют контроллеру стимдеки, поэтому пока там нельзя открыть окно инвентаря 🙈 Но это мы, конечно, в ближайшее время поправим.
Отвечая на часто задаваемый вопрос о том, играбелен ли на данный момент наш проект и можно ли вообще выиграть, прикладываем рис. 3 со скриншотом победы, которую одному из разработчиков удалось достичь где-то за час балдежа на диване с ноутбуком и джойстиком в руках 😁 На следующей неделе планируем наконец плотно взяться за математику боёвки, баланс и различные абилки.
Помимо этого, мы опять-таки по отзывам игроков добавили долгожданную возможность выбрасывать предметы из инвентаря на землю, чтобы экономить драгоценное место под лечебные бутылочки 😏 Её можно активировать, нажав
Ну и, конечно, с предыдущего релиза пофиксили много багови добавили много новых 😅 Полный журнал изменений можно найти на соответствующей странице на платформе Itch. Как всегда, призываем вас заценить новый билд и поделиться с нами обратной связью, что можно сделать прямо по кнопке "Feedback / Bugreport" из главного меню игры ☺️
На этой неделе мы много работали над управлением и справкой по нему (см. рис. 1), пытаясь реализовать широко известный в узких кругах т.н. DWIM-интерфейс, от англ. Do What I Mean — теперь интерфейс буквально пытается прочитать мысли игрока и сделать наиболее логичное действие в ответ на ввод в любой момент времени. Более того, мы, прислушавшись к отзывам от коллег, тоже сидящих по 12 часов в день за клавиатурой, добавили управление джойстиком 🎮
Изначально работа проверялась только на Xbox-овом контроллере, но каково же было наше радостное удивление, когда игра запустилась и удобно управлялась даже на Steam Deck (см. рис. 2)! Правда, есть мелкие нюансы — например,
не все кнопки стандартного Xbox-вого джойстика однозначно соответствуют контроллеру стимдеки, поэтому пока там нельзя открыть окно инвентаря 🙈 Но это мы, конечно, в ближайшее время поправим.
Отвечая на часто задаваемый вопрос о том, играбелен ли на данный момент наш проект и можно ли вообще выиграть, прикладываем рис. 3 со скриншотом победы, которую одному из разработчиков удалось достичь где-то за час балдежа на диване с ноутбуком и джойстиком в руках 😁 На следующей неделе планируем наконец плотно взяться за математику боёвки, баланс и различные абилки.
Помимо этого, мы опять-таки по отзывам игроков добавили долгожданную возможность выбрасывать предметы из инвентаря на землю, чтобы экономить драгоценное место под лечебные бутылочки 😏 Её можно активировать, нажав
T
, backspace
или кнопку вниз на d-pad джойстика.Ну и, конечно, с предыдущего релиза пофиксили много багов
#мемасики #common_lisp
Тут из тваттера подъехала шутеечка, подчёркивающая гибкость лиспа:
Everything is an S-expression with the right readtable 😂
Тут из тваттера подъехала шутеечка, подчёркивающая гибкость лиспа:
Everything is an S-expression with the right readtable 😂
Forwarded from LuckyLambda
Всем привет!
На этой неделе мы начали непривычно длинную задачу. Так как базовые механизмы игры наконец работают близко к тому, как задумывалось, мы взялись за более заковыристые вещи. Работа далека от того, чтобы быть завершённой, но мы не можем оставить вас без традиционных новостей, а себя без мотивирующего чувства прогресса 😊
Итак, мы презентуем разные типы урона. Пока что их будет всего два (не скажу из скольки). Зачем мы так делаем — тоже временно останется небольшим секретом, и пока что вы можете пофантазировать, где в следующий раз придётся задумываться об этом, теперь известном вам, факте.
Чтобы разнообразить не только цифры, мы вводим нового моба — на сей раз это будет кенгуру. Вы, конечно, можете удивиться и спросить, отчего такое редкое для сеттинга существо, но я с загадочным видом умолчу ответ и на это невысказанное замечание.
Кроме этого, по результатам внутренних тестов нарратора уговорили быть несколько менее многословным, чтобы история путешествия не выглядела такой дотошно однообразной, а персонаж стал более гибко относиться к выступающим частям стен.
Также мы не бросаем свои обещания и на этой неделе окончательно закрываем вопрос с управлением на Steam Deck. Теперь в режиме джойстика все управляющие элементы работают как задумывалось. У нас есть гипотеза, что после релиза в Steam переключение в этот режим будет совсем автоматическое, поэтому пока что закрываем данную тему.
На этом я попрощаюсь, оставив вам возможность ознакомиться со свежим релизом 😊
_LL_CV
На этой неделе мы начали непривычно длинную задачу. Так как базовые механизмы игры наконец работают близко к тому, как задумывалось, мы взялись за более заковыристые вещи. Работа далека от того, чтобы быть завершённой, но мы не можем оставить вас без традиционных новостей, а себя без мотивирующего чувства прогресса 😊
Итак, мы презентуем разные типы урона. Пока что их будет всего два (не скажу из скольки). Зачем мы так делаем — тоже временно останется небольшим секретом, и пока что вы можете пофантазировать, где в следующий раз придётся задумываться об этом, теперь известном вам, факте.
Чтобы разнообразить не только цифры, мы вводим нового моба — на сей раз это будет кенгуру. Вы, конечно, можете удивиться и спросить, отчего такое редкое для сеттинга существо, но я с загадочным видом умолчу ответ и на это невысказанное замечание.
Кроме этого, по результатам внутренних тестов нарратора уговорили быть несколько менее многословным, чтобы история путешествия не выглядела такой дотошно однообразной, а персонаж стал более гибко относиться к выступающим частям стен.
Также мы не бросаем свои обещания и на этой неделе окончательно закрываем вопрос с управлением на Steam Deck. Теперь в режиме джойстика все управляющие элементы работают как задумывалось. У нас есть гипотеза, что после релиза в Steam переключение в этот режим будет совсем автоматическое, поэтому пока что закрываем данную тему.
На этом я попрощаюсь, оставив вам возможность ознакомиться со свежим релизом 😊
_LL_CV
#common_lisp
Меж всем тем, у моих подписчиков тоже невероятно мощные лапищщи 🐺
Вот, например, человек взял и на основе вот этого проекта и
Меж всем тем, у моих подписчиков тоже невероятно мощные лапищщи 🐺
Вот, например, человек взял и на основе вот этого проекта и
cl-opengl
начал пилить трёхмерную игрулечку на Common Lisp под Андроед: https://www.youtube.com/shorts/R-S-kQQR7WQYouTube
My new game engine runs on Android
Programming languages : Common LIsp, C, JavaSystem requirements : 512 MB RAM, ARM64 compatible CPU