Login


Forgot password?

Registration

Password reset

Please enter your e-mail address and new password.

TIS-100

Avatar
By Doubleplus28-07-2015
TIS-100

The Defence

Developer:
Zachtronics
Publisher:
Zachtronics
Genre:
Indie, Puzzle
Release Date:
20-07-2021

The Prosecution

CPU:
Intel Core 2 Duo 2.0 GHz
AMD equivalent
VGA:
Nvidia GeForce 8600
AMD equivalent
RAM:
2 GB
HDD:
100 MB
DirectX:
OpenGL

The Case

If there is one thing that Zachtronics knows how to do, it’s how to make a game where you take a certain input and make a system that is 100% all your own making, that can create a specific output. Whether it's forming molecules out of other molecules in SpaceChem, building things out of blocks in Infinifactory, or whatever the hell you are trying to accomplish in Kohctpyktop (please someone explain how the fuck to play this game, because apparently I'm too dumb to understand the tutorial videos.) You’re, in essence, making a system that turns an input into an output. Does TIS-100, the latest of Zachtronics inputy/outputy system game done in the style of a fictional assembly language, match up to its brethren?

The Trial

Well, to start off, there is not all that much to TIS-100. That may sound like I'm making it out to be a simplistic game, but I can assure you that the only way that TIS-100 is simplistic is in mechanics alone. To start you off, you aren’t given a tutorial, but a PDF file of the instruction booklet, done in the style of a manual on the TIS-100. Contained within are the various commands you are able to put into each “Node” to make them do what you want them to do. What are you inputting and outputting in TIS-100? Well, literally inputs and outputs. You are given a set of numeric inputs and told to turn them into the set of outputs.

To be honest, I'm having a hard time explaining the minutia of TIS-100. If you are familiar with Assembly languages, you can probably take one look at TIS-100 and start drawing parallels between the fictional language present in the game and real life low level programming languages. However, if you aren’t, it's not really that easy to put into words that I haven't already used. Basically you take a set of numbers and are given a job of what to do with them. For instance, on one puzzle you are given a set of numbers and are told that, for each number and told to output a 1 if the value increased 10 or more from the previous number and a 0 if it did not.

Your basic

Your basic

Like all Zachtronics games, it starts out hard and gets harder to the point where you are solving puzzles probably more complex than any other puzzle you have done and even looking at a solution to one of the later puzzles has you still wondering what the hell is going on. However, once you solve even the early puzzles makes you feel like an absolute genius for doing so. There are few feelings quite like watching your own solution to a Zachtronics game puzzle you’ve been stuck on for hours just run its course. Then the HARD part comes when you want to make it more efficient.

TIS-100 is probably most simplistic in terms of presentation. Absolutely no music, no real graphics options aside from whether or not you want it full screen, and the only real sounds you get are the occasional “bleeps”, “bloops” and the odd mechanical “click.” However, I must say that this is a case where less is indeed more. It really adds to the atmosphere and illusion that you are operating on a computer from the 70s and all something like music would do is take away from that. It also runs fairly well, because, let's face it, if you made a game like this that DIDN’T run well, you should probably drop game development and find another calling.

The Verdict

Do you enjoy extremely difficult challenges of the intellect? Do you enjoy thinking in systems of inputs and outputs? Do you like numbers to the point where your relationship with them is borderline erotic? Are you one of those super-nerds that like playing with assembly languages without being paid to do so? Well, I heartily recommend TIS-100, and with such a cheap price tag I can also say that you should probably pick it up anyway even if those previously mentioned things do not usually apply to you, just to try it out and experience it.

Case Review

 

  • Now do it again, Better: The fact that there will always be a more efficient system you can make adds to the replayability.
  • Uphill Battle: TIS-100 is refreshingly brutal on the mind.
  • Simplistic in Design: Its complex nature is contrasted with its simple presentation.
  • Some Assembly Required: If you enjoy working with assembly languages, this is the game for you.
  • Obtuse to Learn: While the whole manual style to telling you how to do things works in terms of presentation, in practice it makes things pretty difficult to get into.
4.5
Score: 4.5/5
One of the best headaches you’ll ever have.

Tags

Comments (1)
You must be to post a comment.
avatar
Posts: 1

compiling TIS-100 into assembly??????? (self.tis100)

