Earlier quoted context omitted.
It is different for technical terms. It's perfectly fine if I told a novice mathematician, "no, wait, that's wrong, a Riemannian manifold is..." We have a precise, technical definition of open source precisely so we can judge when a license satisfies the legal freedoms that open source demands.
Perhaps, but "open source" isn't a technical term, and anyway there are lots of vaguely technical terms that have a subtly different layman's definition anyway. Categorizing certain phrases as "technical terms" to which different rules apply is just another form of linguistic prescriptivism, after all.
VVVVVV’s source code is now public, 10 year anniversary jam happening now
171–180 of 232 posts
Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now
#172It’s always great to be able to study the source code for successful, released, real games. I will note that this is actually the source code of the C++ rewrite! The original game was written in Flash, and this version was apparently written by Simon Roth. My impressions: The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes (…
> The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes ( https://wiki.c2.com/?GodClass ), and in general you will have to do a bit too much archaeology to figure out what a particular class or member function is supposed to do (the function and class names don’t give you enough, and there are no comments to help out). There a…
And Minecraft is one of the best examples for a game that is still paying for such a development style.
Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now
#173Earlier quoted context omitted.
> The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes ( https://wiki.c2.com/?GodClass ), and in general you will have to do a bit too much archaeology to figure out what a particular class or member function is supposed to do (the function and class names don’t give you enough, and there are no comments to help out). There a…
Game development mostly relies on getting creative stuff implemented fast, not good. And if it works then it works, why spend any more time on it if you can implement even more cool ideas (or release it). And Minecraft is one of the best examples for a game that is still paying for such a development style.
But most games aren't in continuous development to the extent Minecraft is
Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now
#174It’s always great to be able to study the source code for successful, released, real games. I will note that this is actually the source code of the C++ rewrite! The original game was written in Flash, and this version was apparently written by Simon Roth. My impressions: The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes (…
> The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes ( https://wiki.c2.com/?GodClass ), and in general you will have to do a bit too much archaeology to figure out what a particular class or member function is supposed to do (the function and class names don’t give you enough, and there are no comments to help out). There a…
Edit, I've been informed that the direct link has a NSFW redirect, so using archive.org instead
Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now
#175Earlier quoted context omitted.
> The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes ( https://wiki.c2.com/?GodClass ), and in general you will have to do a bit too much archaeology to figure out what a particular class or member function is supposed to do (the function and class names don’t give you enough, and there are no comments to help out). There a…
> Maybe these supposed anti-patterns don't really matter as much as we think they do for successful software? Given that plenty of successful software has them. There's more than one variable involved. You can write successful software full of anti-patterns, but you'll probably pay for it in some other way (like increased QA effort or a low bus-factor [1]). [1] https://en.wikipedia.org/wiki/Bus_factor
Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now
#176Earlier quoted context omitted.
> The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes ( https://wiki.c2.com/?GodClass ), and in general you will have to do a bit too much archaeology to figure out what a particular class or member function is supposed to do (the function and class names don’t give you enough, and there are no comments to help out). There a…
This is a classic, but I think it applies here: https://web.archive.org/web/20200108125657/https://www.jwz.o... Edit, I've been informed that the direct link has a NSFW redirect, so using archive.org instead
Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now
#177Earlier quoted context omitted.
> The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes ( https://wiki.c2.com/?GodClass ), and in general you will have to do a bit too much archaeology to figure out what a particular class or member function is supposed to do (the function and class names don’t give you enough, and there are no comments to help out). There a…
> Maybe these supposed anti-patterns don't really matter as much as we think they do for successful software? Given that plenty of successful software has them. There's more than one variable involved. You can write successful software full of anti-patterns, but you'll probably pay for it in some other way (like increased QA effort or a low bus-factor [1]). [1] https://en.wikipedia.org/wiki/Bus_factor
e.g., bus factor has to be weighted a lot more highly on software that needs to be maintained indefinitely than it does on software that is going to be shipped on a fast-approaching deadline and then (probably) never touched again.
Also, bus factor's importance depends on the size of the team. In the limit case - a 1-developer project like VVVVVV - it's meaningless.
Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now
#178Earlier quoted context omitted.
> is possibly the evilest level I've ever completed in a video game That was the case for me too, until I recently picked up the game Celeste . Some of the C-sides were so evil I just gave up and never beat them (I have a wife and kids, time is limited). This is coming from someone who generally likes hard games (big fan of Dark Souls series, for example, and yes, I know "hard" is relative). The Celeste Chapter 9 gol…
I got sucked back into Celeste recently; as of last night, the only golden berries left for me are 5B-8B, Farewell, and the dashless winged berry for 1A. (I also haven't gotten the moon berry yet, I kind of forgot about it when I was polishing off the red berries earlier). At the same time, it's easy to believe that this is as far as I'll ever make it; part of what makes going for golden berries so addictive to me is…
Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now
#179Earlier quoted context omitted.
Yeah but carmack style quality isn't as SOLID as people want to. Game devs have always also factor in performance, that's what other dev communities have lost. Apart from embedded devs.
I would caution people against taking SOLID as a measure of code quality. That’s a trap. SOLID is just a set of object-oriented design principles, not laws. If you take the guidelines too seriously, you will end up with a damaged code base which is difficult to read or understand. Having spent quite some time in id Software code bases, I will defend them as being high quality, but whether or not they are SOLID is not…
Guiding principles are a good thing, but the one principle that should top them all is "no dogma".
Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now
#180It’s always great to be able to study the source code for successful, released, real games. I will note that this is actually the source code of the C++ rewrite! The original game was written in Flash, and this version was apparently written by Simon Roth. My impressions: The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes (…
> The source code is a bit of a tangle here. There are magic numbers ( https://wiki.c2.com/?MagicNumber ) all over the place, plenty of god classes ( https://wiki.c2.com/?GodClass ), and in general you will have to do a bit too much archaeology to figure out what a particular class or member function is supposed to do (the function and class names don’t give you enough, and there are no comments to help out). There a…
A game like VVVVVV is, once a class is created, unlikely to be changed a thousand times. It wouldn't scale if you had 200 people working on it with new people coming in and leaving all the time. But at the end it doesn't really matter much in this case, and isn't the right thing to focus on while coding up a game.
> Maybe these supposed anti-patterns don't really matter as much as we think they do for successful software
They matter a lot for some software more than others. All software is a set of tradeoffs in some ways or another - in this case its attention to things like perfect class naming.