1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Photonを使ってオンラインターン制ゲームを作ろうとしたら失敗した話#ゲーム制作02

Last updated at Posted at 2020-02-27

どうも、わたたかです。
現在オンラインのターン制ゲームを作ろうと試みており巷で噂のPhotonを使ってみることにしたんですよ。(サーバー言語とか建て方とか分からないですし)

それで、とりあえずAI戦なるものを作ってからオンライン仕様にゲームを作り変える方式を取ることにしてオフラインとしては形になったのですが
ここで問題発生。

##photonnetwork.instantiateは/ResourcesファイルのPrefabしか適応できない。

photonnetwork.instantiateの第一変数がStringなのでGameObject.instantiateのように
serializeFieldでInspectorから指定したものを生成したり、同じように扱うことが出来ないのである。

test.cs
    CardController card = Instantiate(cardPrehab, position, false);

MVCを採用してカードを生成していたので
このようにカードをInstantiateしてGameObject型に変換することも出来ず
photonnetwork.instantiateで生成することが出来ないって話です。

test2.cs
    GameObject card = PhotonNetwork.Instantiate("PlayerCard",new Vector3(),Quaternion.identity,0);

現状はこのようにして無理やりPrefab化したカードモデルを生成してみましたが
ステータスを持たせられなかったり
データの反映がとても面倒くさくなるのでいい方法を探してます。

現在解決策を永遠に悩んでいますが2日くらい立っているのでもう泣きそうです。
有識者の方がいたら相談させてほしいです...(泣)

##結論
Photonでオンラインゲームを作るなら最初からオンラインで作るつもりで実装を進めて行こう。
自分はもう後に引けないので意地でもいい方法を模索します。それではさようなら。

いいアイディアがありましたらコメント、Twtter(@wttk05)のDMお待ちしてます。

補足

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?