【1日1本アプリ開発】同時にこなせ!【19本目】

どうもsh0です。

開発19本目のアプリです。

今日のアプリ

【1日1本アプリ開発】同時にこなせ!【19本目】

アプリ解説

今回は1つのアプリで同時に二つのゲームをこなすアプリを作成しました。

17本目

左側のアプリは、17本目に作成したパズルゲームを配置しております。

そして、右側の画面には、横スクロールゲームとして、
猿に対して落ちてくる岩にあたらないように逃げるというゲームを配置しました。

どちらが失敗したとしても、
GameOverになってしまい、うるさい猿のページに飛ばされます。

ゲームとしては、どちらも単品だとそんなに難しくないと思いますが、
どちらも同時にとなると、意外に難しくなるんですね!

なんか昔、脳トレとかで、同時に何かをこなす!みたいなのがあったような、なかったような…
からヒントを得て、作成しました!
(脳トレではなかったかもしれませんが)

今日のちょっとソース。


後日記載致します


使用ミドルウェア

【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

【1日1本アプリ開発】大きくしろ!【17本目】

どうもsh0です。

開発17本目のアプリです。
(けっして下ネタではありません)

【1日1本アプリ開発】大きくしろ!【17本目】

今回は表示される数字の中から大きな数字を選択していき、
100を目指すパズルゲームです。

  
 
表示される9つの数字は前回選択した数字から
ランダムで-10から+4位までの値が表示されます。

 ですから間違って、前回より小さい数字を選んでしまうと、
かなりの時間ロスになってしまうので、
クリアがとても難しくなります。

 
 (というか、多分一回でも間違うとクリアできないのでは、ないかと思います)

・今日のちょっとソース。


【Unity】SE音の設定【正解音・ハズレ音】


【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

【1日1本アプリ開発】障害物を越えて行け!【15本目】

どうもオザワです。

開発15本目のアプリです。

【1日1本アプリ開発】世界の愛してる辞典!【15本目】

本プロジェクト初参加です。
ゲームアプリ開発も含めて初開発なのでバグ等多いかもしれませんがご容赦願います。

今回はマ〇オの様な横スクロールができる2Dゲームを開発しました。
初めてにしては頑張ったと思ういます。。。とはいっても、初心者が1日で作成できる
レベルなので中身も簡単ですので是非参考にしてください。

・今日のちょっとソース。

【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

【1日1本アプリ開発】漢字を作れ!【14本目】

どうもsh0です。

開発14本目のアプリです。

【1日1本アプリ開発】】漢字を作れ!【14本目】

今回は漢字選択パズルゲームです。

問題はいろいろ用意しましたが、一旦1問だけ…
(すみません。時間に間に合わず…)

1問だけですが、正直結構難しいと思います。

一発でクリアできる人は、結構頭いいと思います。

私には無理です。

・今日のちょっとソース。

オイスターソース


すいません。改めて更新します。


【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

【1日1本アプリ開発】世界の愛してる!【13本目】

どうもozaniです。

開発13本目のアプリです。

【1日1本アプリ開発】世界の愛してる辞典!【13本目】

世界中の女性とお近づきになりたいと思ったこと、ありませんか。
そんな思いを込めて作成したアプリとなります。

 

・今日のちょっとソース。

シーン間の値の受け渡し

	
   // ラベル文言管理クラス
   class LabelWords
   {
       public static string ILoveYou { get; set; }
       public static string ILoveYouKana { get; set; }
   }
   // ドロップダウン変更イベント
   public class LanguageDropDown : MonoBehaviour
    {
        public void OnValueChanged(Dropdown dropdown)
        {
            switch (dropdown.value)
            {
                case 0:
                    LabelWords.ILoveYou = "愛してるよ";
                    LabelWords.ILoveYouKana = "アイシテルヨ";
                    break;
                case 1:
                    LabelWords.ILoveYou = "I love you";
                    LabelWords.ILoveYouKana = "アイラブユー";
                    break;
                    ……(略)
            }

        }
    }

上記のソースコードは、ドロップダウンを変更したときに動くプログラムです。

Unityでシーン間で値を共有する場合、最も簡単な方法は静的(static)な変数に値を入れてしまうことです。
上記のソースコードの様に、変数にstatic キーワードをつけることでその変数は静的な変数となります。

