LINUX.ORG.RU
ФорумGames

TIS-100 от создателей SpaceChem

 , , ,


0

2

Вроде бы на ЛОРе ещё не было темы про TIS-100. Играю в неё уже второй день. В игре нужно программировать вымышленный компьютер TIS-100 на языке, напоминающем упрощённый ассемблер (есть команды MOV, ADD, SUB, JMP и т.д.) Встречаются задания на выполнение операций разного типа: сложения, умножения, анализа последовательностей, вывода псевдографики в консоль. Сам компьютер TIS-100 состоит из блоков, связанных между собой портами ввода-вывода. Каждый блок может вмещать до 15-ти ассемблерных команд, причём программы в разных блоках выполняются параллельно. Также встречаются блоки специальных типов, например, стековая память.

Вместо встроенного обучения даётся лишь 14-страничный стилизованный PDF файл с описанием архитектуры системы, набора команд и небольших примеров.

★★

Последнее исправление: cetjs2 (всего исправлений: 1)

Не стал создавать, потому что у меня под линуксом не запускается.

Deleted
()

В игре нужно программировать

Ну и зачем программировать вымышленный компьютер если можно программировать настоящий? Звучит глупо.

Stahl ★★☆
()
Ответ на: комментарий от Citramonum

тут разницы между IRL и игрой особо нету, в обоих случах сидишь за компом и что-то программируешь

Harald ★★★★★
()
Ответ на: комментарий от Citramonum

Если в игре можно лишь ходить и бегать, то это не просто глупо. Это дерьмище, а не игра.
В игре ТСа (компьютерной, между прочим!) нам предлагают на настоящем компьютере программировать эрзац-компьютер.

Stahl ★★☆
()
Ответ на: комментарий от Stahl

В игре ТСа (компьютерной, между прочим!) нам предлагают на настоящем компьютере программировать эрзац-компьютер.

Ну там, наверное, программирование немного отличается от того, как ты программируешь на своем компьютере, примерно так же, как стрельба из автомата отличается от кликания мышкой, это же игра. И наверняка успешно «программировать» смогут почти все игроки без специального образования, в отличие от.

Citramonum ★★★
()
Ответ на: комментарий от Stahl

Если в игре можно лишь ходить и бегать, то это не просто глупо. Это дерьмище, а не игра.

Супер Соник смотрит на тебя как на доктора Эггарда.

Но в данном случае абсолютли поддерживаю. Напоминает как в сегах в игре мортал комбат вложили примитивную игру типа arcanoid.

Deleted
()

годнота, пора нырнут в ссылку.

qulinxao ★★☆
()
Ответ на: комментарий от Stahl

Ну и зачем программировать вымышленный компьютер если можно программировать настоящий? Звучит глупо.

Кнут с MIX смотрит на тебя, как на глупого студента.

O02eg ★★★★★
()

напоминающем упрощённый ассемблер

Поигрался на работе в пиратку, понравилось. Приду домой куплю в стиме.

Вопрос программистам: насколько сильно это отличается от программирования на настоящем ассемблере? Правильно ли я понимаю что на реальном железе все тоже самое, только команд и регистров больше?

Behem0th ★★★★★
()

Находятся люди, которые в это играют? Может мне начать свой интерпретатор Iota языка в стиме продавать?

fmdw
()
Ответ на: комментарий от Behem0th

1.: спасибо за наводку.

2.: в связи с оплатой за «программирование на настоящем ассемблере» в другую сторону - дело ещё в наличии большего числа «так надо» в реализациях реальных моделей «эвм» чем идеальные tis-100 dcpu mmix

2.a: ибо близкие(чем нынешнии) к идеалу pdp-11-like асмы проигрывают в конкуренции реальным «сложно-описываем» процам с их BCD-командами например.

qulinxao ★★☆
()
Ответ на: комментарий от Stahl

Ой, какие мы все суровые... наверное, жидким цементом вместо мочи писаем?

В игре ТСа (компьютерной, между прочим!) нам предлагают на настоящем компьютере программировать эрзац-компьютер.

Ну мало, что ли, таких игр? Тот же Hacker: Evolution, например, предлагает сидя за настоящим компьютером, подключенным к настоящему интернету заниматься «взломом» эрзац-компьютер в эрзац-интернете.

IMHO - игра, в определённой степени, полезная, так как представляет из себя несложный интерпретатор с минимумом команд, который позволяет сразу, без особых телодвижений, увидеть результат выполнения программы. В принципе, существует ряд подобных тренажёров «для самых маленьких», ничего плохого в таком подходе нет. А если уж в таком тренажёре будет более-менее интересный сюжет...

MOP3E
()

То есть я такой, весь день на работе прогал, устал, пришел домой. Надо, что ли, развеяться, поиграть во что-нибудь, отдохнуть от прогерства. Во что бы поиграть? Ну конечно же! В программирование НА АССЕМБЛЕРЕ БЛЕАТЬ!

Следующая наша игра — симулятор сисадмина! Настройка виртуалок и файрволла, теперь и в свободное от работы время!

