パスワードを忘れた? アカウント作成
17462624 journal
日記

yumeの日記: またゲーム作ったよ〜

日記 by yume

itch.ioで
▹ph◉tonを公開したよ。
2Dマウスはえたたきゲーム。

使ったことのないゲームエンジンとかに挑戦してみようという主旨の「勉強会ジャム」が10月に開催されてたので参加した。Godot 4.1.2を使用。

使ってみた感じ、(2Dでは)そんなにUnityと変わらないな、という印象だった。Unityは覚えなきゃいけない語彙が多いけど、Godotはそこが少なめな感じがする。Godot mono(C#で書けるバージョン)だと、webglに未対応だったので、今回はブラウザゲームじゃない。

ゲームの内容は、昔『マリオペイント』にあったおまけのハエたたきゲームを下敷きに、もっとごちゃごちゃたくさんオブジェクトが出てくるのはどうだろう、と考えたのでそのようにした。Godotでどのくらいオブジェクト作ると重くなるかためせるし、物理も使うし、いい感じ。

16718402 journal
日記

yumeの日記: またブラウザゲーム作ったよ〜

日記 by yume

itch.ioで
『Bullet Ballet』を公開したよ。
Mini Jam 138: Rewind 参加作品
2Dトップダウンシューター。ただし弾を撃つにはそのたびに銃を拾わなきゃならない。

制限は「Limited Use」Mini Jamは最近制限の解釈の自由度があがってて、これも自由に解釈していいらしい。シンプルに「使用に制限がかかる」と解釈しよう。

16675653 journal
日記

yumeの日記: またブラウザゲーム作ったよ〜 1

日記 by yume

itch.ioで
『Hands』を公開したよ。
Mini Jam 135: Deception 参加作品
手が動くインタラクティブ・コラージュ。
収録曲は全部で4曲。

itchで少しコメントがついたんだけど、「ここの攻略法はこうだ!」「いや、こうだ! そいつは嘘をついてる!」みたいな流れがあって。それぞれの心の中にある『Hands:完全版』みたいなのがあるのかな。だとしたら、ぜひ遊んでみたいと思う。

16563486 journal
日記

yumeの日記: またブラウザゲーム作ったよ〜

日記 by yume

itch.ioで
『10 Seconds FARM!』を公開したよ。
Mini Jam 130: Luner 参加作品
1日が10秒で終わる忙しい農業ゲーム。

今回の制限は「10 Seconds」シンプルな制限だけど、10秒でできることって案外少ない。
パッと思いつくのは、メイドインワリオみたいなミニゲーム集(10秒以内にピンチを切り抜けろ、の連続とか)。これは誰かがやりそう。
もうちょっとひねって「10秒でやれ」と言われて無理そうなことを考えた。農業を10秒でやるのは無理そうなので、これでいくことにした。

16558203 journal
日記

yumeの日記: まだChatGPTで遊んでいる。

日記 by yume

PlayWithGPT(自己進化するリポジトリ……を目指す遊び)を相変わらずやっている(ちなみにゲームも作っているが、規模が大きくて全くもうという具合である)。

ChatGPTにPatchを当てさせることで、自然言語によりリポジトリを強化していくリポジトリ「pmon」

ユーザーが命令を指定すると、タスクリストを吐き出し、そのタスクを順番に解決し、さらにタスクを生成し……を繰り返し、最終的には命令を解決する「BabyAGI」

16539070 journal
日記

yumeの日記: ChatGPTで自己進化するリポジトリ

日記 by yume

を書いた。

Pythonは全く触ったこともなく、事前知識もほぼゼロ(機械学習に使えるとかなんとか?)だが、webのChatGPTに聞きながらコードをコピペして、Github Copilotで補完してたら意外と動くものができた。

「なんなのこれ」というと:
ChatGPTはテキストで通信できるらしい。となると、特定の形式のテキストを「コマンド」として受け取ることでPythonのモジュールを.pyファイルとして生成したり、それを上書きしたりすることを繰り返すことができるのでは? そうしたら自己進化するリポジトリが作れるんじゃね?というシロモノ。

現状で、とりあえず「~~という内容のコードを書いて。ファイル名はhoge.pyで」と言えば、注文通りの(まぁそれなりの品質の)モジュールをmodulesディレクトリ下にほんとに生成してくれる。なんのことはない。文字列を検索して一致してたらsplitしてファイル名指定して保存するだけのことである。

16464771 comment

yumeのコメント: ひと仕事集中してたら、世界が変わってた的な話かもしれん (スコア 3, 参考になる) 64

Redditの話:
r/ArtはRedditのごく一部(サブレディット、略してサブレ。5chでいう板みたいなもんか)
たまに流し見してるくらいだけど、基本的にはアートならなんでも(彫刻でもバブルアートでも油絵でもピクセルアートでも)あがってる感じ。
で、r/ArtのルールにはもともとAIアートは禁止であることは書かれてる。そしてBANや削除はr/Art管理者の裁量で決まる。これは他のサブレでも同じ。
管理者がおかしな振る舞いをしたら反発を受けたり、逆に追放されることもまぁありうるし、そうでなければそのサブレは廃れたりもする。
実際反発もある。「AI冤罪でBAN」をテーマにしたアートが投稿されて、r/Art史上最多のupvoteScoreを獲得してる。

--

絵の話:
確かに見た感じ、絵のスタイルが最近のAIでよく使われる(いわゆるAIっぽい)スタイルにまぁ似ている。
でもこれ、件の絵を描いた人が悪いというより、周りの環境が突然変わりすぎてるんだと思うんだよな。つまり
・ここ最近AIアート増えすぎ
・AIアートやってる人、同じスタイル使いすぎ(見栄えがいいのが簡単に生成できるプロンプトをみんな使いがち)
結果、もともとのこの人の絵柄がいきなりすごい勢いで陳腐化しちゃったんだよな。これはAIが悪いわけではなくて(AIはいろんな絵柄が描ける)、AI使ってる多数の人が同じ手法を真似てしまうからだろう。

16417815 comment

yumeのコメント: Re:再現方法と原因 (スコア 1) 47

あーそっか。そうなると怖いけど、同じ条件を満たすフォントってまぁないですよね(あったら怖いな)。
うろ覚えだけど、かなり昔(os9とかのころ)のDF平成明朝体ってW9だけなんか扱いが違った記憶がある(ファミリーから外れてるとかそんな印象)けど、あれ関係あるのかな。今販売してるのは流石に大丈夫なのかな?

16417795 comment

yumeのコメント: Re:再現方法と原因 (スコア 1) 47

それはその通りで、@peprintenpa氏曰く、「一部のフォントの組み合わせによっては、ファイルを開いただけで文字化けが発生するパターンもありうる」ということもあり(極めて稀に稀を重ねた条件ではあるものの)、そうなると危険度は爆発的に上がりますね。

具体的には:
A. 作業者の念校まで一貫した環境からinddファイルを受け渡し、突然別の環境から入稿用PDFを作る
B. 製版者がinddファイルを直接入稿用として要求し、そのinddファイルから製版する
のどちらかで、かつお互いの環境が問題を発生させる条件を満たす場合です。
ただし、AもBも正しい工程ではないです。この場合それぞれ、Aは作業側の責任、Bは製版側の責任でしょう。(でも、いまだにPDF入稿じゃないとこあるんだよな……)

理想的なフローでは、念校用PDF=入稿用PDFで、それがそのまま製版されるわけですから、こういった問題が作業のタイミングで発生していたとしても、出版までには至らないでしょう。

まぁ現実的には、無茶な日程やおかしなタイミングで修正やフォントの変更が発生し、校正の工程がヌケたかずさんであったというのが一番ありえそうです。その場合バグ自体は珍しいものの、よくある話です。

16417207 comment

yumeのコメント: Re:再現方法と原因 (スコア 4, 興味深い) 47

うわー。これはかなり特殊な条件だなぁ。

1. 合成フォントを使っている
2. 合成フォントを使ったテキストにルビを振っていて、ルビのフォントを自動指定している
3. 合成フォントの名付けルールで、ウェイトの表現に-Wnを使っている
4. 3で出来たフォントファミリーの中に、異なるcmapのフォントが含まれる

このうち、1.~3.まではほぼ全くおかしくない作業だけど、4.はかなりおかしいね。まぁStdとStdNを平気で混ぜるようなヤカラもいるからなぁ。

それでも、ここまでは設計者か作業者がヘボいという話で済むけど、そのまま出版しちゃあダメだよねぇ。校正フローどうなってんの?ってなっちゃう。

16400802 journal
日記

yumeの日記: RogueLikeゲームを作るぞ 4

日記 by yume

カードの発動効果を実装する。

プレイヤーやエネミーのあらゆるバフ効果は、カードの発動という形で表現する。例えば「二倍速で動く特性を持つエネミー」は、このゲームでは「2倍速になるカードを最初のターンで使う」という形で表現するように。

・ActorModelクラスはInventoryModelクラスを持つ。
・InventoryModelは所有すべきカードを0-複数持つ。
・ActorBrainは、状況に応じてインベントリからカードを発動する。

カードの発動処理は:
・あらゆるカードは、発動効果を表す「IInovkeEffect」変数を持つ。
・IInvokeEffectはInvoke(IActorModel user, IItemModel parent)を持つ。
・Invoke()関数は、userに必要な影響を及ぼしたあと、parentを破棄する。

16398734 journal
日記

yumeの日記: RogueLikeゲームを作るぞ 3

日記 by yume

メッセージ表示の仕組みを作る。

ResultMessageUIは、メッセージの出力を管理する。画面の表示はResultMessageUIViewが行う。

今のところ、メッセージが表示されるのは戦闘結果だけ(誰が誰を攻撃し、何点のダメージを与えたか)。
挙動の流れは次のようになる:

16397765 journal
日記

yumeの日記: RogueLikeゲームを作るぞ 2

日記 by yume

ゲームの根幹部分となるActorたちのステータスやアイテム・装備の概念を進めていく。

このゲームでは、あらゆるActorは武器・防具・基礎HPのみでステータスが構成される。
Actorクラスは座標とActorStatusクラスを持つ。
ActorStatusクラスは、EquipSlotクラスを持ち、HPや攻撃力などのステータスを表現する。
EquipSlotクラスは、武器と防具を保持するクラスである。

武器も防具もCardと呼ぶ概念で表現される。
Cardは武器・防具・消耗品としての能力をそれぞれ併せ持つ。つまり1つのCardは武器であり、防具であり、巻物や薬である。

16395419 journal
日記

yumeの日記: またブラウザゲーム作ったよ〜

日記 by yume

itch.ioで『Please, Stop my Laser!!』を公開したよ。
Mini Jam 122: Intermission 参加作品。
トップダウンアクションレーザー逆イライラ棒自爆タイムアタックゲーム。
マウスまたはゲームパッドで操作。1プレイ2分くらいで終わるぞ。

--

今回の制限は『Losing is Good』、つまり負けるが勝ちとか、負けると良くなるとか、負けることにインセンティブを持たせるとかそういうやつだった。
パッと考えて出る案は、死ぬとプレイヤーキャラが足場ブロックとして残り、ステージを攻略しやすくなるパズルプラットフォーマーとか、死ぬたびにRisk of Rainみたいに強化されていくとか、そんな感じのゲーム。

16387875 journal
日記

yumeの日記: RogueLikeゲームを作るぞ 1 2

日記 by yume

RogueLikeを作り始めた。最終的な完成像もなんとなく頭の中にあり、全体的にはそこそこ強くベルリン解釈に則する、いわゆるRogueLikeゲームにする予定。特徴としては、アイテム(武器・防具・消費アイテム)に関する考え方が異なることと、ダンジョンの生成システムがちょびっと異なることである。

ただ、チーム内では他の企画も始まっており、途中でこっちの企画が停止する期間が出るのは必至なので、備忘録的に書いていく。運よくスイスイ進めばすんなりリリースできるかも。

--

typodupeerror

身近な人の偉大さは半減する -- あるアレゲ人

読み込み中...