3 ms·
That was what, 1996? Unfortunately, many of the edge cases that cause non-deterministic behavior have gotten substantially more exploited by compilers since th
by TheLoneWolfling 12y ago
That was what, 1996?
Unfortunately, many of the edge cases that cause non-deterministic behavior have gotten substantially more exploited by compilers since then.
- limaoscarjuliet 12y agoI really want to disagree. Assuming the code is correct: - proper handling of system calls and EINTR, - do not call illegal functions in signal handlers, - proper synchronization to avoid race conditions, - etc. it will work just fine. The problems with today's systems does not lie in compilers. It lies in vastly increased complexity of the code itself. Back in 96 we had a few sprites, with some animation sequence, sound effects. State of an object was kept in a few integers. Collisions were done using really stupid algorithm that would probe special mask in level builder with a circle consisting of 16 points, so we can get a vector pointing away from the wall. Etc. Today, collisions, physics, presentation - all this is thousands of times more complex. More code, more bugs, more issues. For that reason, it would be very difficult to write keyboard-state driven multiplayer today.
- TheLoneWolfling 12y agoAh, you weren't using floating-point. That makes things substantially easier. W.r.t. floating-point, good luck. See https://news.ycombinator.com/item?id=9430958 https://news.ycombinator.com/item?id=9430958
- limaoscarjuliet 12y agoAh, yes, you are correct. We built our own fixed point library.