5 апреля 2012 5.04.12 150 8103

0x10^c — игра для программистов?

+36

Привет всем!
Как мы уже знаем, Нотч делает новую игру под названием 0x10^c.

О самой игре пока очень мало известно, но есть один любопытный факт. В игре можно(нужно?) будет программировать. На официальном сайте(Алярм! Английский!) есть первый вариант документации по языку программирования. Здесь я хочу кратко рассмотреть сам язык и высказать пару мыслей по способам его применения в игровом мире.

Язык программирования не сложен, но новичков может напугать. В нём на данный момент всего лишь 16 базовых команд и одна вспомогательная. Вот полный список:

Базовые команды:
SET a, b
аналог нашего "=". То есть a=b.

ADD a, b
сложение. На паскале(да и практически любом другом языке) это может быть
записано как a=a+b. То есть в а будет записана сумма а и b.

SUB a, b
вычитание. a=a-b.

MUL a, b
умножение. a=a*b.

DIV a, b
деление. a=a/b

MOD a, b
тут немного сложнее. Идея в том, чтобы вычитать из a b пока а больше b.
Например, если a=15, а b=6, то после этой операции а станет равно 15-6=9-6=3.

SHL a, b и SHR a, b
смещение влево и вправо соответственно. Чтобы не мудрить скажу просто: это
ускоренный вариант деления(влево) и умножения(вправо) на 2.

AND a, b — sets a to a&b
логическое «И». Опять же, по-простому: a=1 если a=1 и b=1. Если хоть одно
значение равно, нулю, то a=0.

BOR a, b — sets a to a|b
логическое «ИЛИ». а=1 если хотя бы одно значение равно 1 иначе 0.

XOR a, b — sets a to a^b
Фик его знает, как назвать эту операцию по-русски. а=1 только если а
не равно b.

IFE a, b
Выполняет следующую команду если а равно b.

IFN a, b
если а не равно b.

IFG a, b
если а больше b.

IFB a, b
если а и b больше 0.

Не базовые команды:

JSR a
Помещает адрес следующей команды в стек и присваивает регистру PC значение а.

Помимо команд есть ещё стек, регистры и адреса памяти.

Глядя на всё это не каждый решится сесть за игру. И здесь, скорее всего, на помощь прийдёт экономика. То есть, программу, которую ты написал, можно будет продать. Те же кто не умеют писать программы могут добывать ресурсы и за эти ресурсы покупать программы.

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

Скорее всего, появится возможность, которой так не хватало в майнкрафте. А именно, автоматизированная добыча ресурсов. А если удастся автоматизировать ещё и торговлю…

А ведь есть ещё и космические бои. Только представьте, если у игрока может быть больше одного корабля. При помощи программ можно будет управлять целой флотилией!

Наверняка, можно будет что-то строить(чего ещё ждать от создателя майнкрафта?). Только представьте как флотилия в считанные минуты выстраивает базу и всё это по одному вашему велению!

Возможности практически безграничны.

А какие у вас мысли?


Лучшие комментарии

Нотч хочет, чтобы люди учились кодить О_о
XOR a, b — sets a to a^b
Фик его знает, как назвать эту операцию по-русски. а=1 только если а не равно b.

-Исключающее ИЛИ. (:
мне одному кажется что вся эта херь типо люди проснулись спустя овер 9000 лет и вся вселенная потухла, а звезды разлетелись только потому что нотч не смог бы сделать круглую планету? :D
если в реале все пытаются заново изобрести велосипед, то в игре нотч заново изобретает ассемблер.
да и твёрдо говоря — тоже не ассемблер.
Во-первых, на ассемблер действительно похоже.
Во-вторых, я не понимаю, почему все так его не любят и бояться… Интересный и не такой уж и сложный. Там все просто, в отличии от этих ваших классов да шаблонов. Единственное, надо многое держать в уме, многое учитывать. Зато ощущаешь контроль. А в языках высокого уровня постоянное чувство, что тебя дурят. Никому не нужно? В системном программировании на пару с Си или С++ довольно таки применим.
Forever alone со своей звездой смерти :D
перечитай первое предложение. я сравнил направление деятельности нотча с направлением деятельности тех, кто изобретает велосипед.
это фразеологизм так то.
Только тем, что у неё функций много. Думаю, в язык добавят ещё, как минимум, команду вызова функции(аналог ассемблерного CALL). Тогда можно будет создавать библиотеки и по богатству функций арме не уступать.
а я разве где джаву упомянул?
А что касается мыслей, то я подожду игру для начала. Нечего пока шумиху поднимать.
MOD a, b
тут немного сложнее. Идея в том, чтобы вычитать из a b пока а больше b.
Например, если a=15, а b=6, то после этой операции а станет равно 15-6=9-6=3.

— правильно называется «Остаток от деления a на b».

Написать программу на данном языке — более чем реально. Люди умудряются писать довольно крупные программы в Minecraft'е (вплоть до реализации простых процессоров). Здесь же функционал больше. Тем более данный язык практически как две капли воды похож на Asm.
Исходя из последнего, данный интерпретатор(?) скорее всего так же будет иметь регистры. Интересно, правда, какие и сколько. Или возможно здесь будет принцип создания переменных. В общем, это только догадки — официальный сайт пока не читал.
Почему врешь? Правильно все.
XOR — это «исключающее ИЛИ», сумма Жегалкина и сложение по модулю 2 — все одно и тоже.

Результирующая функция будет иметь истинно (1), если a != b

0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 0

Таблица истинности для суммы Жегалкина. По-моему, все согласно твоему утверждению.
Да и я про яву не говорил тут.
Я читал про вирусы и антивирусы на комьюнити.
Они явно перегибают. Дело в том, что для виря и антивиря нужна многозадачная ОС. Врядли её кто-то писать будет. Да и сам смысл вируса отпадает. Если удастся получить доступ на запить в память вражеского компа, то можно просто стереть всю память и всё. вражеский корабль безпомощен.
Боже да это же ассемблер я буду это играть я буду это играть к черту бакалаврскую я буду это играааааааааааать!
Читай также