| ▲ | aizk 2 hours ago |
| This may sound funny but I feel games would lose a lot of fun if they were all written in rust and had classes of bugs just not available to them. For better or for worse quirks and bugs in games have shaped how people approach games, and also have given games charm for decades. |
|
| ▲ | snemvalts 2 hours ago | parent | next [-] |
| Rust only prevents types of bugs where the game crashes because of invalid memory access, or exploits. |
| |
| ▲ | lifeisloving 2 hours ago | parent | next [-] | | Since when are Rust programs unexploitable.. | |
| ▲ | Gigachad 2 hours ago | parent | prev [-] | | Nah it prevents all kinds of bugs that exploit things like integer overflows, invalid values, etc. Obviously gameplay bugs are still possible in Rust, but many of them are not. | | |
| ▲ | flohofwoe 2 hours ago | parent [-] | | > ...that exploit things like integer overflows... AFAIK Rust doesn't check for integer overflow in release builds, so that would still be exploitable. | | |
| ▲ | aw1621107 an hour ago | parent [-] | | Rust doesn't check for integer overflow in release builds by default (ignoring the explicitly-checked methods, of course). At least when building with Cargo whoever builds the binary sets overflow behavior. |
|
|
|
|
| ▲ | kibwen 2 hours ago | parent | prev [-] |
| Fortunately for gamers, Rust doesn't do anything to stop physics engines from going haywire or preventing players from clipping out of bounds. A Mario 64 written in Rust still has parallel universes (well, assuming that you carefully translated the out-of-range float-to-short cast as having modulo semantics, an operation which doesn't have any defined semantics in C). |
| |
| ▲ | anonymous908213 2 hours ago | parent [-] | | Rust does, however, kill Missingno. No thanks. | | |
| ▲ | kibwen an hour ago | parent [-] | | To be pedantic, even being written in C would have killed Missingno. Pokemon Red/Blue were written in raw assembly. | | |
| ▲ | anonymous908213 43 minutes ago | parent [-] | | C doesn't bounds check arrays. A C compiler is perfectly capable of producing the same machine code as an assembler when given a loop that writes bytes to an array and then keeps writing beyond the space allocated for the array. |
|
|
|