morse ★★★★★
()

Когда я учился в универе у нас был симулятор процессора который надо было программировать в машкодах. Было весело, хоть и нудно.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от morse

То есть я такой, весь день на работе прогал, устал, пришел домой. Надо, что ли, развеяться, поиграть во что-нибудь, отдохнуть от прогерства. Во что бы поиграть? Ну конечно же! В программирование НА АССЕМБЛЕРЕ БЛЕАТЬ!

Не играй. У таких игр, кстати, довольно узкая аудитория.

Следующая наша игра — симулятор сисадмина! Настройка виртуалок и файрволла, теперь и в свободное от работы время!

Дык, уже есть. Вы давно отстали от жизни, больной. Срочно, срочно в биореактор!

MOP3E
()
Ответ на: комментарий от Behem0th

Вопрос программистам: насколько сильно это отличается от программирования на настоящем ассемблере? Правильно ли я понимаю что на реальном железе все тоже самое, только команд и регистров больше?

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

А в реальном программировании дохрена условностей и, как я это называю, «мусорного» кода - например, код для подключения сторонних библиотек или функций, без которого вообще ни одна современная программа не скомпилируется. Или код создания окна, без которого в принципе невозможно написать программу под любой оконный интерфейс. Вот и получается, что чтобы на реальном C++ выполнить какой-нибудь простенький пример а-ля «Hello World», нужно в начале программы написать, как минимум, десятка два строк, которые начинающего программиста просто запутывают. Не говоря уже о программах, которые что-то делают с графикой. То, что на допотопном «Apple II» было неотъемлимой функцией языка программирования, сейчас выполняется через костыли а-ля DirectX, SDL и иже с ними. Поэтому подобные симуляторы очень полезны для тех, кто с языками программирования абсолютно незнаком и хочет понять - нужно оно ему или нет.

З.Ы. Лично мне не понравилась мнемоника команд типа CMD <ИСТОЧНИК> <ПРИЁМНИК>
Потому что в реальном ассемблере приёмник всегда записывается перед источником. На мой взгляд это неудобно, к этому приходится привыкать, но это именно так.

MOP3E
()
Ответ на: комментарий от Behem0th

Вопрос программистам: насколько сильно это отличается от программирования на настоящем ассемблере?

На настоящем ассемблере обычно программируют один процессор с доступом к сотням памяти и десяткам (или хотя бы единицам) регистрам общего назначения. А не 12 процессоров с одним регистром общего назначения соединённых между собой и ограничением в 15 строк на программу.

PolarFox ★★★★★
()
Ответ на: комментарий от MOP3E

Потому что в реальном ассемблере приёмник всегда записывается перед источником

Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий

Шервуд Андерсон «Ну и дурак же я»

qulinxao ★★☆
()
Ответ на: комментарий от MOP3E

Странно, ведь во всех UNIX-системах ассемблеры используют AT&T по дефолту.

Unicode4all ★★★★★
()
Ответ на: комментарий от MOP3E

«не встречал» vs. «всегда записывается». бгггг.

Для информации: такой синтаксис - SS DD - у PDP-11 и его наследников, типа TI MSP430 (хотя у техасовских же TMS320 - наоборот.)

alegz ★★★★
()
Ответ на: комментарий от Stahl

Ну и зачем программировать вымышленный компьютер если можно программировать настоящий?

Зачем писать веб-приложения, когда можно клепать настоящий нативный софт?

kawaii_neko ★★★★
()

Идея годная, одобряю. Хотя... я, наверное, тоже, если меня торкнет на низкий уровень пойти, возьму реальный, а не вымышленный ассемблер. Лет 20 уже на нём не писал :(

hobbit ★★★★★
()
Ответ на: комментарий от Stahl

Это головоломка, и компьютер там своеобразный, много ограничений.

Freyr69 ★★★
()
Ответ на: комментарий от Behem0th

На настоящем проще. Не хватает стека нормального, хотя он в игре есть, но оч своеобразный, не хватает регистров, ограничение на количесвто инструкций наконец. На реальном ассемблере писать проще и гораздо скучнее.

Freyr69 ★★★
()
Ответ на: комментарий от Deleted

Напишите факториал, чтобы получить миску борща и не умереть с голода на протекающей подводной лодке.

fmdw
()
Ответ на: комментарий от fmdw

Все, можно в эрли аксесс запускать.

Deleted
()
Ответ на: комментарий от MOP3E

Мне игра не особо понравилась. Наверное, потому, что сам программист. Но про SpaceChem не знал, так что огромное спасибо топикстартеру за наводку.

MOP3E
()
Ответ на: комментарий от al_exquemelin

тут 0x10c в проекции на программируемые артефакты игры - т.е dcpu-16

например пока(может опыта мало) нигде не видел кроме corewars spl-команду как команду уровня машкода.

qulinxao ★★☆
()

Игра вышла из Early Access, и теперь её также можно купить на GOG и Humble Store.

Interlace ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.