Лисп в изгнании
230 subscribers
156 photos
21 videos
5 files
233 links
Авторский канал на околоайтишную тематику.

По всем вопросам @awkravchuk
Download Telegram
#common_lisp

Тут ньюсфидом принесло прекрасное: запускающийся прямо в браузере (!) Emacs с подмножеством Common Lisp(!!): https://lisperator.net/s/slip

Можно в приглашение REPL слева вбить что-то в духе (load "examples/clock.lisp"), и оно запустит графическую (!!!) дёмку. В общем, куда техника шагнула, аж дух захватывает 😱

Подумываю иногда о том, что надо бы тоже попробовать для браузера игры делать, но для этого нужно прямо сильно заморочиться с ECL — это пока единственный компилятор, умеющий генерировать WASM, и там это прямо сейчас активно пилят. Поживём-увидим, в общем 😊
👍14❤‍🔥1🔥1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
#common_lisp #видео

Надысь тут в Lisp-дискорде человек хвастался своими успехами в геймдеве на Common Lisp с использованием Raylib, не могу не поделиться небольшим, но крутейшим видосом процесса разработки 😊
🔥15
#лытдыбр

Никогда бы не подумал, что докачусь до программирования в draw.io 🙈

Это я доделываю дерево поведения для мобов в нашем рогалике и сильно надеюсь успеть к завтрашней субботе-скриншотнице)
🔥9
Forwarded from LuckyLambda
Итак, снова настала суббота, а вместе с ней время представлять вашему вниманию новую версию демо нашего рогалика в рамках #ScreenShotSaturday 😊 Как всегда, её можно скачать на страничке проекта по кнопке Download.

Как и обещали, мы сделали базовую механику сражений — теперь можно устроить мобам мордобой 😁 Так как оба участника нашей студии по образованию математики, мы провели много времени, обсуждая подсчёт чисел урона и базовые боевые характеристики. Один из участников, пожелавший скрыться за псевдонимом кофейный лис, предложил модель боя, более близкую к теоретическим основаниям матстатистики, чем к традиционно принятым в видеоиграх схемам, и после долгих обсуждений мы реализовали именно её. Кроме того, мы использовали буквально самый крутой на данный момент генератор случайных чисел под названием PCG, созданный в академических кругах всего десяток лет назад.

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

Также в новом билде появилось удобное главное меню и некоторые другие мелкие изменения интерфейса — оставляем в качестве развлечения для самых пытливых заметить, какие именно ☺️

На следующей неделе мы будем продолжать работать над базовыми рогаличными механиками — на очереди предметы и экипировка. Есть много важных вещей, которые нам нужно реализовать до полноценной игры, оставайтесь с нами, чтобы следить за прогрессом и не пропустить официальный релиз в Steam!
🔥13👍7🥰1
Forwarded from LuckyLambda
В эту #ScreenShotSaturday в силу загруженности основного автора статей, текстов и постов канала к рулю с рассказом о прогрессе за неделю пробился участник проекта под ником Кофейный лис, он же Coffee Vulpes. Непоправимого урона нанести не удалось, но в качестве эксперимента оставляем его художества в оригинальном виде. Ставьте к посту реакцию 💩, если считаете, что его графоманство не стоит выпускать на волю 😁 Передаём слово беспокойному caninae.

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

Нет, это всё ещё не финальный вариант игры, но да, это определённо произведение, которое можно считать замкнутым (кольцо на игре кекеке).

Итак, первое и самое главное — у нас появились используемые вещи. Их можно выбить с мобов, их можно поднять (и здесь есть некоторые UX-элементы, которые не видны, но, поверьте, ощутимы), их можно использовать. Вещи обладают случайными параметрами, вещи помогут вам завершить игру (пусть пока это возможно лишь благодаря уважаемой Фортуне), вещи являются той абстракцией, что начинает привносить в игру фан. Вещи настолько важны, что в данный момент вы не сможете от них избавиться. Это не продлится долго, но пока наш девиз — неудержимая жадность.

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

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

Итак, мы всё ближе к релизу самой ИГРЫ. Текущую версию, как обычно, можно скачать на страничке проекта по кнопке Download. Но прежде нас ждёт ещё некоторое число итераций, оживляющих базовую модель. В ближайших планах — пролить СВЕТ на подземелье, и навести в нём ещё больше красоты. Мы вернёмся на следующей неделе с новым рассказом о прогрессе (если моё занудство вас не испугало, поставьте реакцию единорога, прольём радугу на фекалии 🦄💩🤣)
🦄11
#лытдыбр

