ホーリーのプログラミング日記

ホーリーのプログラミング日記

プログラミング初級者。歴2年。独学。てきとーなアプリを量産しています。現在の総ダウンロード数:10万

Unityでパーティクルを実装してみました

 

Unityでパーティクル(Particle)を実装してみました。えーこんな感じですね。

お金をタップしたときに、白いやつが飛び散っています。

 

 

本当はくまんぼうさんの寺院(てら)へ...みたいな感じにしたかったんですが、今の僕にはこれが精一杯でしたw

 

寺院(てら)へ…

寺院(てら)へ…

  • Ninebonz
  • ゲーム
  • 無料

 (これの演出すごいですよね。めっちゃ気持ちいい)

 

ただ僕はこれで満足なんですよ。生まれて初めてのパーティクルなんで、とりあえずこれで良しとしますw

 

しかしパーティクルって便利ですね。慣れれば色んな演出が出来るんじゃないかと思いました。

実装はこの本を参考にしたんですよ。Unity5の教科書を。

 

Unity5の教科書 2D&3Dスマートフォンゲーム入門講座

Unity5の教科書 2D&3Dスマートフォンゲーム入門講座

 

 

これの中にあるサンプルゲームにパーティクルの実装が書いてあったので、それを参考にして、あれこれイジってみました。

まあネットにも沢山情報上がってますよね。パーティクルは。

 

実装した途端にゲームが華やかになったので、これから時間のあるときにでも少しずつ覚えていこうと思います。

アプリを作る上で無理は禁物である

 

やっぱ人間無理はしちゃいけないと思うんですよ。何かとハードワークを求められるのが現代社会の常なんですが、だからといって無理は禁物です。

僕こないだボルダリングジムに行こうと思ったんですが、親父の遺言を忠実に守って行かなかったですもん。

 

息子がボルタリングに目覚めたらしいので、明日近所に出来たクライミングジムに行ってみようかと思っている。「重力に逆らうな」っていう、親父の遺言を無視することになるが、これはしょうがないだろう。

— 堀口太郎 (@gevvoihorry) 2017年8月30日

 

重力然りで、大きなものに逆らってはいけません。これ絶対ダメなんです。

 

☆☆☆

 

んで、この話をアプリに置きかえると、やっぱ途方もない事に挑戦してはならないってことになります。

僕は露骨にそのスタンスで、今の自分の力量を大きく超えることには挑戦しないようにしています。

 

もちろん、小さな挑戦はいつもしますよ。今日までやったことのない処理を組んでみたり、新しいジャンルのゲームを作ってみたりはしますけど、途方もない一歩は踏み出さないように気を付けています。

大きな一歩は挫折への一歩ですからね。これはマジで危険なんですよ。アプリ作るの嫌になっちゃうから。

 

んで、自分にとっての大きなもの、致命的に足りてないものは以下の2点ですね。

 

・プログラミング技術

・イラスト

 

これが露骨に欠けてるんで、これらに依存するものには、絶対に手を出さないように気を付けています。

 

☆☆☆

 

まずプログラミング技術なんですけど、これは言わずもがなですね。大した処理は書けないんですよ。なのでまず、大規模なゲームは作らないようにしています。

コード量が多くなりすぎると、もうわけ分からなくなっちゃうんでw

その場その場の適当なコードしか書けないので、それでなんとかやりくりできるモノしか作ってません。

 

あとは動きの激しいゲームや複雑なゲームですね。こういう技術を求められるものは今の自分では無理なんで、手を出しません。

アクションゲームやシューティングゲームがそれに当たりますかね。僕の技術だと、激ムズ4段ジャンプ泳げおっさんオッサンよけろが精一杯なんですよw

 

なので、極力動きのないゲーム。例えば脱出ゲームとか、今作ってる放置ゲームとかはいいですね。そんなに動きがないので、自分みたいな稚拙な技術でも何とかなります。

とにかく、画面上の物(オブジェクトって言えばいいのかな?)は、極力動かさないように気を付けています。

 

☆☆☆

 

次にイラストですね。これはもう典型的なダメパターンですよ。画力が低すぎる。

フリー素材とかを上手く活用すればいいんでしょうけど、それもよく分からないし、ちょっとキャラを動かすときって、パラパラ漫画みたいに絵を用意しないといけないじゃないですか。なので、結局自分で描いてます。

 

んで、そういうお粗末なイラストしか描けないんで、気を付けてるのはあれですね。真面目なゲームを作らないこと。画力の低いイラストがハマるようなバカゲーしか作りません。

ゴロゴロ覚える古文単語とか、こないだ出したブレイクアウトオブファイアとかは、イラストがないんでバカゲーにはなってないと思うんですが、その他のゲームは思いっきりそれです。バカっていうかアホをコンセプトにしてますね。そうしないと、自分のイラストが成立しないからw

 

ド素人がアプリを作ろうと思ったときって、実はイラストが壁になると思うんですよ。