静的な変数の特徴は、プログラムの開始から終了まで値が保持され続けることです。
普通のstaticではない変数というのは、使い終わった後その値と領域は破棄されます。
今回リリースしたアプリを例にすると、最初のトップのシーンで言語を「英語」と選んでも、普通の変数だとシーンが切り替わるタイミングで破棄され、次の愛してるよのシーンでは何が選択されているのか、わからくなってしまいます。

staticな変数は乱立すると、「え、今これ何入ってるんだっけ?」と複雑怪奇なプログラムになり、思わぬバグの元となりますので、ご利用は控えめに!

【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

【知り合いに実際にプレイしてもらった感想】

グラフィック :

ボリューム  :

操作性    :

ゲームバランス:

独創性    :

クリアタイム :00分

【1日1本アプリ開発】謎を解け!【12本目】

どうもsh0です。

開発12本目のアプリです。

【1日1本アプリ開発】謎を解け!【12本目】

今回は謎解きゲームです。

と言っても解く謎は2つのみです。

2つの仕掛けを解けば、クリアの超シンプル謎解きです。

作っていて思いますが、謎解きは1つの謎を作るのに1時間くらいかかるのに、
解くのは本当に一瞬ですよね。

脱出ゲームとか作られている方はすごいなと思わされます。

もっと色々複雑に考えて実装しないと、面白いと思ってもらえるものは難しんだろうなあ。
と痛感させられました。。。

次くらいも謎解きでもっとストーリーとかを絡めたアプリを作ってみたいなと思います。

・今日のちょっとソース。

Animatorのトリガーパラメータ処理


AnimatorとAnimationって、慣れると分かり易いなーって思うんですが、正直すぐに忘れてしまうんですよね。

コールバック関数もきっちり用意されているし、他のAnimationに遷移させるトリガーやフラグも簡単に設定出来ますし。
(すぐ忘れます。全部笑)

今回のアニメーションでは基本的にトリガーパラメータで遷移させています。

wakeとlargeというトリガーパラメータを用意し、
クリックでトリガーをセット、アニメーション実行という非常にシンプルなものです。


 // クリック処理(wake Animation実行)     
 Image.GetComponent().SetTrigger("wake");

(ImageはAnimatorがセットされているオブジェクトです)

やっぱりこれくらいシンプルなことでないと覚えてられないですね…


【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

 

【知り合いに実際にプレイしてもらった感想】

今回は本サイト初めての謎解きゲーです。私個人的には好きです。

色々ケチをつけたらいくつも出てきそうですが、1日で作ったににしてはしっかりと

謎解きがあって楽しめました。ただ、最初はゲームスタートしてすぐにゲームオーバ

になったのでバグか?と思ってしまったのでアプリの最初にルール説明が有るといい

かも知れないですね。続編に期待です。

 

グラフィック :★★☆☆☆

ボリューム  :★★★☆☆

操作性    :★★★☆☆

ゲームバランス:★★★☆☆

独創性    :★★★★☆

クリアタイム :10分

【1日1本アプリ開発】サルを揃えろ!【11本目】

お初です、ozaniです。

開発11日目です。

【1日1本アプリ開発】サルを揃えろ!【11本目】

今日は簡単なパズルゲームを作成しました!

・今日のちょっとソース。


	
var currentPosIndex = picePosDict.
    Where(x => x.Value.name.Equals(flickPiece.name)).
    FirstOrDefault().Key;

パズルのピースの位置とそのオブジェクトを格納したHashtableをゲーム開始時に作成し、各ピースの位置を管理しました。

上記は、フリックしたピースの位置情報をLINQを使用して取得しているソースコードです。
C#はLINQがあるから大好きだったりします!

LINQを使用しない場合、ソースコードは下記のようなソースコードになるかと思います。

	
var currentPosIndex = 0f;
foreach (var index in picePosDict.Keys)
{
    if(picePosDict[index].name.Equals(flickPiece.name))
    {
        currentPosIndex = index;
        break;
    }
}

上記のコードを上から読んでいくと
「Hashtableの中身を順番にループで見ていき、フリックしたピースと名前が一致するオブジェクトがあれば、そのINDEXを保持してループから抜ける」
となります。

