まさかここまで簡単だったとは!あなただけのスペースインベーダーが作れる驚きの方法
引用元:https://news.ycombinator.com/item?id=44956915
俺もSpace Invaderジェネレーターを作ってみたよ!
ライブ版はこちら: https://abetusk.github.io/iao/vadfad_1gen/
ソース: https://github.com/abetusk/iao/tree/main/vadfad_1gen
Jared Tarbellにインスパイアされたんだ。いい結果を出すのが意外と簡単だったよ。主要な構成要素は目、左右対称、そして小さな長方形内のランダムなピクセルだった気がする。
Jared Tarbellにインスパイアされたって、すごく共感するな。初期のコンピュータいじりの大部分を占めてたよ。初期のインターネットの宝石だよね。後のhttp://complexification.netもそう。残念ながら、FlashやJavaの終焉でほとんどの例が動かなくなっちゃったけど、ComplexificationならProcessingの.pdeソースをhttps://hello.processing.org/editor/#editorにコピペすれば動かせるよ。
これ、ブロック印刷の漢字やひらがな・カタカナみたいに見えるね。蛍光灯で照らされたビルの側面とかにぶら下がってそうな感じ。めっちゃクールだよ!対称じゃなかったら、もっと文字っぽく見えただろうな。
UIとランダムなカラーパレットが最高!素晴らしい作品だね。
この記事、モバイルで読んだ体験の中で一番良かったよ。
そうそう、キャンバスが「拾われる」感じ、ちょっとした喜びだったね!
お二人ともありがとう、本当に嬉しいよ。クリーンだけど、楽しくてパーソナルなものにしようと心がけてるんだ。
そこまで設定した努力は報われたって言えるね。ジェネレーターを作ったことと、それをシェアしてくれたこと、両方に拍手!
うわー、結果がめっちゃ良いね! https://muffinman.io/invaders/
記事から想像してたよりずっといいね。あと、oklchについても今日知ったよ! https://developer.mozilla.org/en-US/docs/Web/CSS/color_value…
Thanks, when I started experimenting I was pleasantly surprised with results I was getting. After some polishing and adding UI I think it really came together nicely.As for OKLCH, it is a big upgrade. Working with color from code is hard, and it really makes things easier. I also like HSLuv [1], but unfortunately it is not supported natively in browsers.
[1] https://www.hsluv.org/
The uniform lightness looks nice, but it’s a shame that the easily memorable hue values of HSL (0 = red, 120 = green, 240=blue) are lost.
Nice, just the other day I coded up some quick 2d shooter demo and realized I have no idea how to draw interesting sprites for it. What you’re doing here with drawing the generated vector onto different sizes of grid is brilliant. A sort of structured pulsation. Same simple technique can be used for both ”breathing” animation of a critter and for animating it into bigger, badder forms. Bravo.At this point (actually before even writing the comment) If your blog had a RSS feed I’d have subscribed to it… but (at least according to my RSS plugin) it doesn’t, so I fear I will miss out on your next inspiring writeups. Consider adding one, if you feel like it :-)
https://muffinman.io/invaders/#/size:15/main-seed:began-ever… is a favorite so far
Thank you! You can also think of the vector shapes as a kind of skeleton. I think that is one of the reasons it works well. Moving the limbs or increasing the size creates the illusion of movement and breathing. But it works well only while the grid is smaller and can hide the underlying shapes. Once the vectors start to emerge, it breaks the illusion. You could definitely improve it to work better at larger sizes, but I think you would need to introduce more constraints, which limits the random factor of the generator.If you end up using something similar in your game, I would love to see it!edit: It seems that I need to make the RSS link more prominent :)
There is an RSS feed, the link is in the top hamburger menu, but here it is:
https://muffinman.io/atom.xml
Sick, +1 sub from me. Thanks!
Apparently someone drew a space invader on this pigeon walking in front of me the other week ;-)
https://files.catbox.moe/pzwgr8.jpg
If you refresh the page the invader that gets generated as you read changes.
Stop it.ChecksOh my god. 11/10.
Haha I love your comment. I’ll let you in on a little secret - you can add a seed parameter to the URL to get a specific invader. It has to be an integer, otherwise it will be ignored.For example:
https://muffinman.io/blog/invaders/?seed=1234
いいね。皮肉な話だけど、これは侵略者を作って地球を救うみたいなものだね。ブルートフォースAIを使わない、まさにハッカーらしいやり方!高評価に値するよ。
ありがとう!AIって、こういうプロジェクトの楽しさを全部奪っちゃうと思うんだよね。創作過程の魔法がなくなっちゃうじゃん。
せっかくだからさ、rayvenをGitHubに公開しない?(実質的に)魅力的なベクターハッチングに使ったアルゴリズム、すっごく興味あるんだよね。
公開する計画はあるんだけどさ、あれって終わらないプロジェクトの一つなんだよね。今年中にはやっとリリースできるといいなと思ってるよ。
AIのせいで俺たちが消えるって言う人もいるけど、あれはただコーディングが嫌いなだけなんだよ。
言わせてもらうとさ、このウェブサイトは今まで見た中で一番素敵で、一番読みやすいサイトの一つだよ。
ありがとう、本当に嬉しいよ!
俺もこれに賛成!これは本当に良くできてて、いじってて楽しいよ。全体的に最高の出来だね!
すっごく興味深い記事だし、8ビットの美学とかレトロコンピューティング好きな人にはかなり楽しいよ。これを読んでて思ったんだけどさ、これって母なる自然がすべてをカニの形に進化させたいって願望の、人間によるデジタルの表れなんじゃない?スペースインベーダーの付属物の対称性とか機能を見てよ。結局、全部カニみたいに見えるじゃん。これってマトリックスの合流点を見てるのかな?
これ、ランダムアバタージェネレーターとしてめちゃくちゃ良さそう!
GliderっていうアプリでHacker News読んでるんだけど、これほとんどインベーダーみたいなゲームでさ、惜しいんだよね!
もっとコメントを表示(1)
楽しいハートのキャラクターがアニメーションするとDittoに変身するんだ、この多様性が最高!URLも見てみてね!https://muffinman.io/invaders/#/size:9/main-seed:officer-clo…
スクロールすると上部に固定されてる画像やアニメーションが、今話してることを視覚的に教えてくれるのがマジでいいね!普段はスクロール中の派手なページ変更とか嫌いなんだけど、これは良いわ!
80年代にドーキンスの『盲目の時計職人』を読んで、似たようなことやったなあ。Biomorphアプリを再現したくて、Atari Logoのスペースインベーダーをハッキングしてさ、遺伝的プログラミングでインベーダーの形状と動きを進化させたんだ。5レベル目にはもう無理ゲーだったよ!
AI使わないで、こんな楽しい方法でやってくれてありがとう!
ベクトルをラスタライズして作ってるってことに驚いたし感動したよ。疑似乱数カーネルウォークをミラーリングして作ったら、どこまでうまくできるか気になるな。
これって、基本的に俺がやったのと同じ!ランダムウォークを修正してグラデーションカラーのインベーダーを作ったんだ。面白い形がマジでできるよ。URLも見てね!https://tinyurl.com/creagen-invader (デスクトップ推奨)
Creative Coding Amsterdamのコーディングチャレンジの一部なんだ。
すごく良いね!ウォーカーも考えたんだけど、結局ベクターシェイプにしたんだ。でも、この二つを組み合わせたらもっとクールな結果が出そうだね!これはCCAのコードチャレンジの一部で、みんなのジェネレーターをまとめたページを作る予定だよ。
いやー、すごく楽しい読み物だったよ。問題解決とか文章とか、プレゼンテーションに込められたいろんなアイデアに感謝しかないね!
よくできてるね!一つ提案なんだけど、たくさんのキャラクターを生成するとき、数学的に制約をつけて、それぞれが似すぎないようにしたらどうかな?偶然同じに見えたり、区別がつかなくなったりするのを防げると思うよ!
2000’sのWeb伝説levitated.netから、関連するインベーダーフラクタルがあるよ! http://www.levitated.net/daily/levInvaderFractal.html (2003年)
めっちゃ楽しい記事だったよ。描画でユーザーの位置を追跡して特定のことをするアイデアが最高!もっと使われてもいいのにって驚いた。ロープのページも見たけど、これはウェブページにとってすごく良い戦略だね。
クール!世界中のインベーダーをここで集めてるよ: https://www.space-invaders.com/flashinvaders/
これ、マジで最高の記事だよ。作品自体もすごいけど、説明とデモンストレーションへの配慮にもめちゃくちゃ感動した。マフィンマンに大リスペクト!
これは素晴らしいね、君のアルゴリズムは本当に良い結果を生み出してるし、記事も最高!これを僕らのゲームで使えるシンプルな関数として提供してくれたら嬉しいな ;-)
へぇ、僕らの時代はね、><と<>みたいな文字の並びでアニメーションさせて、ゲーム全体を80x24のASCIIターミナルで動かしてたんだぜ。
いいスペースインベーダーは、いかにも悪そうで威嚇的じゃないとね。ハサミを振り回して獲物を捕まえるような動きがあれば、さらにポイントアップだよ。
最初はもっと簡単だと思ってたけど、意外と奥が深かったな。でも、最終的な結果は本当に素晴らしいよ。
これ、最高だった!浮遊するプレビューもすごく良くできてたよ。大拍手!
スペースインベーダーがまさか一人で作られたって、すごくない?
インベーダーの動きって、実は1/60秒ごとに1体ずつ動かしてるのがミソなんだよね!あのパックの動きをオリジナルと同じにするには、このオリジナルのプログラマーの天才的な錯覚の技が欠かせないんだ。
あの特徴的な動きは、2mhzの8080 CPUと少ないビデオサポートの制約から生まれたんだよ。Computer Archeologyの分解コードを見ると、1フレームでプレイヤー、弾、エイリアン1体、エイリアンの弾1つしか再描画できないから、動きをずらすしかなかったんだね。
https://www.computerarcheology.com/Arcade/SpaceInvaders/
このテクニックはComputer Archeologyのサイトで知ったんだ!25年間インベーダークローンを作り続けて、やっとこれで完璧にできたよ。このゲームの執着から解放されるわ!
https://datsuco.itch.io/video-invaders
面白いね、これにはすごい想像力が必要だったんだなぁ。
最高!