Виртуальные консоли

Виртуальные консоли

Лев Толстой

Глава 1 Сравнение "PICO8" и "TIC Computer"


PICO-8


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

Этих стульев у меня есть два: первый - PICO8 - крутой и заграничный стоит целых 15 баксов и является практически законченным продуктом с большим комьюнити, какое-то время даже выпускался журнал с примерами и статьями (https://sectordub.itch.io/pico-8-fanzine-1), второй - наш, со вкусом картошки и лесных грибов и не менее крутой TIC Computer. Обе консоли нельзя запустить наверное разве что на утюге, но о железных их воплощениях мы поговорим в одной следующих глав.

Для начала приведу небольшое сравнение характеристик пациентов:

Характеристики

PICO8

Дисплей: 128x128 16 colours

Управление: 1 геймпад, 2 кнопки

Звук: 4 channel

Код: Lua

Спрайты: 128 8x8

Размер карты: 128x32

Цена: 15$

Скачать без смс: https://yadi.sk/d/M_gLsCQP3DJjYw


TIC Computer

Дисплей: 240x136 16 colours

Управление: 2 геймпада по 6 кнопок

Звук: 4 channel

Код: Lua, MoonScript

Спрайты: 256 8x8

Размер карты: 240x136

Цена: 0$

Скачать без смс: https://nesbox.itch.io/tic


Обе игровых консоли имеют два основных режима работы: командная строка и редактор картриджа, эти режимы переключаются клавишей ESC. Редактор картриджа включает в себя встроенный редактор кода, графический редактор, редактор тайл-карты, редактор звуковых эффектов и музыкальный редактор(в TIC эта функция пока в разработке).


Команды и API PICO http://www.lexaloffle.com/pico-8.php?page=manual

Команды и API TIC https://github.com/nesbox/tic.computer/wiki


TIC Computer


В целом, обе консоли работают по одному принципу и код от PICO после не большой адаптации подходит для TIC. Возьмем кусок кода из первого номера журнала PICO-8 Zine, где в качестве примера приводится игра понг: http://pastebin.com/0Zkiy222 (Данный код закрашивает весь экран сплошным цветом и отрисовывает платформу, управляемую стрелочками, внизу экрана)


Результат PICO 8


Как мы видим в PICO два основных цикла: _update (прям как в этих ваших юнитях, вызывается 30 раз в секунду) и _draw (для графония).

Рассмотрим код выполняющий те же задачи для TIC:

http://pastebin.com/jrgCcTKt

Здесь один основной цикл _TIC, выполняющий функции update и функция отрисовки экрана вызывается уже из него, в остальном все очень похоже, за исключением команд, разрешения экрана и разных мелочей, например, TIC не позволяет кодеру такие вольности как PICO-8: ругается на box_x=-box_x, вместо этого приходится использовать box_x=box_x*-1.


Ссылка на 1 главу: http://telegra.ph/Virtualnye-konsoli-02-07




Report Page