Как уместить целую студию разработки в 20 мегабайт
Иногда хочется отдохнуть от бесконечных конфигураций Webpack, оптимизации Docker-образов и споров о чистой архитектуре. Хочется просто сесть и написать игру. Без лишних абстракций, как в детстве, когда возможности железа были понятны, а ограничения — осязаемы. Именно для таких моментов создали TIC-80.
Это не просто игровой движок, а «фантазийный компьютер». Представьте, что вы нашли портативную приставку из параллельной вселенной, где технологии пошли по пути максимального упрощения и открытости.
Что внутри этой коробочки
TIC-80 — это опенсорсный эмулятор несуществующего железа. Когда вы его запускаете, перед вами открывается командная строка. Никаких внешних IDE не нужно: редакторы кода, спрайтов, карт, звуков и музыки уже встроены в один бинарный файл.
Разработчики намеренно ограничили ресурсы, чтобы подстегнуть творчество:
- Экран: 240x136 пикселей.
- Палитра: всего 16 цветов.
- Звук: 4 канала.
- Графика: 256 спрайтов размером 8x8.
Кажется, что этого мало? На самом деле, такие рамки избавляют от «паралича выбора». Вам не нужно думать, какой ассет-пак купить в сторе или какой шейдер прикрутить к воде. Вы просто рисуете человечка из восьми пикселей и заставляете его прыгать.
Пишите на чем удобно
Обычно подобные проекты жестко привязаны к одному языку (чаще всего Lua). Создатели TIC-80 пошли другим путем. Если вы знаете JavaScript, Python или Ruby, вам не придется переучиваться. Список поддерживаемых языков внушает уважение: тут и экзотический Fennel, и лаконичный Wren, и даже Janet.
Вся игра упаковывается в один файл — «картридж». Это удобно: можно скинуть другу файл с расширением .tic, и он запустит его на Windows, Linux, Android или прямо в браузере.

Инструменты, которые всегда под рукой
Внутри TIC-80 есть всё, чтобы пройти путь от пустой консоли до готового продукта:
- Редактор кода. С подсветкой и базовой навигацией.
- Sprite Editor. Рисуете тайлы и персонажей, настраиваете анимации.
- Map Editor. Собираете уровни из созданных тайлов.
- Sound & Music Editors. Создаете чиптюновые мелодии и эффекты «пиу-пиу» буквально за пару кликов.

Pro-версия для тех, кто хочет больше
Проект полностью бесплатный, но есть и Pro-версия. Она стоит небольших денег на itch.io и нужна скорее для поддержки автора. Однако в ней есть пара полезных для разработчика вещей. Например, возможность сохранять код в текстовом формате.
В обычной версии картридж — это бинарник. Положить его в Git и смотреть диффы не получится. Pro-версия решает эту проблему, позволяя работать в привычном VS Code или Vim, а TIC-80 использовать только для запуска и отладки ресурсов. Кстати, если вы умеете собирать софт из исходников, Pro-фичи можно включить флагом при компиляции бесплатно — лицензия это позволяет.
Кому это пригодится
Я вижу три сценария, где TIC-80 раскрывается лучше всего.
Первый — геймджемы. Когда у вас есть 48 часов, тратить 4 из них на настройку окружения — преступление. Здесь вы запускаете tic80.exe и сразу пишете function TIC()....
Второй — обучение. Если хотите объяснить ребенку (или другу), как работают циклы и координаты, TIC-80 идеален. Результат виден сразу, а API настолько простое, что его можно выучить за вечер.
Третий — «программирование для души». Это отличный способ размять мозги, решая задачу «как уместить сложную логику в ограниченную память».
Как начать
Проще всего зайти на официальный сайт и попробовать веб-версию. Если зацепит — качайте бинарник под свою систему. На GitHub проекта лежат подробные инструкции по сборке для всего, что только можно представить: от Windows XP до Raspberry Pi.
Сообщество у проекта живое. На сайте есть раздел «Play», где можно подсмотреть чужой код, разобрать его по косточкам и понять, как другие разработчики обходят технические ограничения. Это, пожалуй, лучший способ научиться делать крутые вещи в условиях жесткого дефицита пикселей.