タグ

ブックマーク / aba.hatenablog.com (16)

  • 私の心を揺さぶったプログラミング言語 - ABAの日誌

    'Programming Languages That Blew My Mind'というブログ記事で、8歳からプログラマーとして活動しているDavid Tellerさんが、人生で出会った革新的なプログラミング言語について紹介している。 BASIC A language designed to make programming simple. Mind blown: Programming my own games! Mind blown: Arrays (or DIM, as they were called)! Mind blown: GOTO! Mind blown: GOSUB! Original, line-based, Basic is dead, but its legacy lives on in VB.Net, VBA, but also in more subtle ma

    私の心を揺さぶったプログラミング言語 - ABAの日誌
  • ワンボタンゲームを200個作ったのでそのうち111個を集めてミニゲーム集にした - ABAの日誌

    111個の1ボタンゲームを11秒で次々に遊ぶ 1x111(ワン タイムズ ワン-ワン-ワン)です。PCやスマホのブラウザで遊べます。1ゲーム1分で終わるのでお気軽に試してみて https://t.co/nWai2HT5TN pic.twitter.com/2Ski8E1hGM— ABA (@abagames) 2024年10月6日 いわゆるメイドインワリオ的な、短い時間で次々にワンボタンアクションミニゲームを遊ぶゲーム。成功数に応じて星がもらえて、新しいゲームをアンロックできる。HardやExpertにすると多くの星がもらえるがその分難しい。111個全てのアンロックを目指そう! PCやスマホのブラウザからそのまま遊べるのでお気軽にどうぞ。 波長が合わないゲームは、アイコンをクリックして"Ban"すれば出現しなくなる。好みのミニゲームデッキにしよう! ゲームのルールがよく分からんという時は、

    ワンボタンゲームを200個作ったのでそのうち111個を集めてミニゲーム集にした - ABAの日誌
  • LLMを用いたガチャ指向ゲーム開発 - ABAの日誌

    自分の気に入るゲームが生成されるまでひたすらLLMを回す。これを仮にガチャ指向ゲーム開発と呼ぼう。 Claude 3.5 Sonnet のような高性能なLLMの登場で、LLMに簡単なゲームのアイデア作成からその実装までをさせることが可能になってきた。LLMから出てくるゲームの多くは、凡庸だったり、バランスが悪かったり、正しく実装できていなかったりする。でも、繰り返しLLMにゲームを生成させることで、面白い挙動をする、ゲーム一歩手前のコードを、稀に得ることができる。これを得るまでの行為がゲームガチャだ。 例えば、 上記のプロンプトに「fragile pillars」というテーマを与えると、以下のゲームを提案してくる。 Pillar Paraglider: Control a paraglider flying through a course of fragile pillars. The

    LLMを用いたガチャ指向ゲーム開発 - ABAの日誌
  • 「お気に入りのビデオゲームを5つ挙げてください」 - ABAの日誌

    最近インタビューを受けたりプレゼンをしたりという機会がたまたま重なって、今までの自分のゲーム体験を振り返る機会が多くあった。 このインタビューでは、ポケコンから始まるマイコンとの出会い、ベーマガのゲームを打ち込んで遊んだ原体験、私から見た最近のインディーゲーム制作シーンを話した。 Tokyo Indiesのシューティングゲーム特集のプレゼンでは、今まで作ったシューティングゲームを元に、シューティングゲームのアイデアを考える方法の一案を話した。 2024年初頭に、1DパックマンPaku Pakuが海外圏で話題 になって、それをきっかけにmatt sephton さんからインタビューを受けた。ここでもマイコンやベーマガ、あとはナムコのアーケードゲームから受けた影響などを話した。 このインタビューでの質問の一つが「お気に入りのビデオゲームを5つ挙げてください」だった。これは答えるのが難しい。なに

    「お気に入りのビデオゲームを5つ挙げてください」 - ABAの日誌
  • 「撃って」「○○する」ゲーム それがシューティングゲーム - ABAの日誌

    4/17にTokyo Indiesでシューティングゲーム (STG)のアイデアを考える話をした。 プレゼンのスライドは以下の通り。でもほとんど口頭で話したので、このスライドだけ見ても何の話か分からない。なのでその補足を書こうと思う。 「撃って」「敵を倒す」ゲーム、それがSTG。当たり前である。でも当にそれだけだろうか。 例えば「撃って」「四角を作る」ゲーム。これは何か。 画面上から迫る謎のブロックにブロックを発射して、四角にして消すゲーム、クォースである。でははたしてクォースはSTGか。家が「シューティング・パズルゲーム」と言っているので、STGであろう。ならば「〇〇する」は「敵を倒す」でなくてもSTGであるはずだ。 そういえば、私は今までいろんな「〇〇する」STGを作ってきた。 「撃って」「敵をくっつける」ゲーム、TUMIKI Fighters 敵を倒すとその敵が落ちてくるのでそれを

    「撃って」「○○する」ゲーム それがシューティングゲーム - ABAの日誌
  • 小さなゲーム作りでLLMができること、できないこと - ABAの日誌

    前にChatGPTなどのLLM(大規模言語モデル)を使って小さなゲームを作るのはまだ難しいのでは、という記事を書いた。 ChatGPT を用いたゲーム考案の方法はいくつか考えられるが、ChatGPT に新しいゲームを考えさせ、それを実装させることは難しい。少なくとも現状の ChatGPT には、以下の課題があるように思える。 ChatGPT に、実装可能なアルゴリズムのレベルまで詳細化された、新しいゲームのアイデアを考えさせるのは難しい。 ChatGPT は、今までにない新しいアルゴリズムを、ソースコードとして実装することを不得意としている。 GPT-〇〇 になればこの辺の問題は解決される? 分からない。 画像生成 AI の急激な改善を見ていると、半年後にはこの辺の問題は解決するのかもしれない。モデルの規模で乗り越えられる課題なのか、そもそもアプローチとして筋悪なのか、どちらかは現時点では

    小さなゲーム作りでLLMができること、できないこと - ABAの日誌
  • Claude 3 OpusはGPT-4では難しい「オホーツクに消ゆ」ライクなアドベンチャーゲーム生成ができる - ABAの日誌

    ChatGPTにGPTsが搭載されたころ、テーマを与えるとそれに沿ったアドベンチャーゲームが作れないかと試していた。特に「オホーツクに消ゆ」のような、コマンド選択式のミステリーアドベンチャーを色々と遊べたら楽しいかなと思っていた。 結果としてはうまくいかなかった。GPT-4が作成するストーリーは具体性に欠け、実在(しそうな)人物やローケーションなどに沿った展開を持たせることが難しかった。 最近Claude 3とよばれる、GPT-4を凌駕するといわれるLLMが現れた。なので今度はこれを使ってアドベンチャーゲーム生成を試してみた。使うモデルはProユーザーが使えるClaude 3 Opus。 例えば「上野駅」をテーマにして生成すると、以下のようなゲームができる。 上野駅4番ホーム。午前9時頃。 ホームの端で、男性の刺殺体が発見された。あなたは、現場に駆けつけた刑事の沢村。 目の前には血まみれの

    Claude 3 OpusはGPT-4では難しい「オホーツクに消ゆ」ライクなアドベンチャーゲーム生成ができる - ABAの日誌
  • 2023年はChatGPTから創造性を引き出そうとして四苦八苦した年 - ABAの日誌

    四苦八苦した経験はとても楽しかったが、あまりうまくいかなかった。ただ、堅物のChatGPTから、ユニークでオリジナリティのあるアイデアや作品を得るためには、多少のコツがあることが分かった。 人間からテーマを与えてアイデア出しの方向付けをする 単純に「ミニゲームのアイデアを考えて」と指示するのではなく、「『伸びる』というテーマで、ミニゲームのアイデアを考えて」のようにすると、テーマを変えることでさまざまなアイデアを出せるようになるし、テーマ自体をユニークにすることでアイデアの質を向上させることができる。LLM(大規模言語モデル)が単なる検索と違うのは、それが膨大な一般常識、世の中の出来事を知っていることにあるので、そのような知識に対してテーマでフックを掛けることで、知識の組み合わせによる新たなアイデア創出がやりやすくなる。 アイデアや作品を導出するまでのプロセスを示す 「ゲームのアイデアを考

    2023年はChatGPTから創造性を引き出そうとして四苦八苦した年 - ABAの日誌
  • ワンボタンミニゲームを自動的に作るためだけのGPTを作ってみた - ABAの日誌

    GPTsという、特定の役割を持った専用のGPTを作る仕組みが最近できた。といっても、従来のGPT-4にあらかじめ特定の指示 (description)と前提知識のファイル (knowledge)を与えられるだけで、今までできなかったことができるわけではない。だけど、特定のタスクをさせる時に、それらをいちいち指定する手間を省けるので、便利な機能と言えよう。 ChatGPTにミニゲームを作らせる試みは前もやったけど、あまりうまくいかなかった。 そこで今回は以下の改良を加えて、専用のGPTを作ってみた。 最初にユーザからゲームのテーマを与えてもらう。 その後、そのテーマに沿ったゲームのアイデアを5つユーザに提示し、適切なものを選んでもらう。 選ばれたアイデアに対して、ルール作成、プレイヤー動作のコード作成、その他の動作作成、スコアリング、難易度、効果音、と順番に少しづつゲームを作らせる。 「小さ

    ワンボタンミニゲームを自動的に作るためだけのGPTを作ってみた - ABAの日誌
  • 小さなゲームのアイデアって、どうやって思いつくの - ABAの日誌

    さあ小さなゲームを作る準備は整った。じゃあどういったゲームを作ろうか。 ゲームのアイデア出しは一番楽しく一番苦労するポイントである。ここで良いアイデアが思いつけば制作はとんとん拍子に進む。逆にここで微妙なアイデアをつかむといばらの道だ。まあ小さなゲームの場合、ちょっと作ってダメだったら単に捨てればよいのだけど。 ゲームのアイデア発想法はWeb上にたくさん記事がある。なので適当に検索して自分に合いそうなものをピックアップしてみるのも良い。私が探した中で気に入ったものを例に挙げよう。 redditのr/gamedevにあったスレッド'How do you guys come up with ideas for your games?' 1 では、以下のプロセスが書いてあった。 あなたが好きな既存のゲームからインスピレーションを得よう。 奇妙に見えるものを組み合わせてみよう。カードゲーム + 釣

    小さなゲームのアイデアって、どうやって思いつくの - ABAの日誌
  • 小さなゲームを作ること、それ自身が楽しいのだ - ABAの日誌

    小さなゲームとは何か。スモールゲームマニフェスト(宣言書) 1 によれば、1プレイが10分以内に終わる、ブラウザなどで手軽に遊べるゲームを指す。 その定義で言うと、私は小さなゲームをすでに350個以上 2 作っていることになる。1年間で139個作ったこともある 3 。無類の小さなゲーム好きだ。 小さなゲームの何が良いって、短時間で作れるのが良い。速くて2時間、ちょっと苦戦しても10時間くらいではできるだろう。アートワークなどを凝り始めるといくらでも時間はかけられるが、ここでは1週間に1つゲームを作る、Game a week 4 のような取り組みでできる規模の、開発者目線でも小さなゲームとしたい。 短時間で作れるということは、いろんなアイデアを簡単に試すことができるということだ。「ヘンテコにおもしろい小さなゲームを作ろう」 5 というエッセイを、「ゲームクリエイターが知るべき97のこと2」と

    小さなゲームを作ること、それ自身が楽しいのだ - ABAの日誌
  • ChatGPTは新しいゲームを作ることができるのか - ABAの日誌

    ChatGPTはいろんなことができるが、私が興味があるのは、ChatGPTは私のためにアクションミニゲームを作ってくれるのか、ということだ。 コンピュータに自動的にアクションミニゲームを作ってもらうための試みは、だいぶ前にやった。 ChatGPTの登場によって、今度は大規模言語モデルを使うという新しいアプローチが手軽に試せるようになった。モデルに新しいゲームのアイデアを考えてもらい、そのアイデアを実現するソースコードを実装してもらえばゲームの出来上がりだ。 だが、少なくとも現状のChatGPT(今のところ私はGPT-3.5でしか試していないが)では以下の問題があるように思える。 ChatGPTに、実装可能なアルゴリズムのレベルまで詳細化された、新しいゲームのアイデアを考えさせるのは難しい ChatGPTは、今までにない新しいアルゴリズムを、ソースコードとして実装することを不得意としている

    ChatGPTは新しいゲームを作ることができるのか - ABAの日誌
  • 1次元ゲームの世界 - ABAの日誌

    1次元ゲームとは、ゲームフィールドが1ラインしかなく、キャラクターが左右(もしくは上下)にしか動けないタイプのゲームを指す。非常に窮屈なフィールドで、どのようなルールにすればゲームが成り立つかを考えることは、新しいゲームアイデアを考える際に役立つ、こともある。 既存の2次元ゲームを1次元ゲームに落とし込むことで、元のゲームの基ルールだけを際立たせた、よりプリミティブなゲームを作るという方法もある。この前はパックマンの1次元ゲーム化をやってみた。 パックマンの1ボタン化+1D化をしてみた。左右のワープトンネルを使ってうまくモンスターを翻弄してください https://t.co/rClQ3H67y7 pic.twitter.com/l4IuZbQSOY— ABA (@abagames) 2023年2月1日 左右にあるワープトンネルを使ってモンスターを避ける、パワーエサをべてイジケモンスター

    1次元ゲームの世界 - ABAの日誌
  • 文芸的diffでソースコードを解説する - ABAの日誌

    プログラムの解説文章をソースコードに混在して表記し、そこから解説記事を生成する、文芸的プログラミングという手法がある。 文芸的プログラミングはソースコードに強く結びついた形でドキュメントを管理することができ、ソースコードの解説を記述するためには良い手法である。ただし、生成される解説記事はあくまでソースコードの記述順に沿ったものであり、プログラマの開発手順、実装順序に沿ったものでは無い。 ソースコードの解説は、そのコードが作られた順番に行われたほうが、プログラマの思考に沿って説明がされるので分かりやすい。そのような発想に基づいて提案された手法が、文芸的コミットだ。 コミットメッセージに、そのコミット内容を説明する文章を記述していくことで、コミットのヒストリーが解説記事になる手法だ。この方式だと、コミットというコードが改変されていく順番で解説ができるので、より分かりやすい内容にできる。 この方

    文芸的diffでソースコードを解説する - ABAの日誌
  • ゲーム作りをパターン化して1年で139個のミニゲームを作る - ABAの日誌

    このページの上から139個が今年の分だ。こうして並べてみるのは楽しいな。ゲームをたくさん作ることでゲーム制作のスキルアップを!みたいな気概は無いので、ヤマザキ春のパンまつりのシールを集めるのと同じような楽しさだが。でも、作って、Twitterに放流して、いろんな人に遊んでもらって、フィードバックをもらう、というサイクルがたくさん回せたのは良かった。今年遊んでくださった皆さま方、ありがとうございました。 2,3日とかの短期間でミニゲームを作り続けるためには、作るもの・作り方をパターン化してほうが良い。今年は以下のレギュレーションで作った。 Chromeで遊べる恐竜ジャンプゲームのような、手軽にブラウザで遊べるゲームを目指す 操作方法はスマホでの操作が容易な、ワンボタン、左右へのスライド、画面上のタップ、の3種類に限定する 画面サイズは100x100を基とし、キャラクタは6x6と小さくするこ

    ゲーム作りをパターン化して1年で139個のミニゲームを作る - ABAの日誌
  • ワンボタンゲームをたくさん作ったので、その作り方をおさらいしたい - ABAの日誌

    English version: How to realize various actions in a one-button game はじめに 自作ゲームライブラリcrisp-game-libを使ったミニゲームを最近たくさん作っているが、特に多く作っているのがワンボタンゲームだ。ここで言うワンボタンゲームは、レバーによる移動の他のボタンが1つ、といったものではなくて、純粋に1つのボタンしか操作に使わないゲームを指す。 ワンボタンゲームの利点は、操作が分かりやすく、タッチデバイスでも操作しやすい点にある。とにかく何かボタンを押せばそれがプレイヤーが取れる動作の全てであり、操作説明がほぼ不要である。またタッチデバイスでも画面中のどこかをタップあるいはホールドすれば操作ができるので、バーチャルパッドでよく起こる、ボタンを押した感触が無いので操作がしづらいという問題が発生しない。 欠点は、当然

    ワンボタンゲームをたくさん作ったので、その作り方をおさらいしたい - ABAの日誌
  • 1