Comments 8
это достойно большего, невероятно круто, вау
Молодцом. Давай ещё больше статей про разработку и запил своих фич для движка)
Цветовые флаги как условное исполнение - неожиданно годная идея. Похоже на старые ISA-шные трюки, только в игровом интерфейсе. И главное, это реально игровая механика, а не блюпринты ради блюпринтов
Они ощущаются правда более привычно, чем другие варианты выше (паттерн-матчинг с выходом из бранча условной командой, так и двухмерные программы из Carnage Heart, где у тебя ветвление может идти в одну из 4 сторон и код ограничен внутри такой матрицы условно 40х40). Но если человек на низком уровне не программировал, то может вау-эффект выше.
Исходная идея с обрубанием исполнения по первому false была настолько неудобной в использовании (и без доп идей, которые мне в голову не пришли), что у меня конечно вьетнамские флешбеки от них. Но такая модель исполнения, как будто бы, ещё более необычная.
В тему

«Дарвин» — компьютерная игра для программистов, разработанная в 1961 году сотрудниками Bell Labs В. А. Высотским, Дугласом Макилроем и Робертом Моррисом[англ.] для компьютеров IBM 7090, в которой несколько ассемблерных программ, названных «организмами», загружались в память компьютера. Организмы, созданные одним игроком (то есть принадлежащие к одному виду), должны были уничтожать представителей другого вида и захватывать жизненное пространство. Победителем считался тот игрок, чьи организмы захватывали всю память.
Бой в памяти (англ. Core War) — разновидность компьютерной игры «Дарвин», разработанная Александром К. Дьюдни. Помогал разрабатывать игру Дэвид Джонс, студент кафедры информатики университета Западной Онтарио, где преподавал Дьюдни.
В данной игре игроки разрабатывают компьютерные программы на специальном языке программирования, похожем на ассемблер — Redcode. Программы размещаются в циклически замкнутом участке памяти (core), состоящей из 8000 ячеек и зацикленной в кольцо. Каждая команда занимает одну ячейку. Redcode-программы работают под управлением MARS (англ. Memory Array Redcode Simulator — Симулятор Массива Памяти Redcode). Программы загружаются по случайным адресам в памяти.
Каждая программа (начиная со стандарта ICWS'1988) может иметь несколько активных потоков, причём поток может порождать другие потоки с помощью инструкции SPL. Потоки, принадлежащие одной программе, выполняются по очереди, поэтому скорость их выполнения обратно пропорциональна количеству потоков. Поток завершается, если пытается выполнить некорректную инструкцию. Программа, все потоки которой завершились, считается проигравшей.
Разработать «Бой в памяти» Дьюдни побудила история о двух противоборствующих программах CREEPER и REAPER (см. компьютерный вирус). Обстоятельства разработки CREEPER/REAPER дошли до Дьюдни в несколько искажённом виде, так, по словам Р. Томлинсона, ни заражения ARPANet, ни «поединка» между двумя программами в действительности не было.
Redcode — язык программирования, созданный специально для игры «Бой в памяти».
Все инструкции имеют 2 аргумента A и B, хотя не все используют их оба. В аргументах хранятся значения и совершаются операции адресации (инкремент/декремент). Предполагается, что A — источник, B — назначение.
Инструкции (<Инструкция> <Используемые аргументы> — <Описание>):
DAT - Останавливает выполнение потока.
MOV A B - Скопировать источник по адресу в назначение по адресу.
ADD A B - Прибавить источник к назначению.
SUB A B - Вычесть источник к назначению.
MUL A B - Умножить назначение на источник.
...
...
https://ru.wikipedia.org/wiki/Бой_в_памяти
https://ru.wikipedia.org/wiki/Дарвин_(игра)
https://ru.wikipedia.org/wiki/Redcode
Хабр заставил меня разметить статью так, что ЦА у неё - бекендеры. Как же это странно, да и раньше такого не было.

Визуальный язык программирования в NebuLeet: эволюция и дизайн