Live data from Hacker News

Many games are held together by duct tape

polygon.com

81–90 of 155 posts

Re: Many games are held together by duct tape

#81
post #59
post #12

I run a small MMORPG and I'm considering open-sourcing the whole thing but the code is a complete mess. The source code of VVVVVV is a work of art in comparison. What holds me back are 1. I'm ashamed to reveal the monstrosity 2. I'm afraid the code is too messy for anyone to be able to make contributions 3. it will make it much easier for hackers to find exploits. It's a shame because I think the game would be really…

Messy code that produces a valuable product is better than beautiful code that does nothing.

That's true. Except when interviewers see your profile and they suddenly care a lot about the hacky code you wrote at 3am on a saturday for fun. sigh...

Re: Many games are held together by duct tape

#82
post #71

Watching speed runners play through games is a great way to visualise not only this aspect (that games are flimsy at best), but to visualise the same practice in any software - if you don't code defensively, often a simple mis-input breaks the game. A common pattern in many speed runs is finding some glitch through a door, and then the game logic kicks in and says "you are past this door, so you must have got the key…

During the Hotline: Miami run this year the runner mentioned that on certain GPUs the game would crash unavoidably after 25 minutes due to a memory leak, and that if you wanted to increase the FPS you could plug in more mice. None of that precluded it from being a great game, though. https://youtu.be/aPnobTZfnfU

> and that if you wanted to increase the FPS you could plug in more mice

I am having trouble imagining what sort of event handling bs this might be taking advantage of...

I am too vanilla a coder at this point in my life.

Re: Many games are held together by duct tape

#83
post #27
post #6

A friend of mine in gaming though had an insight I found illuminating. The difference with games though is that there’s often an element of “One and Done” in that unlike much of web development, the starting from scratch for the next generation is more of a given. There is less need for long term support as games are expected to meet its twilight much sooner. With web development however, it is a regular risk assessm…

I mean I still buy and play games that were made 20+ years ago. Shame they have so many bugs we can't really fix. I don't buy websites that were made 20 years ago. Almost every commercial site has seen multiple rewrites in that timespan.

For many old games, it's not even certain whether the source code even exists any longer. I'm always impressed with the sometimes herculean efforts that fan communities will achieve to patch and fix old abandonware games.

Re: Many games are held together by duct tape

#84
post #61

Earlier quoted context omitted.

I legitimately don't understand this metaphor at all

I think it's like, 1) get a product owner to describe requirements (not sure why they are gathering raw mats instead of producing blue prints) 2) He tries to steal code from previous jobs to bring to new jobs, because he pretend that he "owns" them. 3) He can't steal code from previous jobs because he left them in the walls. 4) Javascript is glue.

But why is he gluing the tools?

Re: Many games are held together by duct tape

#85

Games, websites, and everything else - both Apple [1] and Dropbox [2] got passwords wrong in the last decade. I am in awe of the NASA programmers who have virtually no bugs [3]. [1] https://www.theguardian.com/technology/2017/nov/29/macos-hig... [2] https://www.cnet.com/news/dropbox-confirms-security-glitch-n... [3] https://www.fastcompany.com/28121/they-write-right-stuff

I think you may not realize how many bugs NASA programmers are making. For instance, see the fairly simple mistake made on Deep Impact spacecraft:

https://en.wikipedia.org/wiki/Deep_Impact_(spacecraft)#Conta...

There are no doubt more, that don't cause the loss of an entire spacecraft.

Re: Many games are held together by duct tape

#86
post #71

Earlier quoted context omitted.

During the Hotline: Miami run this year the runner mentioned that on certain GPUs the game would crash unavoidably after 25 minutes due to a memory leak, and that if you wanted to increase the FPS you could plug in more mice. None of that precluded it from being a great game, though. https://youtu.be/aPnobTZfnfU

> and that if you wanted to increase the FPS you could plug in more mice I am having trouble imagining what sort of event handling bs this might be taking advantage of... I am too vanilla a coder at this point in my life.

I've been in game dev for 10 years and I'm as stumped as you are.

Re: Many games are held together by duct tape

#87
post #67

Ex-Game dev here: shipped many titles on console (AAA and some zzz titles). When comes time to shipping a game, the crunches, pressure and overall stress is through the roof. Most everything goes at that point: duct tape, hot glue, bobby pins and toad spit. And if you disagree with management over these 'not so best practices' (in order to ship faster...) they will find someone to do it and you could be out of a job.…

What does BUDs stand for?

Re: Many games are held together by duct tape

#89
post #35

Earlier quoted context omitted.

Thanks to Breath of the Wild, I've recently enjoyed watching a few speedruns and it's amazing to see the number of glitches in BoTW. Check this out https://www.youtube.com/watch?v=JEtHpCfi_DE I also don't understand how anyone can accept speedrunning through glitches as a world record, but I guess if everyone does the same run with similar or the same glitches then it's fair? Seems like it just becomes a race to know…

A lot of the glitches in breath of the wild are just systems of the game interacting in weird ways. There are sometimes "glitchless" categories, but sometimes it's very difficult to figure out what is and is not a glitch. Calling something a "glitch" or not is a surprisingly subjective thing. To one player it may be a legitimate use of the bullet-time mechanic to turn frozen enemies into physics cannons while shield-…

This can get super heated. There was a controversial "glitchless" run of Mirror's Edge at GDQ a few years back...

Sometimes people make a "no major glitches" or "no OOB" category, where specific glitches are disallowed, but others are allowed.

Re: Many games are held together by duct tape

#90
post #3

To be fair,everybody in web development knows the same thing is true for the internet.

s/web/software/ s/internet/everything/ I can't tell you how many times I have to reteach myself this lesson. I'm not advocating for writing sloppy/bad code on purpose but I fall into the trap way too often of trying to make my code a work of art or overly-clever. No one cares, don't spend twice the time to try to abstract something within an inch of its life. Write working code and move on. Once you've done something…

> I'm not advocating for writing sloppy/bad code on purpose

Well, if the “ugly” code works the same as the “pretty” code, but the ugly code can be developed faster than the pretty code, then you should definitely prefer the ugly code: in fact, if this is the case, the ugly code should be considered state-of-the-art because it can be written faster. Since we all accept that the pretty code takes longer, it had better pay for itself in some way. The theory is that the pretty code is easier to maintain over time: it takes longer up front, but when it comes time to make a change, since the code is so maintainable, the change is easier to make. Although that makes intuitive sense, I can’t say that that’s been my experience; in 30 years of software development, I’ve never come across code that’s particularly easier to make changes to than any other. I’ve tried to take maintainability into account when I’m writing code myself, and I can’t even think of a time when I had to make a change and found that my foresight saved me time and effort.

It doesn’t help much that none of us agree on what “good quality” code looks like: everybody seems to call all code “bad”. I’ve I’d like to see software development advance a bit in terms of professionalism where we at least agree on the principles of high-quality software code, and the principles are objectively defensible in terms of what the cost/benefits of following them are.

Post reply on HN