Odin — универсальный язык системного программирования с ориентацией на данные, встроенной стандартной библиотекой и позиционированием как альтернатива C.
karl-zylinski/karl2d
Удобная для начинающих библиотека для 2D-игр на Odin с поддержкой Windows, Linux, macOS и веба.
- Звёзды
- 724
- Форки
- 66
- Открытые issues
- 37
- Последний коммит
- позавчера
Что это?
Karl2D — библиотека для создания 2D-игр на языке Odin. Она берет на себя работу с окнами, отрисовку, ввод, аудио и загрузку ресурсов, позволяя разработчикам создавать простые игры без сборки большого стека зависимостей. Библиотека обращается напрямую к API операционной системы и графического рендеринга, а не использует промежуточный слой вроде GLFW.
На одной кодовой базе можно собирать исполняемые файлы для настольных систем и версии для веба. Веб-сборки используют бэкенд WebGL и официальный JS runtime Odin, поэтому инструментальная цепочка Emscripten не нужна. В комплект входит инструмент build_web, который упаковывает игру для браузера; ресурсы для веб-версии можно встраивать во время компиляции с помощью #load.
Проект находится в бета-версии. Обзор API генерируется в файл karl2d.doc.odin, а в репозитории есть примеры: редактор тайловых карт, позиционное аудио и небольшая игра с видом сверху.
Ключевые возможности
- 01Загрузка и отрисовка текстур и геометрических фигур
- 02Поддержка камеры: перемещение, поворот и масштабирование вида
- 03Воспроизведение звуковых клипов и музыки, включая программный микшер
- 04Ввод с мыши, клавиатуры, геймпада и сенсорного экрана (сенсорный ввод в вебе)
- 05Сборки для Windows, Linux и macOS, а также веб-сборки без Emscripten
Сценарии использования
- Изучение разработки игр на небольшом и понятном коде
- Создание простых 2D-игр для настольных систем и браузера
- Прототипирование 2D-геймплея на Odin без тяжеловесного движка
- Изменение внутреннего устройства библиотеки под собственный стек игрового движка
Быстрый старт
- 1
Установите компилятор Odin с сайта odin-lang.org
- 2
Поместите репозиторий karl2d в подпапку с именем karl2d внутри папки игры
- 3
Создайте game.odin, используя код Hello World из README
- 4
Запустите игру из папки игры
odin run .
Что важно знать
- В README библиотека описана как бета-версия, поэтому возможны ошибки и изменения API.
- Горячая перезагрузка — экспериментальная функция, которая находится в отдельном репозитории.
- В Linux для веб-сборки может потребоваться установить пакет lld, чтобы получить wasm-ld.
В подборках
Темы
Частые вопросы
- Что такое karl2d?
- Удобная для начинающих библиотека для 2D-игр на Odin с поддержкой Windows, Linux, macOS и веба. Karl2D — библиотека для создания 2D-игр на языке Odin. Она берет на себя работу с окнами, отрисовку, ввод, аудио и загрузку ресурсов, позволяя разработчикам создавать простые игры без сборки большого стека зависимостей. Библиотека обращается напрямую к API операционной системы и графического рендеринга, а не использует промежуточный слой вроде GLFW.
- karl2d можно использовать бесплатно? Какая у него лицензия?
- karl2d распространяется с открытым исходным кодом под лицензией Zlib. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- karl2d всё ещё поддерживается?
- Активно поддерживается. Последний коммит в karl2d — 5 нояб. 2026 г..
- Для чего можно использовать karl2d?
- Изучение разработки игр на небольшом и понятном коде Создание простых 2D-игр для настольных систем и браузера Прототипирование 2D-геймплея на Odin без тяжеловесного движка Изменение внутреннего устройства библиотеки под собственный стек игрового движка
- Как установить karl2d?
- Установите компилятор Odin с сайта odin-lang.org Поместите репозиторий karl2d в подпапку с именем karl2d внутри папки игры Создайте game.odin, используя код Hello World из README Запустите игру из папки игры: odin run .
- Где скачать karl2d?
- Исходный код и инструкции по установке — на GitHub: https://github.com/karl-zylinski/karl2d
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека для создания 2D-игр на JavaScript и TypeScript с компонентным API и упором на удовольствие от разработки.
Игровой движок на базе Flutter для 2D-игр: игровой цикл, система компонентов, обнаружение столкновений, эффекты и обработка ввода.
Бесплатный игровой 2D-движок на TypeScript для создания игр в HTML5 Canvas в браузере.
Простой 2D-движок для языка программирования D со встроенной физикой, анимацией, тайловыми картами и диалогами.
LÖVE — бесплатный фреймворк с открытым исходным кодом для создания 2D-игр на Lua под Windows, macOS, Linux, Android и iOS.