From e1867ddbe275d00b5c57b46adc93e84b2fec3ae6 Mon Sep 17 00:00:00 2001 From: syui Date: Sun, 13 Jul 2025 00:46:31 +0900 Subject: [PATCH] fix blog post --- my-blog/content/posts/2025-07-11-blender2.md | 2 +- my-blog/content/posts/2025-07-12-game.md | 115 +++++++++++++++++++ 2 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 my-blog/content/posts/2025-07-12-game.md diff --git a/my-blog/content/posts/2025-07-11-blender2.md b/my-blog/content/posts/2025-07-11-blender2.md index c344ffa..49905cb 100644 --- a/my-blog/content/posts/2025-07-11-blender2.md +++ b/my-blog/content/posts/2025-07-11-blender2.md @@ -22,7 +22,7 @@ wingとmodelは分離させています。衣装の着せ替えを簡単にで modelと分離しているので、vmc時には追従しません。したがって、wingのabpでmodelと同じvmcを入れます。これで解消できました。 -## custom abpを使用すとueがcrashする +## vrmでcustom abpを使用するとueがcrashする vrm4uで`.vrm`をimportすると`SK_$NAME`にcustom abpを設定していた場合はueがcrashします。 diff --git a/my-blog/content/posts/2025-07-12-game.md b/my-blog/content/posts/2025-07-12-game.md new file mode 100644 index 0000000..aff772f --- /dev/null +++ b/my-blog/content/posts/2025-07-12-game.md @@ -0,0 +1,115 @@ +--- +title: "自作ゲームのsystemを説明する" +slug: "game" +date: 2025-07-12 +tags: ["ue"] +draft: false +--- + +現在、自作ゲームを開発しています。 + +このゲームには4つの柱があり、それらはsystemで分けられています。そして、systemは根本的な2つの価値観に基づきます。 + +根本的な2つの価値観は、(1)現実を反映すること、(2)この世界に同じものは一つもないという唯一性になります。 + +1. 現実の反映 +2. 唯一性の担保 + +では、各systemについて説明していきます。 + +# system + +## world system + +別名、planet systemといいます。 + +現実の反映という価値観から、ゲーム世界もできる限り現実に合わせようと思いworld systemを作っています。 + +ゲームは通常、平面世界です。これはゲームエンジンのルールであり、基本的にゲーム世界は平面をベースにしています。 + +ですから、例えば、上に行っても、下に行っても、あるいは右に行っても、左に行っても、ずっと地平線が広がっています。 + +しかし、現実世界では、上に行けば、やがて大気圏を越え、宇宙に出ます。 + +最初は昔から認知されていた地球、月、太陽という3つの星を現実に合わせて作りました。 + +そして、マップをできる限り惑星形式を標準にしています。 + +これは非常に難しいことで、現在もいくつか問題を抱えています。 + +ただし、このworld systemの問題がゲームプレイに影響するかと言われると、殆どの場合、影響しません。ゲームプレイの領域は、最初は非常に狭い世界で作ろうと思っているからです。 + +つまり、プレイヤーは空にも宇宙にも到達できません。それらが見えるかどうかもわかりません。しかし、見えない部分もしっかりと作り、世界があるということが大切です。 + +## yui system + +別名、unique systemといいます。プレイヤーの唯一性を担保するためのsystemです。 + +とはいえ、色々なものがここに詰め込まれるでしょう。characterのモデリングとかもそうですね。 + +どのように担保していくかは未定ですが、いくつか案があります。配信との連携、vmcでモーションキャプチャなどを考えていました。 + +## ai system + +別名、ability systemといいます。 + +主に、ゲーム性に関することです。ゲーム性とはなにか。それは、永続するということです。 + +例えば、将棋やオセロを考えてみてください。無限の組み合わせがあり、可能であればずっと遊んでいられる。そのような仕組みを目指します。 + +まずは属性を物語から考えます。物語は最も小さい物質の探求です。アクシオンやバリオンなどの架空の物質、そして、中性子や原子などの現実の物質が属性となり、1キャラクターにつき1属性を持ちます。 + +## at system + +別名、account systemといいます。 + +プレイヤーは現実のアカウントを使用して、ゲームをプレイできることを目指します。`atproto`を採用して、ゲームデータを個人のアカウントが所有することを目指しています。 + +# どこまで実装できた + +実は、上記のsystemは既にすべてを実装したことがあります。 + +```sh +[at system] +ゲームが始まると、atprotoのaccountでloginでき、取得したアイテムなどはatproto(pds)に保存されます。 + +[ai system] +キャラクターは属性攻撃ができ、 + +[world system] +上へ上へと飛んでいけば、雲を超え、宇宙空間に出られます。 + +[yui system] +配信環境やvmcでキャラクターを動かすことができます。 +``` + +しかし、ue5.5で作っていたsystemも、ue5.6にupdateすると全て動かなくなり、また一から作り直しています。私は、モデルの作り方から、ゲームの作り方まで全部初心者ですから、何度も作り直すことで、ゲーム作りを覚えられます。 + +そして、まだ革新的なアイディアを見つけられていません。それはシンプルで身近にあり、人々が面白いと思うもの。まだゲームになっていない、あるいはあまり知られていないものである必要があります。 + +例えば、ウマ娘でいうと競馬、ポケモンでいうと捕獲、になります。 + +それを見つけ、ゲームに取り込む事ができれば完成と言えるでしょう。 + +そして、ゲームに取り込むことが複雑で難しすぎるようなものではありません。シンプルで単純でわかりやすいものでなければなりません。 + +## versionを付ける + +そろそろversionを付けるかどうか迷っています。 + +今までモヤモヤしていたものが、最近はよりはっきりしてきたと思います。ただ、versionはあまり覚えていないし、付ける意味もない。これまではそうでした。 + +もしかすると今もそうかもしれません。色々なものがバラバラで管理しきれないのです。 + +ですが、今までやってきたことを総合すると、現在は、`v0.2`くらいだと思います。 + +最初、はじめてueを触ったときに宇宙マップを使って構築しました。これをv0.0としましょう。 + +次に、city sampleと宇宙を統合しました。これがv0.1です。 + +最近はworldscapeを使ってマップを構築しています。これがv0.2です。 + +aiというキャラクターモデルの変遷も大体を3つの段階に分けられると思います。初めてモデルを作った、vroidで作ったのがv0.0、blenderを初めて触ったのがv0.1、現在がv0.2です。 + +とはいえ、この設定もそのうち忘れ、どこかで圧縮されてしまうかもしれませんが、覚えているならここから徐々にversionが上がっていくでしょう。 +