Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
I answer this based off computer architecture and digital design classes I took in college, and some years of being a software engineer. I really loved learning assembly, the this game satisfies a similar itch.
There are other concerns that are much more "puzzle game". They feel thematically sensible for this kind of machine, but multi-threading via tessellation is a very strange approach. (I really like the in-story premise that the TIS maybe came from an alternate dimension.)
I'd say that this game is super excellent for training yourself on algorithms and is definitely worthwhile for anybody with an interest in programming. That being said, the best way to learn assembly would be to download a simulated assembly machine (like the LC-3 mentioned above) and do some projects with it.
TIS-100 is a real (but simple) simulation of what goes on with coding at that level. The concepts used here like registers and instructions (especially the jump commands) are exactly what you will find elsewhere. You will also learn about some high level ideas like deadlock, concurrency, and even thread maintenance. You will learn how ideas can be turned into numbers and vice versa.
You will become very aware of the hardware (or in this case the built in) limitations of the specific computer architecture. Things like, dang, I need another register that isn't there. The data stack in the game reminded me of the 6502 CPU stack found on old Apples and C64s. It really is amazing how much can be accomplished at this level.
But it is not for everybody. This simulation will not teach you about the addressing techniques used with today's CPUs. And don't expect it to teach you good programming habits either. Probably the best way to learn is to first try create the program by yourself. Then compare your program to others and see how it can be improved. Other solutions are easily found on youtube and the net and are excellent sources for programming ideas.
I must admit I get an odd sense of accomplishment when I finally figure out some puzzle and manage to get the code crammed and running in the limited boxes. Its fun to watch the code lines light up and do their thing. Enjoy.
While learning how to write efficient code in assembly may take years, reading assembly should be surprisingly easy, especially if you already know some non-interpreted language such as C, and might be a fun first step on your way to learning low level programming. If you're feeling stuck, there's also a decent x86 assembly primer called Programming from the Ground Up[download-mirror.savannah.gnu.org], you may want to look into it as well.