#лытдыбр
Вот это я машина, конечно. Нехитрые статистические расчёты показывают, что уже в следующую субботу можно ожидать 27 коммитов за день 😂
Вот это я машина, конечно. Нехитрые статистические расчёты показывают, что уже в следующую субботу можно ожидать 27 коммитов за день 😂
🔥3😁3👍1
#лытдыбр #common_lisp
Всё-таки обожаю Emacs. Пишу в коде игры
Всё-таки обожаю Emacs. Пишу в коде игры
:step-
, чтобы прописать название аудиофайла, который будет проигрываться при движении персонажа игрока. Emacs (точнее, его плагин Sly для Common Lisp) выцепляет из запущенного Lisp-образа список за-intern
-енных кейвордов и ищет среди них те, что начинаются на :step
, а так как я уже запускал игру и все файлы со звуками были подгружены из каталога ресурсов, все соответствующие звуковым файлам кейворды есть в Lisp-образе, и я их вижу у себя прямо в автодополнении. Если это не круто, то я даже не знаю определение слова "круто" 🤟🔥8❤1
#мемасики
Я с утра опять прибегнул к кофеиновому допингу, поэтому ещё немножко щитпоста 😅
В коде игры случайно произошёлMOTHERFUCKING EVANGELION REFERENCE
Я с утра опять прибегнул к кофеиновому допингу, поэтому ещё немножко щитпоста 😅
В коде игры случайно произошёл
😁2🙏1
#проекты
Итак, вчера с товарищем за один день креативили контент, и этой ночью уже на последнем издыхании я зарелизил игру для Lisp Game Jam, вуаля: Thoughtbound.
Теперь я чуть-чуть проспался и готов предварительно сформулировать небольшой постмортем.
1. Архитектура Entity-Component-System — огонь 🔥 Новую функциональность в игру можно добавлять буквально лёгким движением руки, и она не ломает то, что в игре уже есть.
2. Стоковый рендеринг карты через CLOS в библиотеке
3. Хотя на различных форумах так не рекомендуют делать, но, как выяснилось, хранение каждого tile карты в отдельной entity — вполне себе рабочий вариант; для сравнения, родной рендеринг через
4. Хотя реализация ECS у меня пока самая наивная и жручая память, в реальном проекте это нестрашно — запущенная игра создаёт около тысячи игровых объектов с 14 различными компонентами, но потребляет при этом на всё про всё около 200 Мб памяти, что по современным меркам пшик.
5. В игре довольно серьёзная нарративная составляющая и даже есть вот прямо сюжет с нотками пост-модернизма, что для моих предыдущих проектов нетипично 😅
6. Столкновения персонажей с препятствиями — это сложно, таки и не доделал их полностью идеально 🥲
7. С гуёвой библиотекой
8. Генеративные искуственные нейронные сети — суперское подспорье в проектах вроде такого. Особенно если английский не твой родной, а рисовать не умеешь 🤣 Немного инсайда: у меня настолько мало фантазии, что даже название проекта предложил чятжпт))
9. Весь код игры, как сообщает
10. Не хочу быть нескромным, но среди других финишировавших в геймджеме работ не видел хоть одной настолько же полной контентом, как наша 😊 Хотя, безусловно, есть крайне интересные с технической точки зрения проекты.
11. Истинно говорю вам, кофе — напиток дьявола. В какой-то момент на выходных мне казалось, что я навсегда утратил возможность засыпать 😳
12. Вдвоём геймджемить куда веселее)
Итак, вчера с товарищем за один день креативили контент, и этой ночью уже на последнем издыхании я зарелизил игру для Lisp Game Jam, вуаля: Thoughtbound.
Теперь я чуть-чуть проспался и готов предварительно сформулировать небольшой постмортем.
1. Архитектура Entity-Component-System — огонь 🔥 Новую функциональность в игру можно добавлять буквально лёгким движением руки, и она не ломает то, что в игре уже есть.
2. Стоковый рендеринг карты через CLOS в библиотеке
cl-tiled
чудовищно тормозной для любых практических целей.3. Хотя на различных форумах так не рекомендуют делать, но, как выяснилось, хранение каждого tile карты в отдельной entity — вполне себе рабочий вариант; для сравнения, родной рендеринг через
cl-tiled
жрёт около 70% CPU (который у меня 12-ядерный Ryzen, на секундочку), а рендеринг той же карты с использованием ECS по entity на тайл — 5-6%.4. Хотя реализация ECS у меня пока самая наивная и жручая память, в реальном проекте это нестрашно — запущенная игра создаёт около тысячи игровых объектов с 14 различными компонентами, но потребляет при этом на всё про всё около 200 Мб памяти, что по современным меркам пшик.
5. В игре довольно серьёзная нарративная составляющая и даже есть вот прямо сюжет с нотками пост-модернизма, что для моих предыдущих проектов нетипично 😅
6. Столкновения персонажей с препятствиями — это сложно, таки и не доделал их полностью идеально 🥲
7. С гуёвой библиотекой
Nuklear
тяжко: из-за того, что она написана на чистом C, чуть шаг влево-шаг вправо — и ты вывалился в LDB, а в Emacs это даже не сразу понятно, просто окно игры перестаёт обновляться.8. Генеративные искуственные нейронные сети — суперское подспорье в проектах вроде такого. Особенно если английский не твой родной, а рисовать не умеешь 🤣 Немного инсайда: у меня настолько мало фантазии, что даже название проекта предложил чятжпт))
9. Весь код игры, как сообщает
cloc
, состоит из 715 строк, что лишний раз подтверждает, что Common Lisp — один из самых мощных языков в мире 🤗10. Не хочу быть нескромным, но среди других финишировавших в геймджеме работ не видел хоть одной настолько же полной контентом, как наша 😊 Хотя, безусловно, есть крайне интересные с технической точки зрения проекты.
11. Истинно говорю вам, кофе — напиток дьявола. В какой-то момент на выходных мне казалось, что я навсегда утратил возможность засыпать 😳
12. Вдвоём геймджемить куда веселее)
itch.io
Thoughtbound by Andrew, ViruScD
Post-modern dungeon crawler in fantasy setting. Available for Windows, Linux
🔥12❤1😁1
#common_lisp
Обнаружил тут на днях существование целого Roguelike tutorial for Common Lisp. Надо бы заценить, у самого в ближайших планах запилить туториал по использованию своего ECS-фреймворка
Обнаружил тут на днях существование целого Roguelike tutorial for Common Lisp. Надо бы заценить, у самого в ближайших планах запилить туториал по использованию своего ECS-фреймворка
cl-fast-ecs
😊nwforrer.github.io
Roguelike tutorial for Common Lisp - Part 0 - Setup
This set of tutorials is going to follow the Python TCOD tutorial, but will be written in Common Lisp and use the BearLibTerminal library.
Prior Knowledge This tutorial assumes you are familiar with programming in Common Lisp. If you’re not familiar, I would…
Prior Knowledge This tutorial assumes you are familiar with programming in Common Lisp. If you’re not familiar, I would…
#лытдыбр
Только что вернулся со стендап-концерта Яси Тринадцатко, и в реальности она ещё более клевая, чем в ютубе 😍
Спасибо организаторам (но с фигой в кармане, потому что билеты пришлось покупать через чудовищно кривой сайт на немецком(!), сделанный, судя по всему, на похапе, настолько от него веяло двухтысячными с веб 1.0, версткой таблицами и вот этим всем из моего детства)
Только что вернулся со стендап-концерта Яси Тринадцатко, и в реальности она ещё более клевая, чем в ютубе 😍
Спасибо организаторам (но с фигой в кармане, потому что билеты пришлось покупать через чудовищно кривой сайт на немецком(!), сделанный, судя по всему, на похапе, настолько от него веяло двухтысячными с веб 1.0, версткой таблицами и вот этим всем из моего детства)
👍2
#common_lisp
В поисках более адекватного механизма сборки для игры, чем то, что есть сейчас, попробовал два проекта для Common Lisp, являющихся аналогами
Вопрос в том, что из этих двух, гм, творений будет проще починить, и что-то мне подсказывает, что от fukamachiware лучше снова держаться подальше 😅
В поисках более адекватного механизма сборки для игры, чем то, что есть сейчас, попробовал два проекта для Common Lisp, являющихся аналогами
pip
и virtualenv
для Python в одном флаконе, — CLPM и Qlot. Оба худо-бедно справляются со своими непосредственными обязанностями, но оба не работают под Windows, причём если CLPM
г-на Эрика Тиммонса валится на моменте компиляции пакета cffi
— по какой-то причине gcc
при этом запускается с путём к объектному файлу вида \\?\C:\yada-yada.o
(т.н. extended length path), чего, конечно же, не понимает; то Qlot
, а точнее, Roswell
г-на Фукамачи тупо валится с сегфолтом 😂 Что неудивительно, учитывая его фаршевый код.Вопрос в том, что из этих двух, гм, творений будет проще починить, и что-то мне подсказывает, что от fukamachiware лучше снова держаться подальше 😅
GitHub
lisp-jam-spring-2023/package/build.lisp at 70dcf0189755350539247e97ab951c3ac3ebe8a3 · lockie/lisp-jam-spring-2023
Spring Lisp Game Jam 2023 entry. Contribute to lockie/lisp-jam-spring-2023 development by creating an account on GitHub.
🤔3
#common_lisp
Всю неделю по утрам танцевал невероятный танец по граблям в попытках заставить собираться игру через CLPM, для Linux всё завелось почти сразу, а с "ОС" Ш1ИДОШ5 пришлось поковыряться. И вот уже всё локально в докере работает, довольный делаю пуш в репозиторий только для того, чтобы обнаружить, что буквально в том же докер-контейнере в ебучем github actions билд с грохотом фейлится из-за того, что там в путях откуда ни возьмись появляются слэши шиворот-навыворот. А разгадка проста:безблагодатность в github actions контейнеры запускаются с прорвой каких-то непотребных докеровских настроек, в том числе с кастомным
Истинно говорю вам, micro$oft и все её продукты — говно говна, царь Мидас наоборот, который превращает абсолютно всё, чего касается, в нерабочую гору смердящего кала. Блэт, как же я зол 😡
Всю неделю по утрам танцевал невероятный танец по граблям в попытках заставить собираться игру через CLPM, для Linux всё завелось почти сразу, а с "ОС" Ш1ИДОШ5 пришлось поковыряться. И вот уже всё локально в докере работает, довольный делаю пуш в репозиторий только для того, чтобы обнаружить, что буквально в том же докер-контейнере в ебучем github actions билд с грохотом фейлится из-за того, что там в путях откуда ни возьмись появляются слэши шиворот-навыворот. А разгадка проста:
ENTRYPOINT
, из-за чего вся хвалёная воспроизводимость Docker-контейнеров идёт по пизде.Истинно говорю вам, micro$oft и все её продукты — говно говна, царь Мидас наоборот, который превращает абсолютно всё, чего касается, в нерабочую гору смердящего кала. Блэт, как же я зол 😡
GitHub
Added missing file 😅 · lockie/lisp-jam-spring-2023@b2946f4
Spring Lisp Game Jam 2023 entry. Contribute to lockie/lisp-jam-spring-2023 development by creating an account on GitHub.
🤬4🤨2🤝1💅1
#анонс #видео
Памятуя о своём опыте, взял на себя труд организовать (уже второй) онлайн-митап по Lisp-подобным языкам. Итак, вот уже в эту субботу, в 18:00 UTC+3 вас ждут следующие доклады:
• "Паттерн Entity-Component-System и металингвистическая абстракция"
• "Fennel — зачем, где и как"
• "Возрождение поддержки CL в SWIG 4"
• "Фреймворк Spritely Goblins"
• "Мой опыт на Clojure после JS"
• "Чем полезен Ultralisp и как он устроен"
Митап будет проводиться на платформе Jitsi Meet, на которой вы сможете пообщаться с докладчиками после их выступлений, по следующей ссылке.
Кроме того, будет проводиться live-трансляция на Youtube на моём канале, подпишитесь, чтобы не пропустить. Вопросы из чата Youtube тоже постараюсь не терять и зачитывать докладчикам вслух 😊
P.S. запись доступна тут.
Памятуя о своём опыте, взял на себя труд организовать (уже второй) онлайн-митап по Lisp-подобным языкам. Итак, вот уже в эту субботу, в 18:00 UTC+3 вас ждут следующие доклады:
• "Паттерн Entity-Component-System и металингвистическая абстракция"
• "Fennel — зачем, где и как"
• "Возрождение поддержки CL в SWIG 4"
• "Фреймворк Spritely Goblins"
• "Мой опыт на Clojure после JS"
• "Чем полезен Ultralisp и как он устроен"
Митап будет проводиться на платформе Jitsi Meet, на которой вы сможете пообщаться с докладчиками после их выступлений, по следующей ссылке.
Кроме того, будет проводиться live-трансляция на Youtube на моём канале, подпишитесь, чтобы не пропустить. Вопросы из чата Youtube тоже постараюсь не терять и зачитывать докладчикам вслух 😊
P.S. запись доступна тут.
👍8🔥6
#мемасики
Буквальное лицо интроверта-перфекциониста (моё) после того, как поучавствовал в геймджеме, а потом ещё и организовал онлайн-митапчик 😁
Буквальное лицо интроверта-перфекциониста (моё) после того, как поучавствовал в геймджеме, а потом ещё и организовал онлайн-митапчик 😁
🔥7🤣5😢1🤗1
😢1
Forwarded from ДЕВОПСИНА | DevOps | Linux
This media is not supported in your browser
VIEW IN TELEGRAM
🔥2🤣1
#common_lisp #видео
Взял на себя труд перезаписать свой видос с Lisp-митапа про ECS-микрофреймворк
https://youtu.be/8PtqJt7MOiA
Взял на себя труд перезаписать свой видос с Lisp-митапа про ECS-микрофреймворк
cl-fast-ecs
😊https://youtu.be/8PtqJt7MOiA
YouTube
Паттерн Entity-Component-System и металингвистическая абстракция
Презентация на видео: https://lockie.gitlab.io/cl-fast-ecs-presentation-ru
Микрофреймворк CL-FAST-ECS: https://gitlab.com/lockie/cl-fast-ecs
Игра Thoughtbound, созданная на базе CL-FAST-ECS: https://awkravchuk.itch.io/thoughtbound
Подписывайтесь на мой…
Микрофреймворк CL-FAST-ECS: https://gitlab.com/lockie/cl-fast-ecs
Игра Thoughtbound, созданная на базе CL-FAST-ECS: https://awkravchuk.itch.io/thoughtbound
Подписывайтесь на мой…
👍11
#common_lisp
Попытался сделать очередной подход к снаряду кроссплатформенной изоляции окружения для Common Lisp, и чуть не заработал себе экзистенциальный кризис. CLPM г-на Эрика Тиммонса нормально работает, но при создании бинарника под виндусом крэшится из-за того, что ему почему-то не хватает памяти на кучу, а на багрепорт г-н Тиммонс не реагирует. Qlot — типичное fukamachiware, опирается на Roswell (на этом месте, в принципе, можно отправляться в магазин за верёвкой с мылом), но внезапно неплохо работает. До тех пор, пока не нужно собрать бинарник под ебучим виндусом, где Roswell даже работает, только у меня-то в CI-скриптах не виндус, а Wine, а вот под ним розвелл тупо крашится при любом действии, потому что 1) пытается установить в своих локальных целях бинарный SBCL, для чего скачивает msi-шку и ставит её
Так и живём 😢
Попытался сделать очередной подход к снаряду кроссплатформенной изоляции окружения для Common Lisp, и чуть не заработал себе экзистенциальный кризис. CLPM г-на Эрика Тиммонса нормально работает, но при создании бинарника под виндусом крэшится из-за того, что ему почему-то не хватает памяти на кучу, а на багрепорт г-н Тиммонс не реагирует. Qlot — типичное fukamachiware, опирается на Roswell (на этом месте, в принципе, можно отправляться в магазин за верёвкой с мылом), но внезапно неплохо работает. До тех пор, пока не нужно собрать бинарник под ебучим виндусом, где Roswell даже работает, только у меня-то в CI-скриптах не виндус, а Wine, а вот под ним розвелл тупо крашится при любом действии, потому что 1) пытается установить в своих локальных целях бинарный SBCL, для чего скачивает msi-шку и ставит её
msiexec
'ом, и 2) msiexec
делает вид, что всё хорошо, но на деле SBCL не ставит. Приехали. Использовать системный SBCL розвелл, конечно же, не умеет. Ну то есть как, можно ему сказать ros use sbcl/system
, но он начнёт жаловаться, что ему не хватает какого-то его дампа по имени roswell.core
, и вообще хуй пойми, откуда его взять.Так и живём 😢
🤯3🔥2😁1💩1🙈1
#анонс
Вот уже через полчаса буду по долгу службы вести открытый урок про новый стандарт языка С, C23. Велком, если интересно про такую низкоуровщину 😅
Вот уже через полчаса буду по долгу службы вести открытый урок про новый стандарт языка С, C23. Велком, если интересно про такую низкоуровщину 😅
otus.ru
Курс Программист на С: практические навыки программирования на C для разработчиков, админов и IoT-специалистов
Вы изучите синтаксис С, основы архитектуры процессора и памяти, структуры данных, основы ассемблер. Сможете писать низкоуровневые приложения и приложения под UNIX, а также понять, как С используется в играх и веб-приложениях
🔥9👍1
#common_lisp
Хоть и проспал вчерашний утренний стрим, но наконец заборол кроссплатформенную сборку игры с джема, заставив работать Qlot напрямую из лиспа, а не через Roswell. Под конец ещё выяснилось, что виндус не умеет в симлинки (напомню, что винда — абсолютно проклятая ОС), но я уже без удивления обошёл это костылём.
Теперь бы ещё сделать билд под макось 😅 Может, кто-то из подписчиков готов предоставить удалённый доступ к своему макожелезу для моих экспериментов со сборкой? Напишите мне в личку, если да)
Хоть и проспал вчерашний утренний стрим, но наконец заборол кроссплатформенную сборку игры с джема, заставив работать Qlot напрямую из лиспа, а не через Roswell. Под конец ещё выяснилось, что виндус не умеет в симлинки (напомню, что винда — абсолютно проклятая ОС), но я уже без удивления обошёл это костылём.
Теперь бы ещё сделать билд под макось 😅 Может, кто-то из подписчиков готов предоставить удалённый доступ к своему макожелезу для моих экспериментов со сборкой? Напишите мне в личку, если да)
GitHub
GitHub - lockie/lisp-jam-spring-2023: Spring Lisp Game Jam 2023 entry
Spring Lisp Game Jam 2023 entry. Contribute to lockie/lisp-jam-spring-2023 development by creating an account on GitHub.
👍1🔥1😁1
#мемасики
И снова наступает годовщина интереснейшего исторического события, связанного с предотвращением массовой резни по этническому признаку.
Всем мирного неба над головой 🕊
И снова наступает годовщина интереснейшего исторического события, связанного с предотвращением массовой резни по этническому признаку.
Всем мирного неба над головой 🕊
👍1