タグ

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

  • 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の日誌
    colonoe
    colonoe 2024/05/07
    スーパーマリオワールド、ゴールデンアイ007、変愚蛮怒、Age of EmpiresII、Dwarf Fortress。自分はゲームそれ自体よりプレイしてた当時の思い出が大事みたいだな
  • 「撃って」「○○する」ゲーム それがシューティングゲーム - ABAの日誌

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

    「撃って」「○○する」ゲーム それがシューティングゲーム - ABAの日誌
  • 小さなゲーム開発についての小さな電子冊子を作ったよ - ABAの日誌

    小さなゲームを開発することの楽しさや、その作り方について、今までブログに色々書いてきた。 それらの内容を「小さなゲーム開発の楽しみ」という、小さな電子冊子としてまとめた。 楽しさを色々な側面から伝えるべく、以下の内容を盛り込んだ。 小さなゲームとは何か、そしてその制作がなぜ楽しいのかを探る ゲーム開発におけるターゲットデバイスや開発環境の選び方 ゲームの核となるアイデアの考案や、制約を活かしたアイデアの生み出し方 プレイヤーが感じる適切な難しさの設定方法 ゲームをより魅力的にするための「ジューシー」なエフェクトや音の追加方法 自作のライブラリ・エンジンの制作や、絵や音の自動生成方法 コンピュータがゲームを一から開発する可能性についての考察 小さなゲーム開発に興味がある方、またはすで開発している方にとって、なるべく有益な情報を含んだつもりだ。自分の興味に従って書いたため、散発的で多様な内容で

    小さなゲーム開発についての小さな電子冊子を作ったよ - ABAの日誌
  • 小さなゲームを作るとして、ターゲットデバイスと開発環境、何向けに何で作るのがいいんだろう - ABAの日誌

    じゃあ小さなゲームを作ってみようか、と思ったときに、まず考えないといけないことの一つに、PC、スマホ、ゲーム機などなど、どのデバイスで動くゲームを作るかということがある。 特にこだわりがないのであれば、PCのWebブラウザ向けのゲームを作るのがおススメだ。今のブラウザは様々な開発環境で開発されたゲームを動作させるためのプラットフォームとして成熟しているし、他の人にプレイしてもらうにも、ネット上のURL告知からシームレスに遊んでもらえてお手軽だ。 ゲーム作りを楽しむ、という面では、どの開発環境・プログラミング言語・ゲームエンジンでゲームを作りたいか、から考える手もある。これについては小さなゲームだからどうこう、ということは特になくて、自分の好みで決めて良いと思う。ただ、重厚な3Dゲームを主なターゲットとしているUnreal Engineなどは小さなゲームを作るにはリッチすぎる、などは考慮して

    小さなゲームを作るとして、ターゲットデバイスと開発環境、何向けに何で作るのがいいんだろう - ABAの日誌
    colonoe
    colonoe 2023/09/12
    とりあえずUnityかなぁ、情報が多そうだし
  • ChatGPTは新しいゲームを作ることができるのか - ABAの日誌

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

    ChatGPTは新しいゲームを作ることができるのか - ABAの日誌
  • アマチュア向けゲーム開発環境を13年前と比較すると - ABAの日誌

    昨今の自作ゲーム向けハンドヘルドゲーム機を調べたついでに、13年前の2009年にアマチュア向けゲーム開発環境について書いていたことを思い出した。 せっかくだからハンドヘルドゲーム機以外についても、ここ13年でどういう変化があったか、知っている範囲で書いておこうかと思う。 PC 王道。最先端のCPU, GPUを使ったゲーム開発が可能。言語、ライブラリもお好みしだい。欠点としては、ゲームが実行される環境があまりにバラバラなので、環境依存の問題がおきやすいことと、統一したゲーム配布プラットフォームがないこと。アマチュア向けSteamみたいのがあるといいんだが。 Unity、Unreal Engine、Godotを代表とするゲームエンジンを使うことが標準となった。DirectXを直接さわってごにょごにょみたいなことはだいぶ減ったと思う。ゲームエンジン体の豊富な機能と、付属するアセットストアがゲー

    アマチュア向けゲーム開発環境を13年前と比較すると - ABAの日誌
  • 自作ゲームが動かせるハンドヘルドゲーム機いろいろ - ABAの日誌

    ちょっと前に自作ゲームを動かせる環境・デバイスとしてどんなものがあるのかな?と思ってリストアップしたことがあった。 ちょっと前じゃなかったわ。2009年だから13年前だったわ。 ちょうどスマホが出てきたところで、PDAはもう消えた頃。携帯コンシューマ機としてのWonderWitchや、オープンなゲーム機としてGP32シリーズやP/ECEがあった。懐かしすぎるな。 2022年の今、同じようなリストを作ろうとした場合、世の中はだいぶ様変わりしている。Arduinoを代表とするワンボードマイコンをコアとし、それにディスプレイやボタンを追加したハンドヘルドゲーム機をDIYで作るというトレンドになった。 自分好みのゲーム機を自由に作れるのが利点である一方、様々なデバイスが乱立するために、それらで動作するゲームも個別の作りこみが必要な部分が増えているようにも思える。 それらに対して共通的なゲームライブ

    自作ゲームが動かせるハンドヘルドゲーム機いろいろ - ABAの日誌
  • プレイヤーを楽しくさせるための演出を加えてゲームを「ジューシー」にするという用語の適切な訳語が欲しい - ABAの日誌

    ゲームはその根幹のルールが楽しければそれで十分、見た目は最低限、音なんて無くて良い、ということに同意する人はほとんどいないと思う。ゲームはそのベースとなるルールの他に、それを盛り上げるためのプレイヤーの視覚、聴覚への刺激、演出が不可欠だ。 ゲーム開発者は、それら演出が適切になされているゲームのことを、ジューシー("Juicy")なゲームと呼ぶことがある。 例えば、この動画は単純なブロック崩しをジューシーにすることで、同じルールを持つゲームがどれだけ楽しくなるかを示している。 ジューシーなゲームにするためのジュースとしてどのような演出があるか、については以下の動画に詳しい。 要するに、ゲームに加えられるアニメーション、効果音、画面の振動、ヒットストップ、パーティクル、などなどをうまく活用できているゲームをジューシーと呼んでいるわけだ。ただそのジューシーという用語がかなり曖昧なことも否めない。

    プレイヤーを楽しくさせるための演出を加えてゲームを「ジューシー」にするという用語の適切な訳語が欲しい - ABAの日誌
  • 文芸的diffでソースコードを解説する - ABAの日誌

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

    文芸的diffでソースコードを解説する - ABAの日誌
  • 2012年作ったゲーム遊んだゲーム - ABAの日誌

    今年自分で作ったゲームと遊んで面白かったゲームを書いてみた。 作ったゲーム ミニゲームばかり30個少し。ほとんどFlashでプチコン少し。wonderflにはお世話になりまくりです。Haxeにも対応いただけませんかね。 一応自分で気に入っている順に書いた。上の方がお気に入り。 ブラウザゲーム ufast (http://wonderfl.net/c/8Ylg) undermine (http://wonderfl.net/c/bv3w) TANK FIRES BLOCK (http://wonderfl.net/c/dxL8) boxinbox (http://wonderfl.net/c/2D7T) commandmissile (http://wonderfl.net/c/kqI2) timebomb (http://wonderfl.net/c/tuh0C) carpieces (h

    2012年作ったゲーム遊んだゲーム - ABAの日誌
  • SIG-Indie6プレゼン資料「弾幕の科学」公開 - ABAの日誌

    SIG-Indie6「同人シューティングゲームの潮流」(http://www.igda.jp/modules/bulletin/index.php?page=article&storyid=247)でプレゼンをしてきた。その時に使ったスライドを公開します。 SIG-Indie6 slides (http://abagames.sakura.ne.jp/flash/sigindie6ml/index.html) 今回のスライドはこの講演向けのDSLであるSIGIndie6MLで書かれている。SIGIndie6MLは任意のスライドに弾幕を組み込むことができ、スライドはFlash Playerで再生される。弾幕をプレゼンするには最適な言語である。ぜひご活用ください。 ……といいたいところだが、正直言うとSIGIndie6MLの記述性は最低で、テキストの記述のあとに長大なBulletML定義が出て

    SIG-Indie6プレゼン資料「弾幕の科学」公開 - ABAの日誌
  • ゲーム作るのにまだ乱数使ってるの? - ABAの日誌

    原始、ゲームは乱数とともにあった。インベーダーが弾を打つタイミングはでたらめで、ゲーム&ウォッチのパラシュートがどこに着水するかは誰も知りえなかった。 近年、ゲームは乱数を必要としない。きちんとしたストーリー、練りに練られたレベルデザインに沿って遊ぶゲームにおいて、コンピュータの気まぐれで展開が変わるなどもってのほかだ。 昔のゲームがなんで好んで乱数を使っていたかというと、そうした方が何度も遊んでもらえたからだ。乱数を使えば、遊ぶたびにゲームの展開が変わり、新たなチャレンジが楽しめる。特に昔のゲームは1プレイ5分とか非常に短い時間で終わるものが多かったため、乱数で変わる新たなチャレンジを何度も遊び、ハイスコアを更新しては自分の上達を確認するというのが普通だった。 最近のゲームはそういった遊び方はしない。1プレイ40時間とかいうゲームでは、乱数に頼らなくても同じ展開にめぐりあうことはない。乱

    ゲーム作るのにまだ乱数使ってるの? - ABAの日誌
  • スクリーンショットを組み込めるプログラミング言語「SIKULI」 - ABAの日誌

    Project SIKULI (http://sikuli.csail.mit.edu/) MITの研究者が画面ショットを用いるスクリプト言語を開発 (http://www.computerworld.jp/topics/move/172649.html) GUIテスト用プログラムとかで、画面のこのボタンを押して欲しい、ってのを指定することがあると思うが、その「このボタン」ってのをそのボタンのスクリーンショットで指定できる言語。 IDEのツールバーにカメラボタンってのがあって、それを押すと画面の任意の場所が切り出せる。切り出したスクリーンショットはそのままスクリプト内に取り込まれる。例えば、マインスイーパーで適当にボタンを押しまくるプログラムは右のようになる。 click()の中にマインスイーパーのボタンの絵が入っている。これで「この絵に似ているところを押せ」、っていう命令になる。 かなり

    スクリーンショットを組み込めるプログラミング言語「SIKULI」 - ABAの日誌
  • 2008-09-27 - ABAの日誌

    同人ゲームの潮流(1)「同人ゲームの過去、現在、未来」 (http://www.digrajapan.org/modules/eguide/event.php?eid=28) 同人ゲームにスポットをあててその全体像を探ろうという取り組みらしい。今回は概観のおさらいとアメリカインディーゲームとの比較など。 七邊さんからの発表は同人ゲーの概観というか歴史について。70年代の雑誌投稿やゲームコンテストを経てゲームが市販化されていたころから、コミケ同ソの現代まで。時間の大半は東方、ひぐらし、ひまわりなどの事例紹介に当てられていたので、コミケ常連組にとってはおさらいの部分も多かっただろうが、同人ゲーのヒットに必須であるファンコミュニティが育つまでの背景や、商業化への道筋について、個々の事例に基づいて語られていたのは興味深い。 井上さんからはいわゆる普通の同人ゲーに限らずフリーソフトなども含めた日

    2008-09-27 - ABAの日誌
  • アマチュアゲーム開発者にとってどのプラットフォームが最良か - ABAの日誌

    昔からゲームを作るにはどの言語がいい?的な話はよくあったが、結局どの言語を選ぼうともその最終出力はWindowsアプリケーションになる、といった面では変化がなく、「人と周りの人間が慣れている言語がいいんじゃね?」っていう結論でだいたい問題ないような感じだった。 最近は言語レベルだけでなく、そもそも出来上がったゲームがどこで動くものなのか、というプラットフォームレベルの選択になってしまい、選ぶのがなかなか難しい。とりあえず私が今まで使ってきた+使ってみたいプラットフォームの利点と欠点を挙げてみた。 C + SDL pros 圧倒的なポータビリティ。一度書けばどこでも動く cons 今どきの言語機能の恩恵は皆無。2DでやろうとするとGPUの恩恵もなし D + SDL + OpenGL pros モダンな言語機能使い放題。OpenGLによるGPU活用。Windows, MacOSX, Linu

    アマチュアゲーム開発者にとってどのプラットフォームが最良か - ABAの日誌
  • 弾幕を構成するパラメタ群を列挙する - ABAの日誌

    弾幕生成のごく簡単な実装方法は、「弾幕を構成するパラメタ群を列挙して、そいつらを乱数で散らしていい弾幕ができるのを祈る」なのだが、それを突き詰めると「任意の場所から任意の方向に任意のスピードの任意の数の弾を任意のタイミングで撃っていい感じになることを祈る」という完全ランダム弾幕になってしまうので、やはりどういったパラメタをベースに弾幕を生成するのかをある程度は考えないといかん。 今使っている手法では、基的に円形に複数の砲台(弾源)を配置するとして、 円の半径 楕円の離心率 中央の砲台を配置する円周上の角度 砲台の数 砲台間の間隔の角度 この辺までが基的な砲台の配置に関連するパラメタで、 弾の発射方向 弾の発射スピード 弾の発射時間間隔 これが砲台から発射される弾に関連するパラメタ。もちろんこれらのパラメタが持つ値は、固定の値だけではなくて、半径、配置角度、間隔角度、発射方向、発射スピー

    弾幕を構成するパラメタ群を列挙する - ABAの日誌
  • アマチュア向けゲーム開発環境いろいろ - ABAの日誌

    をリストアップしてみる。ゲーム向けをうたってなくてもゲームが作れればよしとしよう。 PC パソコン向けゲームの開発。 デスクトップアプリケーション 王道。最先端のCPU, GPUを使ったゲーム開発が可能。言語、ライブラリもお好みしだい。欠点としては、ゲームが実行される環境があまりにバラバラなので、環境依存の問題がおきやすいことと、統一したゲーム配布プラットフォームがないこと。アマチュア向けSteamみたいのがあるといいんだが。 ツクール (http://tkool.jp/) RPGやアクションゲームなどの特定ゲーム作成用ツール。ゲーム向け言語の一種ともいえる。そういった意味ではHSP (http://www.onionsoft.net/hsp/)なども似た位置づけか。最新版のアクションゲームツクールはFlashやXbox360向けのゲームも作成可能。 Mod (wikipedia:Mod_

    アマチュア向けゲーム開発環境いろいろ - ABAの日誌
  • 1