Hacker News new | past | comments | ask | show | jobs | submit login
Arkham Quixote (2020) (sherief.fyi)
183 points by G4E on Dec 12, 2021 | hide | past | favorite | 18 comments



"A young computer engineer, known to be one of the most skillful in Westborough’s basement, said he had a fantasy about a better job than his. In it, he goes to work as a janitor for a computer company whose designs leave much to be desired. There, at night, disguised by mop and broom, he sneaks into the offices of the company’s engineers and corrects the designs on their blackboards and desks.”

― Tracy Kidder, The Soul of A New Machine


"I argue a lot for craftsmanship-for-craftsmanship’s-sake, and I realize how that usually doesn’t make financial sense, but in this case a little attention and care could have saved the publisher millions of dollars in actual costs, and only god-knows-how-much in reputation and goodwill. Sloppy engineering has a cost, good craftsmanship has actual value, and the next time someone is allowed to ship something this terrible we might not be lucky enough to be able to develop such a fix."


Do you think that people in charge of shipping the product know about this (i.e. management)? What about the typical role focused teams - whose role would low level optimization be? Do you think that optimization was a separate epic or a number of backlog items? Would the team that implements the game code even get that much direct help and support from the people who developed the engine tech?

Maybe i'm wrong about these particular ideas, but to me it seems that there is something wrong in the industry, where slow software is routinely shipped (e.g. Electron apps and lots of Wirth's Law in practice) and where the exact same extends to games, for example, how Cyberpunk 2077 was at release.

What can we do to solve this, as developers? Can developers even fix this and possibly provide the necessary pushback or something else? Should someone else fix this, maybe at a different level of the org chart?

In contrast, here's a positive example: Visual Studio Code. It's built on Electron, yet somehow feels far more snappy than the likes of Brackets or Atom. It doesn't feel an order of magnitude or two slower than the likes of Sublime or Notepad++ at this point! What is Microsoft doing differently in this regard? Prioritizing performance? Throwing resources at the problem, in the forms of specialized optimization teams and commitments to this? How much does that cost them?


Well done, for finding the problem with analysis tools and especially lots of experience and even fixing it without source code.

It's puzzling why the studio couldn't do this. The problem itself is easy to spot by a performance engineer, and avoided in the first place by an experienced developer. Did all the leads leave after implementing the prototype? Did management fire the whole team after the release? Were sales good enough that nobody really cared?


The game was handed off to a porting shop who’s job was to get it running on PC for the lowest bid.

The issue was the original studio didn’t stipulate good enough performance targets or were already over-committed to this contractor for the timeframe.


This. Their only requirement was "It plays through."

Getting 3D working optimally so that it uses the hardware maximally is actually hard. There are lots of places where you can use the wrong call and something ends up being shunted to the CPU instead of the GPU and all your performance is gone.

As a dev you probably have a really fucking fancy machine on your desktop which hides all the sins you are coding into the game.

Studios sometimes just want bodies and hire way too many inexperienced devs who haven't been through all the gotchas.

Also, you need a good profiler, you need to know how to understand your profiler and you need to profile often on a game to make sure you don't get to the end and find some horrible bug that requires you to go back and ask the artists to change all their assets.


Most likely they were already working on something else by the time this game hit shelves and not really motivated to work on a tainted failure rather than something new due to the constant burnout


This too. Once you get to the end of the game you're so fucking relieved to be rid of the damned thing you never, ever, ever want to crack the source open again. A weeks after it goes gold you might not even have a machine with a working build stack on it to even patch the code.


i don't think we will know whether it was one or all of those unless we were on the specific team or managing it

from my experience, toy-makers don't use military-spec parts


From my experience, performance issues like this would only arise during integration, and if integration is late, there's no time to optimize. By the time all the requisite pieces came together to make a playable game, there was no time to optimize, since any devs who might be able to fix this were pulled into other stability issues uncovered in integration.


(2020)

I don't see it having been discussed here before, so be sure to check out the followup or contemporaneous reddit discussion:

https://old.reddit.com/r/pcgaming/comments/ffhimn/a_fix_for_...


Not a graphics guy so I have nothing beyond that Tracy is cool, but I think this is a good argument for open sourcing games when they've reached a certain age.

I'm 20, so not that old, and I do load up and old game just to be a bit nostalgic sometimes, will I be able to do that when I'm 40 or 50? It's easy to think that the answer is yes because you can get emulators for games from the past, but games now have so many moving parts (and DRM unfortunately).


I'd love to see the source for old games, and as an ex-game dev I've often wondered about this, but most game code seems to disappear into a black hole. Game studios come and go like the wind, and when they do, where does all their data go?


I love seeing this kind thing. It reminds me vividly of the GTA5 loading reverse engineering that was finally patched after discovery.



This is super cool hackery of the highest order.


Apparently the author of this blog post criticized another person who also did a breakdown of the same game, because their website was crappy.

https://twitter.com/SheriefFYI/status/1468650249426128899?s=...

It's funny because I like the idea of a niche group of programmers all working to increase the fps of Arkham and getting competitive with each other.


This is a cool hack, but I'm so, so, so sick of the entitled attitude in our community. I see it every single day, somebody finds an obscure bug in some software and there's a whole load of Twitter assholes going "I can't believe those MORONS would ship something this DUMB, I hope somebody got fired for this", etc., like the 'Genius at Work' from the Simpsons.

Stuff is hard. Most people are overworked and underpaid. Ease off. If you ever, ever root for somebody to lose their job, you're not on our side.




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

Search: