from Hacker News

VVVVVV Source Code

by radeeyate on 5/6/25, 11:22 PM with 93 comments

  • by gallerdude on 5/7/25, 4:47 AM

    When I was near the end of high school, my family visited London, and I was thinking about being a game dev. So I sent Terry Cavanagh an email, and to my surprise he completely agreed to get lunch.

    He was extremely kind, gave me a lot of interesting life advice. I remember him saying that he got most of his ideas just from playing around with mechanics and experimenting a lot, he was never really one to get grand visions.

    Anyways, great fellow, glad he opened source V (as he called it).

  • by peterldowns on 5/7/25, 1:38 AM

    Incredibly fun game, I'm not a huge gamer but I remember buying the Humble Bundle just to get this. One of the few games that I've spent the time to finish. Awesome work, Terry, and thank you for the great times!

    btw also fuck you for veni vidi vici, jeez that took me a while!

    https://www.youtube.com/watch?v=4CtiY5D6HCs

  • by dang on 5/7/25, 1:52 AM

    Related. Others?

    Is opening up your source code worth it? Terry Cavanagh thinks it was for VVVVVV - https://news.ycombinator.com/item?id=25727963 - Jan 2021 (16 comments)

    Many games are held together by duct tape - https://news.ycombinator.com/item?id=22043156 - Jan 2020 (154 comments)

    VVVVVV Source Code Released - https://news.ycombinator.com/item?id=22011465 - Jan 2020 (1 comment)

    VVVVVV’s source code is now public, 10 year anniversary jam happening now - https://news.ycombinator.com/item?id=22011358 - Jan 2020 (223 comments)

    VVVVVV 60% Off On The Mac App Store This Weekend - https://news.ycombinator.com/item?id=2347676 - March 2011 (1 comment)

  • by hbn on 5/7/25, 1:27 PM

        void Graphics::print_level_creator(...) {
            /* We now display a face instead of "by {author}" for several reasons:
            * - "by" may be in a different language than the author and look weird ("por various people")
            * - "by" will be longer in different languages and break the limit that levels assume
            * - "by" and author may need mutually incompatible fonts, e.g. Japanese level in Korean VVVVVV
            * - avoids likely grammar problems: male/female difference, name inflection in user-written text...
            * - it makes sense to make it a face
            * - if anyone is sad about this decision, the happy face will cheer them up anyway :D */
    
    Hard to argue with that
  • by senand on 5/7/25, 1:27 PM

    Quote from https://distractionware.com/blog/2020/01/vvvvvv-is-now-open-..., linked in the article:

    --- snip ---

    There’s a lot of weird stuff in the C++ version that only really makes sense when you remember that this was made in flash first, and directly ported, warts and all. For example, maybe my worst programming habit is declaring temporary variables like i, j and k as members of each class, so that I didn’t have to declare them inside functions (which is annoying to do in flash for boring reasons). This led to some nasty and difficult to track down bugs, to say the least. In entity collision in particular, several functions will share the same i variable. Infinite loops are possible.

    --- snip ---

    This sounds so bad, and confirms my prejudice that gaming code is terrible.

  • by jmmv on 5/7/25, 4:35 AM

    I’ll take the chance to reference Super Hexagon by the same author. Incredibly fun and addictive game as well while being super simple. I recall reading somewhere that the author spent only a day or so writing it.

    And PPPPPP, the soundtrack for VVVVVV, is neat too!

  • by grep_it on 5/7/25, 5:29 AM

    There was a period of time in my life where I had recently moved to California from Canada and I was desperate for a job. I got a job doing door-to-door sales for Comcast. I hated it. I often sat in my car playing VVVVVV on my phone while shirking my responsibilities. Thank you Terry, for the reprieve.
  • by rafram on 5/7/25, 1:55 AM

    Awesome game. Good to see the code is authentically bad for an indie game of that era.
  • by kristoff_it on 5/7/25, 9:08 AM

    We have it packaged for Zig, just run `zig build` and you can play the game on Linux, macOS and Windows.

    https://github.com/allyourcodebase/VVVVVV

  • by damnitbuilds on 5/7/25, 12:49 PM

    He confesses to declaring i,j,k in every class so he didn't have to declare them in functions where he used them ( and (not surprisingly) that caused some nasty, difficult bugs ).

    Amazing that he ever made a decent game out of code like that!

  • by Centigonal on 5/7/25, 3:49 AM

    I remember when a certain someone on an irc channel shared the vvvvvv flash demo with me and some others. That game, that period of time, the early Humble Bundles -- all of that was pretty formative for me. Crazy to think that was almost 15 years ago.
  • by lazycouchpotato on 5/7/25, 4:59 AM

    If you liked VVVVVV, I suggest trying LOVE.

    https://store.steampowered.com/app/269270/LOVE/

  • by oneeyedpigeon on 5/7/25, 11:03 AM

    Looks like the game itself has one of the finest domains you'll come across: https://thelettervsixtim.es/
  • by throw4847285 on 5/7/25, 3:18 PM

    Cavanagh is one of my biggest indie game heroes. He's done it all, from weirdo experiments, satirical exercises, addicting arcade games, and games with surprising depth. It just shows that when you have a really good grasp of the medium, there's no reason to be limited by genre. A great game is a great game.
  • by babuskov on 5/7/25, 10:04 AM

    VVVVVV is very simple game but exceptionally well made. Tight controls coupled with interesting level layouts made it both a puzzle to solve (how to do a section) and then required dexterity to execute it.

    And music in this game is top tier.

    I remember getting it in a bundle which I bought for some other game, and VVVVVV turned out to be my favorite.

  • by kentonv on 5/7/25, 1:33 PM

    VVVVVV is a superb demonstration that graphics don't make a game -- music does.
  • by TZubiri on 5/7/25, 1:58 AM

    Loved the game, sweet and short.

    It's one of those twists that reward programmers that can think outside of the box and execute instead of downloading some generic libraries and making yet another platformer.

  • by pier25 on 5/7/25, 4:48 PM

    Oh man it's been so many years since I've read some AS3 code.

    I'm still pissed they abandoned the EcmaScript 4 proposal back around 2007-2008.

  • by lagniappe on 5/7/25, 3:59 PM

    Every time this is brought up, I think of https://vvvv.org/
  • by badc0ffee on 5/7/25, 3:49 PM

    I always felt that VVVVVV had c64-esque (or at least C64-inspired) graphics and music. I found out there's an actual C64 port of it: https://youtu.be/aY-OE5HPLv4
  • by kleiba on 5/7/25, 6:17 AM

    You can play a demo of VVVVVVV in your web browser here: https://www.kongregate.com/games/TerryCavanagh/vvvvvv-demo
  • by lproven on 5/8/25, 10:49 AM

    Could anyone explain for a non-gamer what this is?

    I gather it's a game, it's graphically simple but in fact is really hard, and it was a commercial success early on (due to a Humble Bundle?) -- but I haven't really played games since the ZX Spectrum was new. Never heard of it, or the developer, and I have no idea what people are/were excited about.

    (For other ZX Spectrum era folks: it sounds like a harder "Manic Miner" and I hated that.)

  • by moralestapia on 5/7/25, 5:01 AM

    Wow, this is great, I really enjoyed this game when it came out, what a pleasant surprise to see it was open sourced, truly a work of art.
  • by accrual on 5/7/25, 2:46 AM

    No way, this is very cool! I loved playing through VVVVVV. The first level music still lives and plays in my head from time to time.
  • by cess11 on 5/7/25, 7:26 AM

    At first I thought it would be some kind of successor to https://vvvv.org/, which I hadn't looked at in years.

    The game looks fun, might give it a spin.

  • by theyinwhy on 5/7/25, 5:23 PM

    Such a great gesture for one of the best platformers ever released.
  • by neonsunset on 5/7/25, 1:18 AM

    Was very confusing to see C++ and ActionScript until I realized this is VVVVVV and clearly not VVVV!
  • by gitroom on 5/7/25, 12:32 PM

    been cool seeing how much small games like this stick in my head years later honestly. you think chasing clean code slows down the creative part or helps it?
  • by woleium on 5/7/25, 1:41 AM

    tangentially related, great to see https://www.iiiiiiii.com/ is still going