116 lines
6.1 KiB
Markdown
116 lines
6.1 KiB
Markdown
---
|
|
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は既にすべてを実装したことがあります。
|
|
|
|
```md
|
|
[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が上がっていくでしょう。
|
|
|