プログラミングは本やネットの情報でなんとかなる、簡単なものは作れるようになると思うんですが、いざイラストを合わせようと思ったときって、困りませんか?

元々絵の上手い人や、そっちの職業に就いてた人ならば困らないでしょうけど、そうでない人は普通に困ると思うんですよね。

 

僕はまさにそうなんで、自分の画力を上げるのは諦めて、とりあえず現時点の画力で通じるゲームだけ作るようにしています。

 

☆☆☆

 

アホなコンセプトのゲームで、なおかつ画面上の物が極力動かない。

今の自分が作ってるものって言えば、これですね。これになります。

 

最初の方で書きましたけど、小さな挑戦は大事ですよ。技術の向上は継続的な課題で、ずっとやってかなきゃいけないことだと思ってるんですが、途方もないことに挑戦するのは避けています。

なによりもアプリを作ることへのモチベーション維持が第一だと思ってるので、そうしてるんですよね。

 

他の人がどうなのかは分かりませんが、僕はこういうスタンスを取ってます。

気付けば10万ダウンロードを達成してた件

 

ふとアプリのダウンロード数を確認してみたら、累計10万ダウンロードを達成していました。

 

f:id:gevvoihorry:20170915160053p:plain

 

最近のペースで行くと、年末には達成するなと思ってたんですが、中国からのよく分からんダウンロードがあるおかげで、思ってたよりも早く達成することが出来ました。

(いや、おかげでってことはないな。これビタイチ収益に繋がってないんで迷惑。早く収まってほしいです)

 

えー、そういう余計なかさ増しがあるせいで、どうも素直に喜べないんですが、とりあえず節目なんで喜びましょう。

ダウンロードあたりの単価は非常にお寒いことになってますが、それでも嬉しいぞ、とw

 

アプリを作り始めた1年半くらい前は、1万ダウンロードって聞くだけで超上級者だと思ってたし、10万なんて聞いたら神だと思ってたんですが、とりあえずここまで行けて嬉しいですね。

ただ、さっきも書いた通り、ダウンロードあたりの単価は非常に低いので、収益は非常に低いです。

多分数円とかですよ。ちゃんと計算してないんですけど、3〜4円くらいでしょう。きっと。

(職安へ行こうだけは、前に計算したことがあるんですよ)

脱出ゲームの収益性について晒してみる - ホーリーのプログラミング日記

 

てか本質的にはダウンロード数なんて、あんまり関係ないですよね。少ないダウンロード数でもかなりの収益を上げてる方もいますし。

例えばこちらの方とか、1万5千ダウンロードで86万円ですよ。誰かさんの2倍以上だw

アプリの収入(86万円)で新車を買いました。子育て母ちゃんがコタツで開発した「授乳タイマーアプリ」1.5万ダウンロードでも収益をあげられた理由。 | アプリマーケティング研究所

 

ダウンロード数はダウンロード数で、それだけ多くの人に遊んでもらえたんだってことで嬉しいですけど、もう少し収益性の高いゲーム、長く遊んでもらえるゲームを作りたいですね。

 

最近はそんな風に思っております。

ゲーム作るときのモチベーション維持方法

 

なんだったかな?こないだ、「ゲーム作るときって長期化しがちだけど、そのモチベーション維持をどうしてる?」みたいなツイートをみたんですよ。それはアンケート方式だったんですけど。

これって確かにみんな共通の問題ですよね。上級者から初級者まで。

てか本当の初級者こそ、ある意味一番の問題だと思います。途中で挫折して終わるってのが、あるあるですからね。

 

んで、自分がどうしてるってことを書く前に、僕はあれなんですよ。そもそも一ヶ月で終わるようなアプリしか作ったことがありません。なので、長期化しかことがないと言えば、そうなんですよねw

見積もりの5倍の期間かかるのがアプリ開発ってやつですが、たいがい一ヶ月くらいで完成まで持っていってます。色んなところを端折りながら。

なので、モチベーションが続くだろう期間(自分の場合は約一ヶ月)で、何としてでも終わらせるっていうのが、ひとつのモチベーション維持ですかね。

 

んで、実際にどうしてるって話なんですが、これは細かいToDoリストを作って、それをひとつひとつ終わらせることでモチベーションを維持しています。

例えばゲーム。最近はゲームしか作らないんですけど、これ作るときって、やることが膨大なわけですよ。大まかな企画を立てて、ベースのシステムを組んで、イラスト用意して、細かいデザインを調整して、デバックしてと。

そういうやることのひとつひとつを書き出して、終わったらコメントアウトみたいにして消しています。

 

//出現までのゲージ

//ゲーム画面もヘッダー広告置いてみよう

//ある程度の個数を取ると、動画ボタンが出るようにする。

//動画見れるカウントは最後に変更したい。常に25はつまらないかも //ランダムにした

//イベント中のゲージも実装

お金GETのテキスト表示 -50~50 350~400

イベント実装。動画がバズった的な。

イベントマネージャーを実装して、そこにイベントを設ける

