- Spring Lisp Game Jam 2019: Darkness Looming, racket-engine
- Lisp: Racket
- Middleware: SDL2
- Арт: Flare RPG
- Редактор карт: Tiled
- Псевдо-DSL: heroine.ss
Биндинг SDL2 к Racket: racket-sdl2
- Spring Lisp Game Jam 2020: Darkness Looming: The Dawn, d2clone-kit
- Lisp: Common Lisp
- Middleware: liballegro
- Арт: Flare RPG
- Редактор карт: Tiled
- Спрайты персонажей: Aseprite
- Начал с SDL2
- Выбрал для GUI библиотеку Nuklear
- Код Nuklear для отрисовки через SDL2 использует “сырой” OpenGL
- В SDL2 невозможно одновременно использовать высокоуровневые API вроде SDL_RenderCopy и “сырые” OpenGL вызовы
- Из высокоуровневых рендереров Nuklear поддерживает SDL2, SFML и liballegro
- Выбор пал на последнюю, т.к. биндинги выглядели поживее
- Впоследствии написал биндинг Nuklear с liballegro для CL: cl-liballegro-nuklear, есть в Quicklisp
Using a Highly Dynamic Language for Development
- REPL: изменение программы на ходу. livesupport
- CLOS
- Рестарты
- Оптимизация
- Макросы и DSL:
defsystem
/defcomponent
/defprefab
,Resources/uis/credits.lisp
,map.tmx
- Docker-образ для сборки: docker-lisp-gamedev
- Документирование в стиле literate programming (бранч literate)
- Исправление некорректных конвертаций изометрических координат в ортогональные
- Исправление A*
- DSL для диалогов, DSL для UI
- Сетевая игра
- Коммьюнити (Discord? VK?)
- Telegram: awkravchuk
- Twitch: awkravchuk
- Youtube: AndrewKravchuk