?????????? 13 ????? ????? ????? Gusni

i'm seeing a shit ton of people implementing TIS-100 in lots of languages. would anyone want to make a compiler into actual assembly? it would sure make our solutions a lot faster :P

making a compiler rather than an interpreter, and making it target assembly instead of some higher level language will make it much more interesting.

anyway, this would be a cool project.

i'm not going to work on it, but i thought i would put the suggestion out there.

??? ? ???? ????? ??????????? ???????? ? ?????, ?? ????? ?????, ?? ?? ??????? ??????????? ??? ? ????????? ??? ???? ???????? ?? ??????.

Beginner's guide? (self.tis100)

?????????? 4 ??? ?????, ???????? * ????? Gusni

https://www.reddit.com/r/tis100/comments/3hlz7p/beginners_guide/

??????? ?????? - ???????? ?????.

@0

@1 MOV UP, DOWN

@2

@3

@4 MOV UP ACC ADD ACC MOV ACC, RIGHT

@5 MOV LEFT, DOWN

@6

@7

@8 MOV UP, DOWN

@9

Sorokin Igor

http://postimg.org/image/tuk07sfwp/

Sequences counter ???? ????. (self.tis100)

https://www.reddit.com/r/tis100/comments/3h8xv7/sequences_counter_%D0%B1%D1%80%D0%B5%D0%B4_%D1%87%D1%83%D1%85%D0%B8/

?????????? 7 ???? ?????, ???????? * ????? Gusni

http://www.youtube.com/watch?v=hX_ke3GwLE0

http://www.youtube.com/watch?v=tpKCqp9CALQ

@0

@1 S:MOV UP ACC JGZ 1 MOV ACC RIGHT SWP MOV ACC DOWN SUB ACC MOV RIGHT ACC JMP S 1:MOV ACC RIGHT MOV RIGHT ACC SAV JMP S

@2 S:MOV LEFT ACC JGZ 1 SWP NEG MOV ACC DOWN MOV DOWN LEFT JMP S 1:SAV MOV ACC DOWN MOV DOWN ACC SAV MOV ACC LEFT

@3

@4 MOV UP DOWN

@5 S:ADD UP JGZ 1 MOV ACC RIGHT SAV MOV ACC UP SUB ACC JMP S 1:SAV MOV 1 RIGHT MOV ACC UP

@6 S:MOV LEFT ACC JGZ 1 SWP NEG MOV ACC DOWN JMP S 1:MOV ACC DOWN MOV DOWN ACC SAV

@7

@8 S:MOV UP ACC JGZ 1 MOV ACC DOWN JMP S 1:MOV ACC DOWN

@9 MOV ANY ACC MOV ACC DOWN

@10 S:ADD UP JGZ 1 SWP MOV ACC LEFT SUB ACC JMP S 1:SAV MOV ACC UP

Sorokin Igor

http://postimg.org/image/qevkf6u2h/

http://postimg.org/image/jivspy9sj/

???? (self.tis100)

https://www.reddit.com/r/tis100/comments/3h8wm9/%D0%B1%D1%80%D1%83%D1%82/

?????????? 7 ???? ?????, ???????? * ????? Gusni

http://www.youtube.com/watch?v=hX_ke3GwLE0

http://www.youtube.com/watch?v=WsufptxQA0w

http://www.youtube.com/watch?v=SLHmuPhOc6Q

http://www.youtube.com/watch?v=zn77NbIwWgw

http://www.youtube.com/watch?v=VkTJC4A_TtM

Signal multiplier ???? ????.

@0 S:MOV RIGHT ACC JGZ 3 MOV ACC DOWN JMP S 3:SUB 1 MOV 1 DOWN SAV MOV DOWN ACC SWP JGZ 3 SUB 1 MOV ACC DOWN

@1 S:MOV UP ACC JGZ 1 MOV ACC LEFT MOV RIGHT ACC JMP S 1:SAV MOV RIGHT ACC JGZ 3 MOV ACC LEFT JMP S 3:SWP MOV ACC LEFT

@2 S:MOV UP ACC JGZ 1 MOV ACC LEFT MOV DOWN ACC JMP S 1:MOV ACC LEFT MOV ACC RIGHT 4:MOV DOWN RIGHT MOV RIGHT ACC JLZ 3 JGZ 2 JMP S 2:MOV ACC DOWN JMP 4 3:JMP S