Меж делом тут обнаружил, что шрифт Fira Code, который я до этого использовал в Emacs, приелся и кажется скучным, и понял, что пора менять шрифт 💅 Посмотрел по количеству поддерживаемых лигатур, сиречь последовательностей определённых символов, которые рендерятся как один, например, классическая лигатура ff — в ней горизонтальные перекладинки у f рисуются, как одна сплошная линия; есть многочисленные "программистские" лигатуры, например, /*, -> и т.д. В итоге выяснил, что такое же большое количество "программистских" лигатур, как у Fira Code, есть только в Cascadia Code, который продвигается micro$oft, хоть и был сделан в независимой шрифтовой компании.

Пришлось успокоить своё майкрософтоненавистничество тем, что софт они делают омерзительный, а вот другие вещи норм, те же клавиатуры, например. Настроил Cascadia в Emacs, закоммитил в свои дотфайлы и сижу радуюсь, нраица 😊
💅10🤗2
Forwarded from LuckyLambda
Этой весенней #ScreenShotSaturday у нас небольшой юбилей — мы четвёртую неделю подряд рассказываем о прогрессе разработки нашего рогалика и выкладываем промежуточные альфа-версии, а значит, нашему проекту стукнул месяц 🥳 На этот раз Кофейный лис участвовал в нажимании кнопок под кодом, поэтому согласился отдохнуть от написания постов и вернуться к печатной машинке в следующий раз)

За эту неделю мы успели поработать с генерацией лабиринта, исследуемого игроком, сделав его гораздо больше и добавив механизмы освещённости (вернее, затенённости) и "тумана войны", которые, как нам кажется, добавляют мрачной атмосферы игре. В качестве идеального образца зловещего подземелья мы ориентировались на Монастырь из первого акта Diablo 2 — по вайбу мы по-прежнему приверженцы жанра dark fantasy 😈

Также мы поправили ряд мелких багов и ещё чуть-чуть улучшили поведение мобов — теперь они эффективнее преследуют игрока в случае, когда в пылу погони потеряли его из вида в закутках катакомб.

Наконец, по случаю круглой даты специально для вас сделали возможность отправить ваш фидбек, запросы функциональности или отчёт об ошибке прямо из главного меню, без необходимости ходить на сторонние сайты (см. рис. 3)! Качайте текущую версию игры по обычной ссылке и дайте нам знать всё, что о нас думаете — мы будем рады любой обратной связи 😊
🔥6👍1
#лытдыбр #common_lisp

Меж всем тем, на той неделе случилось небольшое эпохальное событие — я переписал код нашей будущей игры в стиле literate programming, придуманном Кнутом, при котором кодовая база по сути является текстом на естественном языке с фрагментами кода, которые из него выдираются и скармливаются компилятору. Выглядит это всё нереально круто (см. рис. 1), а работает посредством пакета cl-org-syntax, сделанного одним из столпов русскоязычного лисп-коммьюнити @akater (подпишитесь на бложек, его лапищщи невероятно мощны).

Насколько мне известно, literate programming для публичного кода на Common Lisp использует примерно человек шесть во всём мире, и половину из них я знаю лично 🤣 В силу редкости работает всё неидеально — требует кастомных патчей на емаксовские пакеты, и даже с ними емакс иногда начинает чудить и по нажатию волшебных клавиш C-c C-c почему-то начинает отправлять код в пекедж cl-user вместо текущего, ну да это не страшно.

В целом это довольно крутой и необычный опыт, сродни TDD на всю голову, в котором сначала пишется тест, а потом уже код, что позволяет тщательно продумать интерфейс кода до его написания. Здесь тоже всё время пытаешься держать в голове, как ты будешь человеческими словами описывать тот код, что сейчас пишешь, и думается от этого явно по-другому. В общем, рекомендую попробовать 😊
👍95🔥5❤‍🔥3
Forwarded from LuckyLambda
Мы пережили ещё одну неделю нашего путешествия и не теряем участников. Совсем нет, напротив.

Итак, отложим на время кофе и обратим взоры на движение нашего проекта сквозь поток всевозможных континуумов. И сразу же поправлю себя — не взоры, в этот раз мы займём внимание другого вашего органа. Как вы, наверное, помните, в прошлый раз нашим зелёным локомотивом была открыта возможность оставить свои предложения, чем сразу не преминули воспользоваться неравнодушные друзья. Не все запросы мы можем реализовать по разным причинам (как концептуально, так и местами, возможно, технически), но эту просьбу оставить без внимания было бы кощунством. Поэтому представляем вашему вниманию новое чувственное измерение — звук. Это уже вторая важная авторская черта нашего проекта после собственно самой реализации, и, надеемся, она придётся вам по вкусу так же, как и нам.

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

А пока это всё больше в планах, мы представляем некоторую затравку-субститут моих обещаний — новый предмет, который может быть найден в недрах тёмных пещер. И снова я коварно предлагаю вам самим найти это нововведение, скачав новую версию игры по старой ссылке, и, возможно, поделиться находкой с другими.

Засим рекомендую вернуться к кофе, пока он не остыл, и оценить нововведения.

(Что? Почему в реакциях нет кофе?! Я протестую, моё сердце разбито 💔)

_LL_CV
🔥6👏1💔1
#лытдыбр #common_lisp

А пока движется работа над нашей игрой, я потихоньку вношу сопутствующие улучшения в свои лисповые библиотеки для геймдева, например, добавил вот в библиотеку деревьев поведения вспомогательную отладочную функцию для дампа дерева в виде ASCII арта 💅😊
🤩9👍5🔥1
Forwarded from LuckyLambda
Снова суббота, и мы не изменяем традиции давать о себе весточку. Надеюсь, вы не устали от вычурных сравнений и заковыристых конструкций, потому что это снова я. Позвольте мне отставить чашку ароматнейшего кофе, который я по какой-то нелепости снова налил слишком заранее, и приступить.

Начнём с минутки статистики. Мир современного дизайна диктует паттерны поведения пользователей, ориентированные на буквальное, непосредственное управление. Что ж, мы не можем обойти стороной это обстоятельство и поэтому в погоне за целевой аудиторией представляем вам управление с помощью мыши. Это было тяжёлое решение, но как вы увидите, мы все же пошли на поводу у моды.

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

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

Хм, это заняло больше времени чем я рассчитывал, так что я боюсь прикасаться к чашке, он наверняка ледяной… Но я буду сильным лисом, и сразу после того, как попрощаюсь с вами, приму свою судьбу. Замечательной недели, качайте новый билд, с нетерпением ждём каждый комментарий ❤️

_LL_CV
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7