Live data from Hacker News

Many games are held together by duct tape

polygon.com

21–30 of 155 posts

Re: Many games are held together by duct tape

#21
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…

Sounds more like too little care rather than too much. Of course it also depends on how much maintenance is going to occur on that code. I think in production code one should already look for an abstraction if something is done twice. The goal is not to create a work of art or an abstraction that stands the test of time. It is just to remove some duplication, distribute code a little better over functions, give things names that are somewhat better and so on. If one does a bit of that every day one is never going to be in a horrible mess. One problem is that people sometimes think that refactoring is all or nothing. You either refactor nothing or you go all the way to adhere exactly to design patterns. Neither of these two extremes produces very good code. The middle way is where the good code is.

Re: Many games are held together by duct tape

#22
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…

Most games' source are real messy. And it's ok. Don't be ashamed.

When I find an open sourced game engine that has been patched and improved by the community, ported to OpenBSD, made run smoother on my hardware, etcetra., I don't think "what a shame the code is so messy." I think "I'm so glad they released the source code and allowed this to happen!"

It's very sad to see so many games that I'd potentially like but then I run into little issues that nobody is ever going to fix without the source (or a complete remake, as in the case of e.g. OpenMW, but these projects are not very common and few of them ever mature).

Game developers often think of gamers as very entitled people, but flip side is that gamers are usually left on their own with their problems and they aren't given the tools to fix them while the developer is too big or busy (or both) to care.

Re: Many games are held together by duct tape

#23
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…

Could you take pride in rewriting the code? Maybe as an open source adventure with others?

Going through the shame of showing it off is more valuable on its own merits than leaving it as is, regardless of the code quality or social outcomes.

Re: Many games are held together by duct tape

#24
post #7
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…

> There is less need for long term support as games are expected to meet its twilight much sooner. I think this is true for the majority of games. But I wonder if it remains true for the most successful. e.g. GTA V released in 2013. Apparently as of 2018 it saw $6B in revenue. Though, surely a lot of this has to do with the new content they introduce to incentivize microtransactions. Fortnite was a paid early-access…

I'm not sure about the others but Minecraft's code was notoriously bad for years, but it didn't seem to hold it back.

Re: Many games are held together by duct tape

#26
When you are making a game, priority number one is always that you are indeed making a game, and not how.

(substitute "game" for anything you want to do)

I love elegant code, but in the end it's never _more_ important than the game itself.

Re: Many games are held together by duct tape

#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.

Re: Many games are held together by duct tape

#28
post #7
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…

> There is less need for long term support as games are expected to meet its twilight much sooner. I think this is true for the majority of games. But I wonder if it remains true for the most successful. e.g. GTA V released in 2013. Apparently as of 2018 it saw $6B in revenue. Though, surely a lot of this has to do with the new content they introduce to incentivize microtransactions. Fortnite was a paid early-access…

Games with online multiplayer are frequently closer to saas than fire and forget. This change started happening publicly mid 2000s with people like ncsoft describing games this way.

I miss the 'be big and better each release', fire and forget of the 90s but it's long gone.

Re: Many games are held together by duct tape

#29

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…

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 every glitch in the game.

EDIT: I just want to say thank you to the replies that explains the mechanics and categories of speedrunning.

Re: Many games are held together by duct tape

#30

Nit: I wish people wouldn’t mention programming and computer science in the same essay, unless it’s something very technical such as discussing synchronization algorithms. Most programming isn’t science. Most programming isn’t even engineering. Most programming is contracting or DIY tinkering. We use ridiculous metaphors like constructing an airport, when most programmers are tradespeople working on renovations. Have…

> Have you ever inspected the work of a tract house builder? It’s awful and usually plays fast and loose with building codes.

This is a great metaphor. I work in construction management, and the quality difference between non-union commercial and union commercial firms (let alone a non-union resi contractor) is large enough that a lot of large commercial buildings have union contractor only exclusions (which is good for me, and better for the union tradespeople that perform the work)

Programming is far more trade-like than most programmers would like to admit..

Post reply on HN