2017年9月15日金曜日

ポケモンGoとツムツム。どうして差がついたのか…慢心、環境の違い?

Unityの練習でですね、
ツムツムのパクリゲームを作ってみました。




某ツムツムはどんどんオブジェクトが積み上がる落ち物パズルですが、
本作ではGravityScaleをマイナスの値に設定して、
風船が下からたくさん浮いてくるイメージで作っています。
なんというか、ウキウキですね♪

PCゲーム用にビルドしたので、Windows環境ならだいたい遊べるはずです。

https://drive.google.com/file/d/0B1GWFTnD5GWeUXAwWnBZbHpzYXM/view?usp=sharing
↑のアドレスからzipファイルを落として解凍してくだしい。。

Googleアカウントにログインしていないとエラー表示が出ますが、
そのままダウンロード可能です。

スクリプトは主にこちらのサイト様を参考にしております。
あとは自前のリソースの他、ポーズ機能、リザルト画面等、
細かい機能をいろんな参考書を元に追加してます。

※本当はWebGL形式でブラウザゲームとしてビルドしたかったのですが、
C#でコードを書いた為、そもそも無理でした。
JavaScriptでコーディングしないとWebGLにはできないとのこと。
そんなん言われてもJavaとJavaScriptが違うらしいと知ったのも、
つい最近のお話ですし。。

そうそう、
作成当初は深刻なバグがありました。

オブジェクトをなぞって消した後に何もないところをクリックすると、
無制限に点数が追加されて、オブジェクトも不正に生成されてしまうという、
ゲームバランスに影響を与える致命的な不具合です。

OnDragEndメソッドで
最初にドラッグしたオブジェクトと最後にドラッグしたオブジェクトを、
Nullで初期化する処理が無効であった為、
再度メソッドが呼ばれてしまいどうにもならない。

remove_cntを初期化してみたり、
returnとかbreakで処理を抜けたり等いろいろ試しましたが、
なかなかうまくいかず、四苦八苦しました。

けっきょく、
//ドラッグ中のバルーン情報を初期化
removableBalloonList = new List<GameObject>();
を持ってきて、
挟みこんでみたら意図通り挙動するようになりました。

いかんせんプログラミング初心者なので、
自分でスクリプトの論理エラーを修正するのは中々大変でしたよ。

もう、マジで。

そんなこんなで一応カタチにはなりました。

現在はバージョンアップ版も鋭意作成中です。
ギミックありのステージやら見た目の修正やらをいろいろ実装中。

最終的にはエフェクト、SE、BGM等も追加したいなあと考えてます。

まだまだ先は長い。

0 件のコメント: