DVDロゴを角に入れる (2023)
(eieio.games)- 子どものころ誰もが待ち望んだ「DVDロゴが画面の角にぴったり当たる瞬間」を、45秒の PICO-8アーケードゲーム にしたプロジェクト
- ひとつのジョークに集中した小さなスコープのおかげで、前作ReShapeより UIの複雑さと制作負担 が減り、PICO-8を学ぶのにちょうどよい実験になった
- PICO-8は衝突判定やパーティクルまで自分で扱う必要がある 制約の多いファンタジーコンソール であり、小さなゲームにも一貫した手触りを与える
- 内蔵コードエディタの不便さは、VS Codeの
pico8-ls拡張とinclude code.pb構成で回避したが、言語リファレンスの検索性にはなお不満が残った - 単純なメカニクスでも 強いテーマ があれば説明もしやすく共有しやすいし、PICO-8の制約は小さな成果物をそのままリリースしやすくしてくれる
45秒のDVDロゴゲーム
- 「Put the DVD Logo in the Corner」は、DVDロゴを画面の角に当てる 短いアーケードアクションゲーム
- PICO-8で制作され、開発期間は2023年6月27日から6月30日までの 4日間
- プレイ時間は約45秒で、これ以上長くする意図はなく、ジョークと子どものころの願望を中心に作られている
- ゲームは itch で公開されており、コードは GitHub で見られる
- 友人たちがハイスコアを送ってくる体験が楽しく、執筆時点で友人の最高スコアは21点、開発者のスコアは26点だった
PICO-8で作った最初のゲーム
- PICO-8は、実在しないコンソール向けのエミュレータのような ファンタジーコンソール
- 1980年代のコンソールを模したグラフィック、サウンド、コードサイズ、処理速度の制限がある
- コンソール内でスプライト、音楽、効果音を作成し、コードを書くことができる
- 現代のゲームエンジンよりツールはシンプルで原始的
- 衝突判定はピクセル単位で自分で扱う必要がある
- パーティクル効果も自分で画面にピクセルを描く形で実装しなければならない
- こうしたシンプルさと制約は、PICO-8のゲームに比較的一貫した雰囲気を生み、制約が創造性を生むという点を前向きに受け止められるようにする
- 最もよく知られているPICO-8ゲームのひとつは、ゲームジャムで作られたオリジナル版の Celeste
- PICO-8版Celesteは正式版ゲーム内でイースターエッグとして遊べる
PICO-8の開発ツール体験
- PICO-8には スプライトエディタ、効果音エディタ、音楽エディタ、コードエディタが含まれている
- スプライトエディタではAsepriteが恋しかったが、PICO-8内で直接スプライトを編集できる点はよかった
- 効果音エディタは最初かなり直感的ではなかったが、Gruberの動画 を見たあとすぐに慣れた
- 音楽エディタはキーボード演奏に慣れた開発者にとって非常に快適というわけではなかったが、比較的直感的だった
- コードエディタが最も不便な部分だった
- エディタの幅を広げても行の長さは伸びず、フォントが大きくなるだけだった
- PICO-8開発陣が特定のコンソールらしさを意図しており、その目的には合っていたが、自分には耐えがたい方式だった
VS Codeで回避したコード執筆フロー
- 内蔵コードエディタの代わりにVS Codeを使うため、pico8-ls 拡張をインストールした
- この拡張はシンタックスハイライトとAPIリファレンスを提供する
- メインのPICO-8ファイルには
include code.pbだけを入れ、実際のコードはcode.pbに書いた - この構成が必要な理由は、PICO-8がコードとスプライト・音楽データを 同じファイル に保存するため
- 同じファイルをVS CodeとPICO-8で同時に編集したくなかった
- この作業方法には全体として満足していたが、PICO-8言語リファレンスをもっと簡単に検索する方法が不足していた
- PICO-8 manual は、関数名だけを対象に検索するような絞り込み検索がしにくかった
制約が小さなゲームの公開を容易にする
- 開発中にはいくつもの拡張アイデアが浮かんだ
- 時間を延ばすトークン収集
- TVやDVDロゴのアップグレード
- ロゴを邪魔する敵
- Vampire Survivors クローンのような方向性
- Godotで作っていたら、こうした衝動をもっと試していたかもしれないと考えている
- PICO-8はシンプルなので、現在の状態のとても小さなゲームをitchに上げることが自然に感じられた
- PICO-8のシンプルさは、シンプルな成果物 を出してもよいという許可のように働く
テーマがゲームを説明しやすくする
- ゲームのプレイヤーとしては、ストーリーやテーマを飛ばしてメカニクスに集中することが多かった
- 子どものころはカットシーンを飛ばしていたし、Path of Exile を何百時間もプレイしたが、話の内容は説明できないという
- 逆に好きなゲームである Outer Wilds は、物語とメカニクスの両方が重要だった
- ゲームを作るときも、テーマはそれほど重要ではないと思っていた時期があった
- ReShape TD と click, click, trick はメカニクスはあるが、何についてのゲームなのか説明しにくかった
- 「Put the DVD Logo in the Corner」はその正反対だった
- メカニクスは「小さな長方形を大きな長方形の角に当てる」というひとつだけ
- メカニクス自体はそれほど刺激的ではないが、テーマ のおかげで人に説明すること自体がいちばん楽しかった
- 今後ゲームを作るときにもこの点を覚えておきたい
次の作業
- このゲームとPICO-8での制作を楽しみ、さらに小さなアーケード感のあるゲームを作りたいと思っている
- その後は OpenSearch仕様 を使って、Firefoxのアドレスバー内で動く何かを作るアイデアを試していた
- 2024年7月5日の更新では、OpenSearchを使って FirefoxのアドレスバーでWordleを動かした と明かしている
1件のコメント
Hacker News のコメント
Recurse Centerについて読んで驚いた。プログラマー向けのアーティスト・レジデンシーのような場所に見える。
アーティストとしてレジデンシーに滞在したことがあるが、新しい視点を開くのに大いに役立った。科学分野にも、ばかげていること、つまり非商業的で非競争的なことを試せる機会がもっとあるといいと思う。社会にとって有益だろうし、少なくとも運よく参加できた個人には確実に役立つはず。
https://www.recurse.com/
合格してもタイミングが合うまで延期できるし、無料です。収益は就職あっせんから来ていますが、応募時に仕事を探しているわけではないとはっきり伝えました。
Recurse が私にしてくれた最大のことは、自分の好みと再びつなげてくれたことです。最初に行ったときは、スコアと弱いテーマのある普通の Flash 風ゲームを作っていましたが、そこでずっと奇妙な方向へ進みました。最初のプロジェクトの一つは、OpenSearch 仕様を悪用して Firefox のアドレスバーで動く Wordle を作ることでした。
https://eieio.games/nonsense/implementing-wordle-in-the-fire...
こういうものを作るには完璧な場所でした。人々が励まし、支え、関心を示してくれたので、自分が本当にやりたかったタイプの作品にも人が興味を持ってくれるのだと気づきました。RC での12週間でゲームを8本公開したと思いますし、RC がなければ今作っている種類の作品を始められなかっただろうと思います。ゲームだけでなく、いろいろな技術分野で同じような経験をする人は多いはずです。自分の関心に対するプロダクトマーケットフィットを見つけるような感覚です。
RC は、似たことをしている人たちともつなげてくれました。コミュニティは大きく親切で、良い意味で変わっています。プログラミングをし、より良いプログラマーになりたい人のための作家ワークショップのような場所です。
RC を宣伝しすぎているように見えるかもしれませんし、実際そうなのですが、お金をもらっているわけではなく、感謝している卒業生にすぎません。今も RC のスペースでこれを書いていて、ときどき立ち寄ってバッチ参加者と話したり作業したりしています。
今でも、なぜ価値があると感じられなかったのか正確には言い当てにくい。
たぶん場所のせいだったのかもしれない。New York City は高く、無給休職に耐えられる貯金はあったものの、多くのものが不合理に高く見えた。New Yorker は不親切だという評判も距離感を強めた。他の人たちの絶賛は聞いていたが、一部の訪問者が街で完全には歓迎されていないと感じるように、Recurse Center の環境とはうまく合わなかった。
それでも良い点は、一部のレジデントや卒業生が技術業界でかなり有名になったことだ。スペースで偶然出会うと、深い会話につながることがある。自分の時期には Robert Lefkowitz や Filippo Valsorda のような人たちに会え、かなり素晴らしい経験だった。
https://www.recurse.com/residents
https://www.linkedin.com/in/r0ml
https://filippo.io
School for Poetic Computation は New York City とオンラインで運営される実験的な学校で、アート、コード、ハードウェア、批評理論を横断する学びを支援している。学び、学んだことを振り返る場所だ。
https://youtu.be/QOtuX0jL85Y?si=Kwo8OZSYOVzoI-Uh
外せない The Office ネタ。
そもそも正確に角に当たることがどう可能なのかもよく分からない。
数秒間、自分がおかしくなったのかと思った。
開発者です。これがトップページに上がっていて楽しい surprise でした。共感してもらえてうれしいですし、PICO-8 もぜひ試してみてほしいです。
質問があれば答えられます。その後 PICO-8 のゲームを完成させたことはなく、私の作品はさらに奇妙になりましたが、PICO-8 が恋しいし、Playdate と Picotron のアイデアをいじっています。
https://news.ycombinator.com/item?id=40800869
こういうものを見ると PICO-8 が本当に好きになる。Macromedia Flash MX で ActionScript を初めて発見して以来、使ってきたコーディング環境の中でも最も楽しい部類に入る。
コード、サウンド、グラフィックは高解像度の現代的なエディタで作業しつつ、解像度、CPU 性能、API といった制約はそのまま残っていてほしい。
DVD ロゴが画面の角になかなか当たらないことから来る心理的・社会的苦痛を扱ったこの話にも触れておく価値がある: https://www.youtube.com/watch?v=_ws0QtAiiXQ
単にスクリーンセーバーを見たいなら、以前作ったものがある。
https://stanchak.github.io/dvd/
これは Playdate で本当に面白くなりそう。小さなクランクで時間を進め、正しいリズムを維持したら追加点を与えるようにもできそうだ。
たった今作ったものなのでかなり基本的だが、フォークしてもよい。
https://github.com/uguu-org/playdate-dvd
Pam は会議室に一人でいたときに DVD ロゴが角に当たるところを見たと主張している。本人はそう見たと信じているようだ。
ゲームの直接起動リンク: https://itseieio.itch.io/dvdlogo
ソースコード(PICO-8): https://github.com/nolenroyalty/put-the-dvd-logo-in-the-corn...
本当に楽しかったし、PICO-8 環境の説明も良かった。19点を取ったが、終盤は運が良かった気がする。