Live data from Hacker News

VVVVVV’s source code is now public, 10 year anniversary jam happening now

distractionware.com

161–170 of 232 posts

Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now

#161
Terry Cavanagh is one of the greatest game designers of our time. His simple mechanics and designs often remind me of something like Chess or Go, where a simple ruleset covers a massively deep game, or is used to communicate a story in a very minimalist fashion. Don't Look Back is one of my favorites: https://terrycavanaghgames.com/dontlookback/

A few years back, he did a beta of a game called Four Letter Word... Though that's not the real title: http://distractionware.com/blog/2011/11/the-four-letter-word... The real title is a set of cryptic non-alphabet characters.

It was like an Atari 2600 cartridge from a space alien. It featured 2600-style graphics, a hidden hard-as-nails FPS game, and a buncha hidden 2d content that seems simple at first, but was super intriguing. So crazy non-traditional, and with some obscure mechanics, it was one of my favorite things I've ever played, and he never finished it, sadly. I love cryptic games, and I love simple mechanics taken to extreme conclusions. That's why I adore Terry.

Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now

#162
post #146

Earlier quoted context omitted.

The source is being shown to the public. It's not open for them to use. To argue otherwise is to confuse a window with a door.

The analogy doesn’t really hold. Is a bathroom door at a grocery store called a “window” rather than a “door” if they prohibit you from bringing unpaid groceries through it?

I have no idea what you're going for here. I feel like Programmer Analogies always rely on the reader agreeing with the author... :|

Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now

#163

Earlier quoted context omitted.

> This is not really out of the ordinary for successful, released, real games Well said. A lot of people will nitpick and talk big about how they would use proper abstraction and write very clean code, but probably none of those people have ever had a successful indie game out.

To be fair, one of the most vocal advocates of higher code quality is Carmack, who has put out a few games. What I’ve seen is that it’s hard for someone who’s not released a game before and supported it post-release to know where and how you can sacrifice code quality for a faster development time.

Right, but at the same time what Carmack considers quality code may well be considered low quality by non-game devs because it's too complex, too magical, not documented enough or whatever. Context matters; some code is one game developers beauty; while it's some other developers nightmare.

I'm not a game developer, but I've worked with enough game developers to realize they have a completely different mindset and point of view from mine. It doesn't make them wrong, and it doesn't make me wrong either, it's just that – different points of view, different contexts, different constraints. I have immense respect for game developers.

I'll play Battlefield 1 or Horizon Zero Dawn and marvel that they can get a stable 60 or 30 FPS despite seemingly infinite complexity, all the while I'm struggling to filter a grid with 250 rows in a web browser...

You're absolutely right – no one knows better where to sacrifice quality (whatever that means) for dev time or performance, than game devs.

Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now

#164
post #82
post #62

Earlier quoted context omitted.

Why? The source is open to the public?

The term “Open Source” has a precise definition, determined by the Open Source Initiative, who invented the term and started promoting it. Nobody used this term in software contexts before they did. They get to define it.

Not sure why this is downvoted. One of the criteria when the term "open source" was decided on by the people who went to form the OSI was that it must not have (much) documented earlier use in order to become eligible for trademark protection.

It was always meant to be a trademark, even if they ended up losing that particular battle. It was deemed to descriptive and generic to be trademarkable, IIRC. The OSI published their criteria anyway, enforced it as much as they could, and really publicized the term over the years. Of course they get to define it.

Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now

#165

It’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 are a few WTFs in here, like the "int i, j, j;" in Script.h.\

> This is not really out of the ordinary for successful, released, real games.

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.

Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now

#166
post #72

Oh gods. VVVVVV's core mechanic is that you don't so much "jump" as you just flip gravity, and you only get to do so when your feet are firmly on the floor. This leads to some very interesting designs. The stage "Veni Vidi Vici (Doing Things The Hard Way)" is possibly the evilest level I've ever completed in a video game. Just a tiny little block, trivial to jump over, but the lack of a jump button means you have to.…

The first time not dying going up and down in ‘Veni Vidi Vici’, I was so exited, that I landed on the wrong side of the box ...

Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now

#167
post #141

Earlier quoted context omitted.

To be fair, one of the most vocal advocates of higher code quality is Carmack, who has put out a few games. What I’ve seen is that it’s hard for someone who’s not released a game before and supported it post-release to know where and how you can sacrifice code quality for a faster development time.

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 something I really care about. The SOLID guidelines also regularly conflict with YAGNI.

Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now

#169
post #121

Earlier 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…

only 4 hours? Im impressed. I took 8h to 12h with 5k deaths!

Oh, it took me over 4 hours (maybe even 5 or 6) but my memory is fuzzy enough that 4 was the lower bound I could confidently say. Same with my death count. 1000 is the lower bound, it could have been 2000-3000 range

Re: VVVVVV’s source code is now public, 10 year anniversary jam happening now

#170

It’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…

> 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

Post reply on HN