- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
{NULL:NULLPTR}
Admin
And yet you can bet that when Unity does the same thing, they will do it even worse. Because Unity.
Admin
Actually, Unity mostly just takes the .NET JSON serialization and makes it worse. And only mildly worse, at that.
Admin
I object to this json.
Admin
You need JSON Bourne to eliminate the problems.
Admin
I suddenly have an urge to take random games and insert "#" strings into them.
Admin
This commenting system doesn't seem to like forward slashes either.
Admin
JSON borne Objective
Admin
It's .net; you use the built in stuff or Newtonsoft just like everyone else
Admin
As someone who's worked on it, Unreal 3 was a freaking nightmare to work with, and Unreal 4 finally starts making things clean again. What happened is the usual - Unreal (1) was hacked together by Tim Sweeny as his first 3D project. He's a genius, and he did a fantastic job for his first 3D engine, but you're not going to get API stuff right on your first try. The only people using it were other pro software devs, like Microprose and Legend. It was not for general use.
Unreal 2 crammed in a whole bunch more APIs, like for physics, making the API even more complicated, starting to get unwieldy. And Unreal 3 is almost like working with SAP, a creaking swaying tower of inconsistent and vomitously bad APIs. You're spending almost as much time fighting the engine as you are writing your game.
Unreal 4 finally reverses the trend - it cleans up a lot of @#$% and you can tell that it was actually designed using what they'd learned from 1-3. But there's still a lot of cruft left that probably nobody wanted to touch yet.
Admin
Considering the weird bugs that the speedrun community keep finding in games like GTA V, I'm not surprised at the quality of game development.
Admin
I hear that he won't come out of his shell.
Admin
I want to see the source to Goat Simulator.
Admin
Why?
Admin
Goat Simulator is a pioneer in the genre of games that leverage hastily implemented physics interactions as a feature - by design the code must have a lot of fun bugs in it which produces the desired flinging and tumbling of ragdolls and rigidbodies.
Admin
While this is definitely awful (due to the potential confusion between strings and numbers, etc.), the part where numbers are converted to strings makes sense when one considers the more WTFy JSON out there.
For example, Elite: Dangerous journal files (a logfile for use by external software) contain 64-bit integers. Standard JSON parsers treat these as doubles. In practice this guarantees you have to use a custom JSON parser... or a JSON parser that keeps all numbers as strings internally.
I doubt that that is the world's first or last instance of out-of-spec JSON, and it's gotta be read somehow.
Ideally, of course, the JSON library would actually consider various different types to be, well, different types, and would have an appropriate API, and wouldn't be worryingly close to allowing any string prefixed with "#" to switch types...
Admin
GTA V bugs mentioned in comments on an article about bad JSON handling in games..
Oh the prescient irony.