「Hashtableからフリックしたピースの位置をとってくる」ていう意味では、
1つ目のソースコードも、2つ目のソースコードも同義なのですが、
やりたいことをストレートに表現しているのは前者だと思いませんか?

積極的にC#やるなら、積極的にLINQ使っていきましょう!

【使用ゲームエンジン】
Unity 2018.3.5f1

【プロジェクト管理】
git(Bitbucket使用)

これからも、よろしくお願いします。

【1日1本アプリ開発】子猿を救え2!【10本目】

どうもsh0です。

開発10本目のアプリです。

【1日1本アプリ開発】子猿を救え2!【10本目】

横スクロールゲームになりました。(今年2度目、二日ぶり)

せっかく8本目に作った横スクロールゲームなんですが、
あまりにもさっくりとしていたので、色々利用して10本目でも同じ形で
出してみました!

ただし、難易度は本当に別格です。

正直デバッグの最後の方は、
クリアできなくて、まあ良いやろ!的な…
(実際にクリアできることは、端末で確認済みなんで、ぜひ遊んでみてください!)

・今日のちょっとソース。

画面の切り替え

・canvasを使用した画面表示をしているのですが、なんかカメラをうまく動かせない…。
と、煮詰まったので、それならCanvas複数作っちまえ!

と、3面ステージがあるので、3面分Canvasを作りました。

・初めのステージのCanvasだけactiveにして、右端までたどり着いたら、
Canvasのアクティブを切り替えて、ステージ移動です!

該当ソースは下記となります。


    void OnCollisionEnter2D (Collision2D col)
	{
		if(col.gameObject.name == "RightWall")
		{
                            Canvas2.SetActive(true);
                            Destroy(Canvas1);
		}
	}

うーん、正直邪道なのだろうなあとわかりつつ….

すみません。

後この方法をとると、なぜかステージ移行で、キャラのポジションが必ず0,0になるんですよね。
これなぜなんでしょうか。

どなたかお教え頂けると助かります。

【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

 

【知り合いに実際にプレイしてもらった感想】
8日目ゲームファン待望の続編がリリースされました。以前の操作性はそのままと言う激ムズ仕様に
変更は無いままステージが3ステージまで追加されております。本当に暇な人のみがプレイを許され
るゲーム。一日のやる事が無くなった方はぜひプレイしてみてください。

グラフィック :★★☆☆☆
ボリューム  :★★★☆☆
操作性    :★☆☆☆☆
ゲームバランス:★★★☆☆
独創性    :★☆☆☆☆

クリアタイム :15分

 

【1日1本アプリ開発】サルを救え!【9本目】

お初です、ozaniです。

開発9日目です。

【1日1本アプリ開発】サルを救え!【9本目】

チーム初参加で作成したゲームは、
落ちもの系となりました!

Unityゲーム初作成で不出来なところもあるかと思いますが、
これからどうぞよろしくお願いします!

・今日のちょっとソース。


	
Destroy(gameObject);

ゲーム内では、入れ物に触れたサルを上記のスクリプトで削除しています。

【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

これからも、よろしくお願いします。

【1日1本アプリ開発】子猿を救え!【8本目】

どうもsh0です。

開発(1年プラス)8日目です。

結構時間かかりました。
まさか1年かかるとは…。

(すみません。ずっとやってませんでした…)

【1日1本アプリ開発】子猿を救え!【8本目】

横スクロールゲームになりました。

今年からチームになったのでバンバン作っていきますよ!

・今日のちょっとソース。

・ウイスターソース!

8なんで子猿!

明日も、頑張るぞ!

【使用ゲームエンジン】
Unity2018.3.5.f1

【プロジェクト管理】
git(Bitbucket使用)

【工夫内容】
子猿のジャンプ!

【知り合いに実際にプレイしてもらった感想】
本ゲームはルールや操作方法がとてもシンプルでプレイヤーを選ばない仕様。
内容は親猿が子猿を救うだけだが操作性のせいで難易度が跳ね上がっている。
暇な方はぜひ

グラフィック :★★☆☆☆
ボリューム  :★☆☆☆☆
操作性    :★☆☆☆☆
ゲームバランス:★★★☆☆
独創性    :★★☆☆☆

クリアタイム :40分