VVVVVVのソースコード公開
(github.com/TerryCavanagh)- 2010年のインディーゲーム VVVVVV のソースコードが公開され、ゲーム制作は Terry Cavanagh、音楽は Magnus Pålsson が担当
- デスクトップ版のソースコードはリポジトリの desktop_version フォルダにある
- VVVVVV は現在も 商用販売 されているが、個人利用目的のビルドは自由にコンパイル可能
- コンパイル済みバージョンを 配布 するには、リポジトリの LICENSE.md を確認する必要がある
- VVVVVV のアップデートに関する議論は、非公式 VVVVVV Discord の
vvvvvv-codeチャンネルで主に行われている
公開されたソースコード
- このリポジトリには、Terry Cavanagh による 2010年のインディーゲーム VVVVVV のソースコードが収められている
- ソースコード公開の発表は Terry のブログ告知で確認できる: announcement
- デスクトップ版のソースコードは desktop_version フォルダにある
利用と配布条件
- VVVVVV は thelettervsixtim.es で現在も 商用購入 できる
- 個人利用目的であれば、ゲームを自分でコンパイルできる
- コンパイル済みのゲームバージョンを配布するには、LICENSE.md を確認する必要がある
アップデート議論チャンネル
- VVVVVV のアップデートに関する議論は、非公式 VVVVVV discord で主に行われている
- 関連チャンネルは
vvvvvv-code
1件のコメント
Hacker Newsのコメント
高校の終わりごろ、家族とLondonに行ったとき、ゲーム開発者になりたくてTerry Cavanaghにメールを送ったら、驚いたことに、昼食を一緒に食べようと快く応じてくれた
本当に親切で、いろいろ人生の助言もしてくれた。アイデアの大半は壮大なビジョンから生まれるのではなく、ゲームメカニクスをいじりながら実験する中で得られる、と言っていたのを覚えている。とにかく素晴らしい人で、彼がVと呼んでいたVVVVVVをオープンソースとして公開してくれてうれしい
本当にひどい人を何人か見てみないと、本当にいい人をちゃんと見分けられない
本当に面白いゲーム。ものすごくゲームをやるほうではないけれど、これを手に入れるためにHumble Bundleを買ったのを覚えている
最後までプレイした数少ないゲームの一つだった。Terry、素晴らしい仕事と楽しい時間をありがとう。ついでに、veni vidi viciは本当に悪態をつきたくなるほど難しく、かなり時間がかかった
https://www.youtube.com/watch?v=4CtiY5D6HCs
当時の彼氏はVVVVVVを買ってくれた人で、ノーデス全トリンケット走破に挑戦していた。いったいどれだけゲームがうまいのか理解できなかった。そしてVVVVVVのサウンドトラックであるPPPPPPは今でもよく聴いている。特に関連するosu!のストリーム曲が好きだ
関連記事。ほかにもあるのか気になる
Is opening up your source code worth it? Terry Cavanagh thinks it was for VVVVVV - https://news.ycombinator.com/item?id=25727963 - 2021年1月
Many games are held together by duct tape - https://news.ycombinator.com/item?id=22043156 - 2020年1月
VVVVVV Source Code Released - https://news.ycombinator.com/item?id=22011465 - 2020年1月
VVVVVV’s source code is now public, 10 year anniversary jam happening now - https://news.ycombinator.com/item?id=22011358 - 2020年1月
VVVVVV 60% Off On The Mac App Store This Weekend - https://news.ycombinator.com/item?id=2347676 - 2011年3月
Graphics::print_level_creator(...)のコメントには、「by {author}」の代わりに顔を表示すると書かれている「by」が作者の言語と違って不自然に見えるかもしれず、別の言語では長くなって既存のレベル制限を壊す可能性があり、「by」と作者名で互いに合わないフォントが必要になるかもしれず、性別や名前の屈折のような文法上の問題も避けられ、顔で表示するのは筋が通っていて、この決定で悲しむ人がいても笑顔がどうせ元気づけてくれる、という理由だった。反論しにくい
記事にリンクされているhttps://distractionware.com/blog/2020/01/vvvvvv-is-now-open-...では、C++版には、先にFlashで作って欠点までそのまま手作業で移植したことを思い出さないと理解しにくい奇妙な部分が多い、と述べていた
たとえば、
i、j、kのような一時変数を関数内で宣言しないように、各クラスのメンバーとして宣言する癖があり、Flashでは退屈な理由から関数内での宣言が面倒だったためだという。その結果、追跡しにくいバグが生じ、特にエンティティの衝突処理では複数の関数が同じi変数を共有していたため、無限ループも起こり得たという。本当にひどく見えるし、ゲームコードはぐちゃぐちゃだという偏見を裏付けているコードは素晴らしくても退屈なこともある。よく書かれているが実装が味気ない電卓アプリのようなものだ。コードがぐちゃぐちゃで退屈なこともある。何百もの例外条件があり、それぞれに似ているが互いに異なるバグが多い、設計不足のB2B製品のような場合だ。コードが素晴らしく、かつ面白いこともある。Doomのようなものだ
this.を付けなければならないことが、ずっと気にならなくなった同じ制作者の Super Hexagon にも触れておきたい。ものすごくシンプルなのに本当に面白く、中毒性が高いゲーム。
どこかで、制作者が1日ほどしかかけずに作ったと読んだ記憶がある。それから VVVVVV のサウンドトラックである PPPPPP も素晴らしい。
固有キャラクターが6人ほどいて、キャラクターごとに複数のチャレンジがあり、ルールが絶えず変わるのでゲームを考え直させられる。ユーモアも多く、まだ試せていない無料DLCやModコンテンツもある。
インディー開発者が初期の成功の後にまったく新しいジャンルへ舵を切るのはいつも興味深いし、そういう形で素晴らしい宝石のような作品が生まれてきた。たとえば Fallen London -> Sunless Sea -> Cultist Simulator のような流れだ。
最初は不可能に見えるが、脳が適応する。まるで マトリックスの向こう側を見る ような感覚だ。
何人もの人にも共有して、みんなを夢中にさせた。今でも Steam のインベントリに5〜6個くらい残っているはずだと信じている。念のために。V、SMB、Braid、その他多くのゲームも同じだ。時には小さなひらめきと粗いグラフィックだけで十分なのだ。
カナダから California に引っ越してきたばかりで、仕事がどうしても必要だった時期があり、Comcast で訪問販売の仕事を得た。
その仕事が嫌いで、よく車の中に座って責任から逃れながら、携帯で VVVVVV をプレイしていた。Terry のおかげで少し息をつくことができた。
素晴らしいゲーム。その時代のインディーゲームらしく、コードが 本当にめちゃくちゃ で、見ていて良い。
Game::updatestate()関数と巨大な switch 文 だ。Zig 用にパッケージ化しておいたので、
zig buildを実行するだけで Linux、macOS、Windows でゲームをプレイできる。https://github.com/allyourcodebase/VVVVVV
関数内で使うたびに宣言したくなくて、すべてのクラスに
i、j、kを宣言しており、予想どおり汚くて厄介なバグが起きたと告白していた。そんなコードで良いゲームを作り上げたことに驚く。