//DOTween実装。

最初にお金が出現するとき、時間差で出るようにする

出現するときは、小さい状態から大きい状態になるようにする

んでアルファ値も変える。最初は透明に近い状態

お金をゲットしたとき、数値を主人公の上に出す

 

うん。これ実際に貼ると恥ずかしいことこの上ないんですが、こんな感じでToDoを都度書き出して、それが終わったらコメントアウトしています。

 

僕と同じような初級者の人って、やることが多すぎてあうあうしがちだと思うんですが、やることを全部書きだすと頭の中が整理されていいですよね。

終わったものを見返すと、確実に進んでるって達成感も得られますし。

僕はこんな風にしてモチベーションを保っています。

 

うーん、しかしこのToDoリストは恥ずかしいな。仕事出来ないやつ丸出しではないかw

DOTweenを使ってtextのcolor、そのalpha値を変更する方法

 

完全に自分用のメモです。

DOTweenが便利だと知って、ちょこちょこ使ってるんですが、textのalphaを変更する方法が分かりませんでした。

UGUIのTextって言えばいいのかな?うん、なんかそれです。

 

結論から言えばこれで出来ました。

0.5fが最終的なalpha値で、2.0fが時間ですね。

 

var text = textGetMoney.GetComponent<Text>();
DOTween.ToAlpha(
() => text.color, 
color => text.color = color,
0.5f,                                
2.0f
);

 

これ、その手前でtextGetMoneyってやつを指定してるんですよ。

 

GameObject textGetMoney = (GameObject)Instantiate (textGetMoneyPrefab);

 

Prefabから呼び出しています。んで、これのalpha値を変更したかったんですが、その方法が分かりませんでした。

上記のコードが正しいのか分かりませんが、とりあえず出来たので、ここにメモしておこうと思います。

(Unityで行き詰ったとき、結構自分のブログを検索するんですよw)

 

参考にさせていただいたサイトはこちらですね。

[Unity]DOTweenめーも|杏z 学習帳

 

いやー、とりあえず出来て良かったわー。

Unityでアニメーションを実装するのが苦手であります

 

Unityでっていうか、もう何でもそうですね。アプリにアニメーションを実装するのが本当に苦手です。てか技術力が著しく足りてません。

とりあえずこの画面にアニメーションを実装したいんですよ。

 

f:id:gevvoihorry:20170913061416p:plain

 

お金をタップすると、そのお金が主人公めがけて飛んでくようにしたいんですが、これが難しい。

いや、基本的なことは出来るんですよ。和尚本に書いてあったんで。

 

Unityの寺子屋 定番スマホゲーム開発入門

Unityの寺子屋 定番スマホゲーム開発入門

  • 作者: いたのくまんぼう,大槻有一郎
  • 出版社/メーカー: エムディエヌコーポレーション
  • 発売日: 2017/08/16
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る
 

 

ただ、ここに書いてある内容だけでは足りないと思っています。ちょっと「手触り感」が足りないと。

 

 

本の付録として出された「寺院(てら)へ...」ってゲームをやったんですが、さすがの手触り感なんですよ。

本に載ってるサンプルゲームを見事に昇華されていました。

 

寺院(てら)へ…

寺院(てら)へ…

  • Ninebonz
  • ゲーム
  • 無料

 

もちろん、ここまでのことが出来るとは思ってないんですけど、出来る限りのことはやってみたいんですよね。

ゲームって本当に手触り感が大事だと思うので、いつまでも苦手とかいってる場合じゃないでしょう。

 

ユーザーが触ったときに気持ちいいと感じる演出。どこまで出来るか分かりませんが、トライしてみようと思います。

計画性ゼロなんでいちいち手が止まります

 

さすがに2年くらいプログラミングをやってるんで、簡単なコードでは悩まなくなってきました。

でもゲーム作ってるときって、結構手が止まるときが多いんですよ。それっていうのはあれ。仕様を考えてるときですね。

 

いつも本当にザックリ考えて、行き当たりばったりでコードを書いてるせいか、いちいち仕様について考えるところで手が止まります。

まあこれ本当に細かいことなんですけどね。何か買い物をする画面で、お金が足りなくて買えないアイテムを選択可能にするかどうかとか、ほんとこんなのでいちいち悩んでおります。

 

アイテムは選択できるんだけど、購入ボタンを押したところで「お金が足りません」て出すのか、そもそも選択出来ないようにするのか。

うーん、まあどっちでもいいことなんですけど、なんせ前もって全然考えてないので、いざそれに出くわすたびに手が止まります。

 

やることさえ決まってれば、それなりにガーッとコードを書いていけるんですが、計画性ゼロのため、しょっちゅうストップしておりますよ。

んー、なんかこういう仕様って難しいですね。正解はないんでしょうけど、効率のいい方法はある。でもいつも悩んだすえに、非効率なやり方で突っ走るっていうのが私のスタンダードであります。

 

そしてブログに現実逃避するっていうのも、スタンダード。。