Hacker Newsnew | past | comments | ask | show | jobs | submit | Slyfox33's commentslogin


"Just don't make mistakes!"


I really don't understand people's obsession with this fact. Every game that was developed on consoles before the playstation was also written in its machines assembly language. It was extremely normal at that time.


Roller Coaster Tycoon is notable because:

- It was relatively late. The heyday of coding games in assembler was years prior (maybe there were some exceptions in portable platforms?). Was there any other smash hit PC game in 1999 coded in x86 assembler?

- It's a pretty substantially complex and large-scale game, at least relatively speaking. It's one thing to write a game like Tetris in assembler, RCT is magnitudes more complicated than the vast majority of games on e.g. the SNES. Doesn't mean the games are bad or anything, and there are probably exceptions. (I know the SNES in particular has a Sim City port, though it's pretty slow.)

- It's not just about assembler really, it's about the whole mindset. RCT is very well-optimized. For example, gameplay mechanics are adapted (e.g. stretching the length of months, shaping algorithms for calculating scores and ratings, etc.) around reducing the number of multiplications, and even on fairly crummy computers of the early 2000s it was possible to have huge parks with a lot of guests running quite well. Contrasting RCT2 with RCT3 paints a pretty good picture, because if you ran both on contemporary computers for their respective releases RCT3 with its fancy 3D graphics and modern development practices couldn't handle a fraction the size of parks without becoming a laggy unplayable mess.

I admit that I think people focus on it a bit much, especially since I'm not sure most people who repeat this fact actually understand what it means. But honestly, I'm willing to be arrogant enough to say I understand, and I salute. Writing scalable and complex code that actually works in macro assembler is not at all impossible, but it's certainly not easy. It requires a discipline that is not to be taken for granted.

That said, I watched the video, and while it did talk on this point, it was largely about the death of hit games from small teams and the bedroom coder.


It may be due to the high level of bloat in contemporary software. People also find the demoscene interesting. JS1k games vs. 14mb React landing pages. Gaming isn't solely about the fantasy induced by the content. For some there is an appreciation of the underlying engineering.


I think it may have to do with the fact that most programmers today don't even know what a computer is. You can ask most "Software Engineer I's and II's" what the difference between the stack and the heap is and get some pretty strange answers. So, it is interesting for some to think about people that had some idea about it. I don't know.


coworkers decades my senior at my last job didnt even know what pointers were :-/


Oh my


Ouch.


yeah it's just like writing a larger program in C. It takes longer to build up the basic primitives than you may be used to, but once you get going it's just programming.

I think programmers just haven't had that experience, so it's other worldly.


Yea they can't edit assembly because they have reliable tools that work 100% of the time, always. They don't have to manually inspect the output of the assembler every time they write any code. This is not even close to the same thing as LLMs.


"Dave" by itself is basically the same as in c++, just a pointer to a string literal. Dave.to_string() is like std::string {"Dave"}, it allocates a heap based string from said literal. So you can use "Dave" perfectly fine if you just want a string literal.


No, it would be impossible to make C memory safe without just making a new language.


You voted for the rapist felon buddy. Please go ahead and explain your definition of fascism.


Think that was sarcasm.


The Geometry Transform Engine is a separate chip. It's a Cpu co-processor, all it does is some basic linear algebra. The Cpu uses it to perform that math faster and then it writes it back to ram where it ships the data off to the actual Gpu, which is something completely separate. (I've written a PSX emulator).


Chat gpt will not always return the correct answers, thats a fundamental limitation of how it works since its non deterministic. So just saying "it worked for me" means nothing.


Yes and having direct links to sources to validate its answers is a huge benefit given the fundamental limitations of LLMs. Now you can decide if you trust the source material directly.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: