←back to thread

302 points doener | 9 comments | | HN request time: 1.021s | source | bottom
Show context
aquafox ◴[] No.42315113[source]
In the original Transport Tycoon (but not OpenTTD), if you would build a tunnel from one end of the map to the other, the amout of money to pay gets so large that it triggers a (signed) integer overflow. So you can start your campaign with billions of dollars!
replies(4): >>42315293 #>>42315431 #>>42315977 #>>42316614 #
majke ◴[] No.42315293[source]
The original TTD was super stable though. I remember once I was able to crash it by building a very tight loop for a train, that it crashed with its own tail. This was the only time I saw the red font with debugging info.
replies(2): >>42315470 #>>42315871 #
1. leni536 ◴[] No.42315470[source]
An impressing feat, considering it was written in assembly.
replies(3): >>42315796 #>>42316969 #>>42317156 #
2. urbandw311er ◴[] No.42315796[source]
I don’t understand (or maybe I’m just too used to online sarcasm) are you calling BS on this claim? Or is it actually possible.
replies(3): >>42315843 #>>42315999 #>>42316115 #
3. lqet ◴[] No.42315843[source]
I don't think that was sarcasm, Chris Sawyer wrote most (all?) of his games in pure assembly since the 80ies. The outworldly quality of this feat is legendary. TTD, and also RCT and RCT 2 were incredibly stable games. I played them for months and months as a kid, and never encountered a crash.
4. Halfwhit ◴[] No.42315999[source]
I don't read it as sarcasm, but more as a genuine achievement
replies(1): >>42322892 #
5. npteljes ◴[] No.42316115[source]
This is meant as a compliment. The lower level the language, the easier is to make a mistake in it, leading to instability. The stability of the product, then, is a testament to the ability of its creator.

Chris have indeed written the game in Assembly, however, this is just one aspect of the truth. He actually used a kind of higher level generator or macro system for the game. But, still assembly, at the end of the day. Just not written by hand in Notepad, like how CS students do in class. Or was that just me?

replies(1): >>42316504 #
6. Gud ◴[] No.42316504{3}[source]
Frankly, if two different people had written two similar games, and one had chosen assembler and the other python, I would assume the assembler game to have fewer bugs simply because the much higher skill level.

I program in Python.

7. ascagnel_ ◴[] No.42316969[source]
It makes me wonder, is it possible to write something this complex in assembly today, given modern security features.

Not that you'd want to, given that OpenTTD has networked features and you'd want something that makes it easy to validate/isolate remote payloads.

8. mickeyp ◴[] No.42317156[source]
Most assemblers have higher-level features like macros built in to make it easier to write. Once you start building abstractions (as Chris surely would've done) it becomes more manageable, but of course, still more work than writing C.

Instead of talking about that, spare a thought for the awful x86 memory segmentation mode[1] --- now that sucked.

[1] https://en.wikipedia.org/wiki/X86_memory_segmentation

9. urbandw311er ◴[] No.42322892{3}[source]
Thank you