またゲームを作りました。
これです。
画面上に配置されたブロックの上にコインが出てくるので、それを取っていくだけです。
コイン取得 -> オブジェクト削除 -> コイン生成
っていう風に最初はやっていたんですが、それだとオブジェクトの生成でいちいちnewしないといけなくてめんどくさかったので、
コイン取得 -> コインの位置変更
ってすれば削除も生成もいらないよね、ってことでそういう方向でやるようにしました。
さて、今度こそドット絵書いて、素材を作らないと、、、有言実行せんとね。
まあドットじゃなくて3Dのモデルも作りたいんですけどね。そっちもやってみるかんね。。
UnityRoomが便利な件について
前々回の記事で「ブログにゲームのリンク貼れない!むきー!」ってなっていた私に救いの手が。
それがこちら。
ゲーム公開用のプラットフォーム的な感じになってます。
自分が作ったゲームを公開できるだけでなく、他の人が公開するゲームを遊べて、コメントもできる。
早速この間作ったゲームを公開してみました。
もちろん、ブログに直接貼付けることも可能みたい。
公開したゲームのページにある「埋め込みタグ」って所を選択すると、
貼付け用のリンクが出てきて、それをぺたっと貼付けるとこんな感じ。
横から飛んでくるウニを避けるゲーム(?)を作った
タイトルの通りです。
Flappyなんとか的な動きを実現してみたかったので、いろいろ試してみました。
で、せっかくなのでビルドして公開しちゃえ的な。
https://dl.dropboxusercontent.com/u/6754253/YokokaraUni.html
です。
恒例のユニティちゃんを使わせて頂いています。
やっていることとしましては
○ユニティちゃんを置く
○左右のキー入力を受け付けないようにスクリプト修正
○立ちのアニメーションを走りのアニメーションに変更(常に走ってる風に)
○ジャンプするときのパワーを少し弱めに調整(ふわっとし過ぎないように)
○ウニ(障害物)を画面端に設置
○Updateで少しずつユニティちゃんに寄ってくるようにスクリプトで制御
○ユニティちゃんにぶつかるか、ユニティちゃんの後ろに行ったら、x(横の位置)を最初の位置に戻し、y(縦の位置)をランダムに変更
これを繰り返すだけです。
細かいところは違うと思いますが、おそらくFlappy的なアレも、似たような感じだと思います。
けっこう簡単ですね。
作って思ったこととしましては
・シンプルなルールの方が集中する(楽しいかどうかは別)
・アセットはやっぱり便利だけど、ちゃんとハックして中身を見るようにしないと、何かあったときに対応できなくて死ぬし、何か変更したいときに何もできない
わかりやすいものの方がいいですね。
ヘルプとか、操作説明とか一切必要なく、それを見れば何をするのかわかるようにするっていうのが大事だなと思いました。
そういう意味だと、メッセージ出しちゃった時点で負けなのかもしれませんね。。。
今回は衝動的に作ってみただけだったんですが、そういう勢いだけでなんとなく動くものができちゃうっていうのは、ユニティちゃんとUnityのおかげかなーと思います。
ありがたやありがたや。
さて、次回こそは素材とアニメーションを自作するぞ。
このアセットは、『ユニティちゃんライセンス』で提供されています。このアセットをご利用される場合は、『キャラクター利用のガイドライン』も併せてご確認ください。
ゲーム作った。
ゲームを自分で作成してみました。
が、はてなのブログにゲームを貼付ける方法がわからん。。。
と思っていたら、iframeでいけるらしい。
追記
と思ったが何度やってもうまく行かなくて死にたい。。
DropBoxに置いたファイルをリンクさせてるんですが、どうにもうまくいかない。
dropbox側はリンクをパブリックにしてあるから参照はできるはずなのに、、、ナゾ。
WEBPLAYERじゃなくて普通にリンクはって置きます
ユニティちゃんを借りました。
このコンテンツは、『ユニティちゃんライセンス』で提供されています
空から降ってくるウニ(?)を避けるだけのゲームです。
特に難しいことはやっていませんが、工夫した点としては
・ウニを削除 -> 生成しないで座標だけずらすことでメモリ節約
くらいですかね。
C#はJavaと似てて、書きやすかったです。Javascript?知りませんねそんなものは。
とりあえず今回は素材をすべてユニティちゃんにがんばってもらったので、次回はドット絵を自分で描いて、アニメーションを作ってみようかと思います。
予定としてはユニティちゃんに動作を追加していくことを考えています。
スライディングとか、腕から弾が出るとか、やってみたいです。
ユニティちゃんゲームジャムに参加して思ったこと
無謀にも、ゲームジャムに参加したのでその記録。
参加したのはこちら
ユニティちゃんゲームジャム2014
http://unity-chan.com/events/ucgj2014/
ゲーム開発の経験はなかったのですが、UnityJapanさんに未経験でもOKって言われたので、とりあえず参加しちゃいました。まあ何にもわからないんで、とりあえず何でもいいからやってみよう的なノリで。
チームのメンバーは開発経験者3人+未経験者2人の計5人で行いました。他のチームもだいたい構成人数は同じ感じでしたが、未経験者が二人いたのは私たちのチームだけだったんじゃないかなと思います。
私たちのチームは
的なゲームを作りました。
こんな感じです。
画面をクリックすると画面上にブロックが現れ、同時にユニティちゃんのボイスが再生されます。再生されるボイスは画面上部分のなんだかよくわからないアイコンを横にスライドさせることで変更できます。
ある程度クリックしてカウントが溜まると、BGMが変わります。
BGMはチームメンバの方が作ってくれたのですが、パパッと5種類くらいの音楽作ってくれた、すごかったです。
で、BGMが変わると同時に、フィーバータイムに突入します。すると。。。
画面上にカタツムリが大量発生します。
意味はない。
また、溜まったカウントはアチーブメントの解放にも使えます。
アチーブメントを解放するとポイントが溜まりやすくなります。
本来であればアチーブメントを解放することで、選択できるボイスが増えていく、みたいにしたかったのですが、そこまで実装する時間はありませんでした。
さて。
何これ?って感じですね。
作ってるときは、それなりに楽しいんじゃね?って思いで作ってました。途中若干疑問に思うところも会ったんですが。
改めてやってみるとイミフな感じは若干否めないです。
もしかしたら公開されるかもしれませんので、公開されたらここに張ろうかと思います。
で、いろいろやってみて感じたところを書いていこうかと思います。
○計画をちゃんとたてないとダメ
これに尽きる気がする。
別に完成しなくてもよくて、適当なクオリティでいいんだったら、計画なんていらないんですけどね。ただ、自分としてはちゃんとしたもの作ってみたかった。ちゃんとしたもの作りたいなら、ちゃんと計画立てないとだめっすね。
そこを率先して言い出せなくて、何作るかを何となく決めて、なんとなく分担して、なんとなく着手して、なんとなく進捗確認して、、、ってやってた気がします。「このままいくとまずいな」っていうのは感じていたのですが、いかんせんそこを言い出せなかったのが反省点ですし、悔やまれます。
未経験だろうが関係なく、「これはちょっとどうなん?」っていうのは、言っていかないとだめですね。ただ、言い方はもちろん考えないといけませんね。マサカリの投げ合いがしたい訳じゃないので。
○戦力外待ったなし
未経験でもなんとかなるっしょ、と思っていたんですが、なんとかならないですね。
結局足を引っ張って、クオリティ下げにいってた気がします。同じチームのメンバーには迷惑かけて、申し訳なかった。受け身になり過ぎた気がします。
できないなりに、こんなことならできます!ってのをもっと主張するべきでした。自分だと「ゲーム開発はやったことないですが、普段仕事でスクリプト書いてるので、コード書く部分ならできると思います!」みたいな。そこらへんも、無駄に遠慮というか、人見知りしてしまったことが悔やまれます。
次回参加するときまでに実力つけて、リベンジしたいです。
○Asset Serverが貧弱
Asset Serverを使わせてもらったのですが、これがもう貧弱で。。。SVNより機能少ないんじゃないの?と思いました。Gitから移ってくると特に感じました。機能少ない、ってか、ない。
なんとかならないもんかな。みなさんUnity使ってチーム開発する時って、何使って管理してるんでしょうか?教えてほしい。
○シーンを複数人で触れない
触れるんですが、触ると100%コンフリクトする。1シーンにつき1人が担当とかすると、メインのシーン作る人に負担がいくし、シーン分けすぎるとロードの時間が長くなるし、難しいなと思いました。
切り分けと分担の仕方が難しいなと感じます。正解はないと思いますが、最適解の導き方みたいな、こんな感じで分割するとうまくいくよ、みたいな、基本になる考え方とかがあれば、聞いてみたいですね。
ざっと挙げるとそのくらいですね。
なんかネガティブなことばっかり書いてますが、楽しいことの方が多くて、得る物が多かったのは間違いありません。
次回も絶対参加したいなと思います。
Unity 勉強会にまた行った。
Unityにおける
・Localization
・Reflection
についてでした。
○Localization
テキストのローカライズはsqliteにKV形式で保存して泥臭くやるのが主流っぽい。画期的なツールみたいのは、なさそう。
バイナリファイルの管理が大変。特にAndroidは容量がカスなので余計なファイルが増えると評価が下がったりする。
○Reflection
C#におけるReflectionの話で、Unityだけに限った話ではなかった。
確かに便利だけど、そもそも、Reflectionを使わざるを得ない状況がすでに負けじゃね?とか思ったり。そんなことないけど。Reflection使ったことあるけど。
懇親会で話をした方がplayframework * scalaの方で、そっちの方が印象に残ってる。
Unityの勉強会に行った
こちらの勉強会に参加させて頂きました。
http://unitytech.doorkeeper.jp/events/8654
主な話は二つ
・PostProcessBuildの話
・ガチャウォーリアーズにおける生理的快感の話
○PostProcessBuildについて
・そもそもPostProcessBuildとは?
Unityで作成したアプリを実機向けにビルドする際に、特定の処理を割り込ませる機能らしいです(実機向けにビルドしたことがまだないんです)
・具体的に何ができるんですか?
いろいろできます(え)
シェル、Perl、rubyなどで記述するので、そこでできることはだいたいできる
Unityスクリプトでも記述できる
Macはどちらでもいけるけど、WindowsだとUnityスクリプトかな。
・で?
正直、便利なものなのかもしれませんが、いまいち「それがあることで何が楽になるんですか?」に対して共感できなかった。
と、いうのも実際にアプリ作って、ビルドして、リリースして、っていうのをまだやったことがない!!!!!
いや、めんどくさい処理を自動でやってくれるように処理を組み込める、っていうのはわかるんですが、実際にそのめんどくさいを体感してないから、なんとも。
なので、ここに関しては自分の今後に来たい。
○ガチャウォーリアーズにおける生理的快感の話
・ガチャウォーリアーズとは?
こちら
http://oneofthem.jp/apps/gotcha_warriors/
・個性的なキャラクタの作り方
Sprite(パラパラアニメ)だと、画像が増えまくって容量がヤバい
ボーンアニメーションだと、手間がかかりすぎる
そこで選んだのが上記二つのいいとこ取りしたSmoothMoves( http://u3d.as/content/echo17/smooth-moves/2Fn )
ただ、悪いところもあった(オブジェクト生成時のオーバーヘッドがはんぱない、DrawCallがキャラクタ一体につき一回呼ばれる)
そのへんはいろいろ、制約やらルールを決めてがんばったようです。
・敵を吹き飛ばす快感の実現
Unityの物理演算をそのまま使っても、あんまり気持ちよくない
なので、ぜんぶ設定できるようにして、気持ちよくなるように値をいろいろ変えた
○まとめ
PostProcessBuildまわりの話はあまり実感なかったけど「Jenkinsと組んで自動化がさらに捗るよね」ってことだけはよくわかりました。
生理的快感の話は、技術的な話メインではなかったので、わりとわかりやすかったです。また、懇親会でガチャウォーリアーズのプロデュースを行った方とお話できたんですが、それもけっこう面白かったです。200万DLを達成していると、いろいろ大変みたいですね。
SmoothMovesが気になったので、とりあえ試してみようかと思います。