@3 S:MOV LEFT ACC SAV JGZ 1 JMP S 1:MOV LEFT ACC JGZ 3 JLZ 4 MOV ACC LEFT JMP S 3:SWP SAV MOV ACC LEFT JMP 1 4:MOV ACC LEFT

@4 S:MOV LEFT ACC JGZ 1 JLZ 2 MOV ACC RIGHT JMP S 1:MOV ACC RIGHT MOV 1 LEFT JMP S 2:MOV ACC RIGHT

@5 S:MOV LEFT ACC JGZ 1 JLZ 2 MOV ACC UP MOV 0 DOWN JMP S 1:MOV ACC UP MOV UP DOWN JMP S 2:MOV ACC UP MOV ACC DOWN

@6

@7 S:MOV UP ACC JGZ 1 JLZ 2 MOV ACC DOWN JMP S 1:MOV ACC RIGHT JMP S 2:MOV ACC RIGHT MOV RIGHT DOWN

@8 S:MOV LEFT ACC JGZ 1 JLZ 2 1:MOV ACC UP SWP ADD UP SAV JMP S 2:SWP MOV ACC LEFT SUB ACC SAV Sorokin Igor

http://postimg.org/image/4oqhxv23l/

http://postimg.org/image/v5346l75t/

signal edge detector. ??????. (self.tis100)

https://www.reddit.com/r/tis100/comments/3hp6du/signal_edge_detector_%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE/

?????????? 3 ??? ????? ????? Gusni

http://www.youtube.com/watch?v=zn77NbIwWgw

@0

@1 START:MOV UP ACC MOV ACC RIGHT MOV ACC RIGHT

@2 START:SUB LEFT MOV ACC DOWN MOV LEFT ACC

@3

@4

@5

@6 START:MOV UP ACC JGZ 1 JLZ 2 4:MOV ACC DOWN JMP START 1:SUB 10 JGZ 3 JLZ 4 MOV 1 DOWN JMP START 3:MOV 1 DOWN JMP START 2:MOV ACC DOWN

@7

@8

@9 START:MOV UP ACC JGZ 1 JLZ 2 MOV ACC DOWN JMP START 1:MOV ACC DOWN JMP START 2:ADD 10 JGZ 3 JLZ 4 MOV 1 DOWN JMP START 3:MOV 0 DOWN JMP START 4:MOV 1 DOWN

@10

Sorokin Igor

http://postimg.org/image/dvijd2tpv/

http://postimg.org/image/iioleuh2r/

Sequence reverser? (self.tis100)

https://www.reddit.com/r/tis100/comments/3humbv/sequence_reverser/

?????????? 2 ??? ?????, ???????? * ????? Gusni

http://www.youtube.com/watch?v=zn77NbIwWgw

@0

@1 S:MOV UP ACC JGZ 1 MOV ACC RIGHT MOV ACC DOWN MOV DOWN ACC JMP S 1:MOV 1 RIGHT MOV ACC DOWN

@2

@3

@4 S:MOV UP ACC JGZ 1 MOV ACC DOWN MOV RIGHT UP JMP S 1:MOV ACC DOWN

@5 S:MOV UP ACC JGZ 1 MOV ACC DOWN MOV DOWN LEFT JMP S 1:MOV ACC DOWN

@6 S:MOV DOWN ACC JGZ 1 JMP 5 1:SAV MOV DOWN ACC JGZ 2 JMP 3 2:SWP ADD 1 JMP 1 3:SWP 4:SUB 1 MOV 1 DOWN JGZ 4 5:MOV ACC DOWN

@7 S:MOV UP ACC JGZ 1 5:MOV ACC RIGHT MOV LEFT ACC 3:MOV RIGHT ACC JGZ 2 MOV 1 UP 6:MOV 0 DOWN MOV UP ACC JGZ 1 MOV LEFT UP JMP 6 2:MOV LEFT DOWN JMP 3 1:MOV ACC RIGHT

@8 S:MOV LEFT ACC JGZ 1 JMP 2 1:MOV ACC UP JMP S 2:MOV ACC UP 4:MOV UP ACC JGZ 3 MOV ACC LEFT JMP S 3:MOV ACC LEFT JMP 4

Sorokin Igor

http://postimg.org/image/9swlst1br/

http://postimg.org/image/fwbp7ln3t/

?????? ???????

http://postimg.org/image/sgn1nvtn7/

http://postimg.org/image/5avww1l6d/

?????? ???????

http://postimg.org/image/jcmiqpv8f/

http://postimg.org/image/nhtvo24fb/

Image test pattern 1 (self.tis100)

https://www.reddit.com/r/tis100/comments/3i28qf/image_test_pattern_1/

?????????? 15 ????? ????? ????? Gusni

http://www.youtube.com/watch?v=zn77NbIwWgw

@0

@1

@2

@3

@4

@5

@6

@7

@8 S:MOV 30 ACC 3:SUB 1 JGZ 1 JLZ 2 MOV 1 RIGHT JMP 3 1:MOV 1 RIGHT JMP 3 2:MOV ACC RIGHT

@9 S:MOV RIGHT DOWN MOV RIGHT DOWN MOV 3 ACC SAV 3:MOV LEFT ACC JGZ 1 JLZ 2 1:SWP SAV MOV 1 RIGHT MOV ACC DOWN JMP 3 2:MOV ACC DOWN MOV ACC RIGHT

@10 S:MOV 0 LEFT MOV ACC LEFT 3:MOV LEFT ACC JGZ 1 JLZ 2 1:JMP 3 2:SWP ADD 1 SAV JMP S

Sorokin Igor

http://postimg.org/image/p2i1os03z/

http://postimg.org/image/v3ff7btpp/

Image test pattern 2 (self.tis100)

https://www.reddit.com/r/tis100/comments/3i29hs/image_test_pattern_2/

?????????? 15 ????? ????? ????? Gusni

http://www.youtube.com/watch?v=zn77NbIwWgw

@0

@1

@2

@3

@4

@5 MOV 3 DOWN MOV 0 DOWN

@6

@7

@8 S:MOV 30 ACC 3:SUB 1 JGZ 1 JLZ 2 MOV 1 RIGHT 1:MOV 1 RIGHT JMP 3 2:MOV ACC RIGHT

@9 S:MOV RIGHT DOWN MOV RIGHT DOWN 3:MOV UP ACC SAV MOV LEFT ACC JGZ 1 JLZ 2 1:SWP MOV 1 RIGHT MOV ACC DOWN JMP 3 2:MOV ACC DOWN MOV ACC RIGHT MOV UP ACC

@10 S:MOV 0 LEFT MOV ACC LEFT 3:MOV LEFT ACC JGZ 1 JLZ 2 1:JMP 3 2:SWP ADD 1 SAV JMP S

Sorokin Igor

http://postimg.org/image/eap2nfa1b/

http://postimg.org/image/wjldfe5cp/

Histogramm viewer (self.tis100)

https://www.reddit.com/r/tis100/comments/3i2aa0/histogramm_viewer/

?????????? 15 ????? ????? ????? Gusni

http://www.youtube.com/watch?v=zn77NbIwWgw

@0

@1 MOV UP ACC 3:SUB 1 JGZ 1 JLZ 2 MOV 1 RIGHT JMP 3 1:MOV 1 RIGHT JMP 3 2:MOV ACC RIGHT

@2 MOV LEFT ACC MOV ACC DOWN

@3

@4

@5 S:MOV 0 ACC 3:SAV MOV RIGHT ACC JGZ 1 JLZ 2 1:SWP MOV ACC RIGHT JMP 3 2:SWP ADD 1 JMP 3

@6 S:MOV UP ACC MOV ACC LEFT MOV ACC RIGHT JGZ 1 JLZ 2

1:MOV LEFT DOWN MOV RIGHT DOWN MOV 3 DOWN MOV -1 DOWN JMP S 2:MOV -1 DOWN

@7 S:MOV 17 ACC 3:SAV MOV LEFT ACC JGZ 1 JLZ 2 1:SWP MOV ACC LEFT SUB 1 JMP 3 2:JMP S

@8

@9 MOV UP DOWN

@10

Sorokin Igor

http://postimg.org/image/skbfsrwnh/

http://postimg.org/image/c2bjhw2er/