テクノモンキー(サブ)

テクノモンキーのニュースブログです。 主に新作ゲームアプリやAmazonプライムビデオのレビュー、iOSやAndroid、Unityのアプリ開発に関する情報や考え事などを気軽に発信します。

謎解き推理ゲーム「イラスト捜査」をリリースしました!

2023年12月29日、新作謎解き推理ゲーム「イラスト捜査」をリリースしました!

 

 イラスト捜査

app-seed.com

イラスト捜査-謎解き推理ゲーム-

イラスト捜査-謎解き推理ゲーム-

  • AppSeed, Incorporated.
  • ゲーム
  • 無料

apps.apple.com

play.google.com

 

謎解き推理ゲーム「イラスト捜査」のゲーム内容

1枚の事件現場イラストから犯人を突き止めろ!「イラスト捜査官」は簡単な操作で事件現場の捜査官、名探偵気分を味わえる謎解き推理ゲームです。問題は全部で20ステージあります。全ての事件解決を目指しましょう!

謎解き推理ゲーム「イラスト捜査」をリリースしました!

 

アプリ審査からリリースの流れをスムーズにできた

 

今回のアプリは、素材が揃ってから一気に作ったのですが、アプリ審査からリリースまでがスムーズにできたところがよかったです。

毎年、年末のアプリ申請は、AppStoreの審査に時間がかかったり、審査休止期間があるのでそれを考慮してできる限り早めに出さないといけなかったりします。

今回のアプリは年末ギリギリのタイミングで素材が揃ったし、今年中のリリースは難しいかなと思っていたのですが、審査自体も通常通り大体1日程度で審査が終わったので、AppStoreの審査もだいぶ快適になった印象を受けました。

あとは、iOS版がリリースタイミングでAdmobの広告が表示されないので、まずは広告なしの版でリリースして、その後に広告を追加してリリースという、今年リリースしたアプリで学んだことを活かせましたし、似たアプリを複数出すとリジェクトされるという今まで散々悩まされてきた問題も、デザインや操作方法をできる限り違うように見せることでリジェクトされないようにすることも今回うまく行ったことが嬉しかったです。

今年は確か2本くらいアプリをリリースしましたが、やっぱりもう少しリリースサイクルを早くして、企画したものをできる限り早くリリースできるように来年はしたいなと思いました。

 

ミステリー脱出ゲーム「呪いの密室」をリリースしました!

呪いの密室 -ミステリー脱出ゲーム-

2022年3月19日、新作ミステリー脱出ゲーム「呪いの密室」をリリースしました!

前作「鍵のない密室」の続編です。

ミステリーゲーム・推理ゲーム好きな人におすすめです。

 

呪いの密室

app-seed.com

iOS版: https://apps.apple.com/jp/app/id1594525438

Android版:https://play.google.com/store/apps/details?id=com.appseed.mistery02

 

 

 

ミステリー脱出ゲーム「呪いの密室」のゲーム内容

ミステリー脱出ゲーム「呪いの密室」をリリースしました!

ミステリー脱出ゲーム「呪いの密室」をリリースしました!

ミステリー脱出ゲーム「呪いの密室」をリリースしました!

【心霊の密室から生還せよ】鍵のない密室の続編がリリース!

【あらすじ】

監禁事件から半年が経ち、やっと平凡な日常を取り戻した間宮シンジだが、 大学で知り合った女の子とのデート中にお化け屋敷に閉じ込められてしまう。果たしてシンジは無事に彼女を守り抜き、生還することができるのか?  

「呪いの密室」は密室を脱出しながら事件の謎を解き明かしていく謎解き推理ゲームです。全10部屋の謎を全て解いて真犯人を追い詰めましょう!

全編無料でプレイできます。 ミステリーゲームが得意な人におすすめです。

 

 

新しい要素が入った作品になった

今回の「呪いの密室」では、前作の「鍵のない密室」の推理要素に加えて、犯人当てと、マルチエンディングの要素を追加しました。正しい犯人を当てられた場合のみトゥルーエンドを見ることができるので、推理力に自信のある方は是非遊んで頂きたいです。

 

 

 

呪いの密室

app-seed.com

iOS版: https://apps.apple.com/jp/app/id1594525438

Android版:https://play.google.com/store/apps/details?id=com.appseed.mistery02

 

www.youtube.com

 

ミステリー脱出ゲーム「鍵のない密室」をリリースしました!

f:id:no-work-no-life-4081:20211009134427p:plain

ミステリー脱出ゲーム「鍵のない密室」をリリースしました!

本日(2021年10月9日)、新作ミステリー脱出ゲーム「鍵のない密室」をリリースしました!

ミステリーゲーム・推理ゲーム好きな人におすすめです。

 

鍵のない密室

app-seed.com

iOS版: https://apps.apple.com/jp/app/id1587461992

Android版:https://play.google.com/store/apps/details?id=com.appseed.mistery

Amazon版:https://www.amazon.com/gp/product/B093RGSBYD

 

 

 

ミステリー脱出ゲーム「鍵のない密室」のゲーム内容

ミステリー脱出ゲーム「鍵のない密室」をリリースしました!

高校卒業以来、初めて開かれた同窓会に参加した間宮シンジ。同じテーブルの四人で盛り上がり、解散後に別の店で飲み直すことに。しかし途中で記憶を失ってしまい、気づいたら見知らぬ部屋にいた…

全10部屋の謎を全て解いて真犯人を追い詰めましょう!

ミステリー脱出ゲーム「鍵のない密室」をリリースしました!

ミステリー脱出ゲーム「鍵のない密室」をリリースしました!

ミステリー脱出ゲーム「鍵のない密室」をリリースしました!

ミステリー脱出ゲーム「鍵のない密室」をリリースしました!

過去一で大変だったけど、一番面白くできた気がする

企画案が12月くらいに出来上がって、そこからだいぶ時間がかかってしまい、ようやく10月にリリースできました。(約10ヶ月もかかってしまった...)

いつも通り別の仕事をやりながらの制作になってしまったこともあり、途中終わりが見えなくなることもありましたが、企画者さん・デザイナーさんに素晴らしいシナリオ・素材を制作頂いたことでモチベーションを維持できました。(本当に助かりました。)

最終的に完成したアプリは、今までで作った自社アプリの中でも一番面白くできたと自負しております。今回のアプリ開発を経て、短期間で頑張って作るよりも、より自分がいい作品だと思えるもの・自分で自信を持ってリリースできるアプリの方がより良いものができる気がしました。(例えあまり売れなくても、後悔しないくらい頑張ったと思えるので)

是非たくさんの人に遊んで頂けると嬉しいです。

 

 

鍵のない密室

app-seed.com

iOS版: https://apps.apple.com/jp/app/id1587461992

Android版:https://play.google.com/store/apps/details?id=com.appseed.mistery

Amazon版:https://www.amazon.com/gp/product/B093RGSBYD

 

新作謎解き推理ゲーム「イラスト探偵」をリリースしました!

新作謎解き推理ゲーム「イラスト探偵」をリリースしました!

本日(2021年5月1日)、新作謎解き推理ゲーム「イラスト探偵」をリリースしました!

ミステリーゲーム・推理ゲームが好きな人に是非プレイして頂きたいです。

 

イラスト探偵 -謎解き推理ゲーム-

iOS版: https://apps.apple.com/jp/app/id1563534755

Android版:https://play.google.com/store/apps/details?id=com.appseed.tantei

Amazon版:https://www.amazon.com/gp/product/B09JYVQ2FN

 

app-seed.com

 

謎解き推理ゲーム「イラスト探偵」のゲーム内容

「イラスト探偵」は1枚のイラストから事件の謎を解き明かす謎解き推理ゲームです。

簡単操作で探偵気分を味わえます。

 

新作謎解き推理ゲーム「イラスト探偵」をリリースしました!

 

出題される問題の答えとなる箇所をタップします。

新作謎解き推理ゲーム「イラスト探偵」をリリースしました!

 

正解すると次の問題に進めます。

新作謎解き推理ゲーム「イラスト探偵」をリリースしました!

 

問題は全部で160問あります!

全て解いて名探偵を目指しましょう!

新作謎解き推理ゲーム「イラスト探偵」をリリースしました!

 

 

iOS版: https://apps.apple.com/jp/app/id1563534755

Android版:https://play.google.com/store/apps/details?id=com.appseed.tantei

Amazon版:https://www.amazon.com/gp/product/B09JYVQ2FN

 

app-seed.com

毎日続けられる脳トレアプリ「計算脳トレ」をリリースしました!

apps.apple.com

play.google.com

 

昨日、「計算脳トレ」というアプリをリリースしました。

個人アプリ開発は久しぶりだったので結構時間がかかってしまいました...

(アイデアから完成・リリースまで2ヶ月くらい)

今回は僕が作った「計算脳トレ」アプリの紹介です。

 

毎日続けられる脳トレアプリ「計算脳トレ

毎日続けられる脳トレアプリ「計算脳トレ」

毎日続けられる脳トレアプリ「計算脳トレ」

毎日続けられる脳トレアプリ「計算脳トレ」

 

「計算脳トレ」アプリの特徴としては、

  • 簡単な計算ゲームを4種類収録(計算20・フラッシュ暗算・演算記号・数字探索)
  • カレンダーで連続プレイ日数・通算プレイ日数を記録できる
  • 何問連続正解できるかを競う、サバイバルモード機能
  • 毎日続けられる脳トレアプリ

って感じです。

 

今回も、企画・開発・デザインを全て一人でやってみました。

 

develop.hateblo.jp

develop.hateblo.jp

イラレを使ったアイコン制作もだいぶ慣れてきた感じはしますが、デザインはやっぱり難しいです...(センス的な問題もあるので将来的には外注にしたい)

 

あと、今回のアプリはUnityで作ってみました。

やっぱり、iOSAndroidもまとめて作れちゃうのはかなり楽です。

不具合修正などの運用面を考えても、一括で編集できるのはいいですね。

今後もカジュアル系のゲームはUnityで作っていこうと思いました。

(ネイティブ開発に比べると多分1.5倍くらい早く作れる気がする)

 

ということで、「計算脳トレ」よかったら是非遊んでみてください!

 

apps.apple.com

play.google.com

 

 

 

 関連:

計算脳トレ:毎日続ける脳トレアプリ – Youhei Kijima

 

【Unity】アニメーションを切り替える際、最初のアニメーションが終わるまで開始できない場合の対処法

https://unity3d.com/files/images/ogimg.jpg?1

Unityアプリ開発でつまづいた部分のメモ。

UnityでGameObjectにアニメーションを追加して、スクリプトでパラメータを変更して、アニメーションを切り替えるってことをやったのですが、

 

最初のアニメーションの途中で次のアニメーションに切り替えようとしたら、

最初のアニメーションが終わってから次のアニメーションが実行されてしまい、

アニメーションが遅れて実行されてしまう問題が発生しました。

今回はその対処法です。

 

アニメーションの切り替えが即時反映されない

 

f:id:no-work-no-life-4081:20180622101350p:plain

 

現象としては以下のような感じです。

 

アニメーションA再生中 → パラメータを変更し、アニメーションBに切り替える

→ アニメーションAがすぐに切り替わらず、アニメーションAが終了してからアニメーションBが実行されてしまう。

 

 

 

アニメーションの切り替えが即時反映されない場合の対処法

 

 

この現象が発生する場合、Unityの「Animator」で切り替え前のアニメーションの「Has Exit Time」がオンになっている可能性があります。

 

「Unity マニュアル」によると、「Has Exit Time」が有効になっている場合、指定時間後に遷移するとのことなので、有効になっている場合、アニメーション完了後に次のアニメーションに移れる状態になるということかと思います。

 

Exit Time はパラメーターに依存しない特別な遷移です。パラメーターの代わりにステートの正規化された時間に依存します。このオプションを有効にすると、遷移は Exit Time で指定した特定の時間に発生します。

docs.unity3d.com

 

 

f:id:no-work-no-life-4081:20180622101835j:plain

「Has Exit Time」をオフにしてみたところ、スクリプトで変更したアニメーションが即時切り替えられるようになりました。

 

 

下記のサイトを参考にさせて頂きました。

tsubakit1.hateblo.jp

 

 

 

 

 

 

【Unity】Scene内のGameObjectをポーズ(一時停止)させる方法

https://unity3d.com/files/images/ogimg.jpg?1

Unityでゲームアプリを開発する時、必ずと言っていいくらい必要な機能といえば

「ポーズ(一時停止)」の機能。

 

ユーザーがゲームプレイ中に一時停止して違う作業をしたり、アプリがバックグラウンドに移行する時などにポーズ機能があったほうがいいですよね。

 

今回はUnityでSceneのポーズ(一時停止)をする方法について調べた結果を書き残しておきたいと思います。

 

 

やり方1.PauseManagerを実装する

 

謎の歩行生物(仮)【PART33】~ポーズ画面(一時停止の処理)を作ってみた~ – クリぬき!【ゲームクリエイターを目指す人へ!】

 

最初試してみたのが、上記の記事で紹介されているポーズを管理する、「PauseManager」クラスを実装する方法。

ポーズ画面で停止させたい子オブジェクトをPauseManagerの子オブジェクトとして全部突っ込むだけのシンプルさがいいな!って思いました。

しかも、特定のオブジェクトは停止させないとか、細かい指定ができるのもいいですね。

 

このやり方で試してみたのですが、Animatorで動かしているキャラが動き続けてしまう結果になりました。(多分、カスタマイズすれば行けるとは思うけど)

 

 

やり方2. Time.timeScaleを使うやり方

 

Time.timeScaleというのは、ゲームの進行速度を調整できるパラメータみたいなイメージです。

「PauseManager」のやり方の説明で、「Time.timeScaleでもポーズはやることもできるけど、色々カスタマイズしたいなら「PauseManager」の方が便利!」的なことが書かれていたので、Time.timeScaleは使わないだろうと思っていたのですが、「PauseManager」でうまくいかなかったので、Time.timeScaleを使うことに。

 

Unityの一時停止で止まるもの、止まらないもの【Time.timeScale】 | TECH Projin

 

上記のサイトを参考にさせて頂きました。

実際にTime.timeScaleを使って見ると、Animatorのアニメーションもちゃんと止まる!

僕の場合、「このオブジェクトはポーズ中も動かしたい!」ってものがなかったので、今回はこれで十分かもです。

 

ただ、Translateでゲームオブジェクトを移動させているものはTime.timeScaleでは止まらなかったので、velocityで移動する形に変更したら無事停止しました。

(上記サイトにある通り)

 

 

 

他にも一時停止の方法はあるかもですが、簡単ですぐできそうなのはこの2つかなー。

Unityで一時停止する方法、実装する前は大変そうかと思ってましたが、やって見ると意外と簡単ですね。

 

関連:

【Unity】プレイヤーがダメージを受けた時に点滅させる方法 - テクノモンキー(サブ)

【Unity】GameObjectの透明度をコード変更する方法(SpriteRendererを使わない)2D - テクノモンキー(サブ)

【Unity】FirebaseでAPNs認証キーを使ってプッシュ通知(FCM)を実装するのに結構苦戦した話 - テクノモンキーのアプリ開発日記

【Unity】テキストの行間を詰める・広げる方法 - テクノモンキーのアプリ開発日記

 

【Unity】TransformのpositonとlocalPositonに違いについて

https://unity3d.com/files/images/ogimg.jpg?1

Unity開発メモ。

GameObjectのTransformに「positon」と「localPositon」って言う似たようなものがあって紛らわしいので調べて見ることにしました。

 

//position
obj01.gameObject.transform.position = v1;

 

//localPositon
obj01.gameObject.transform.localPosition = v1;

 

 

 

positonは絶対座標、localPositionは親との相対座標

 

以下の記事がわかりやすかったです。

 

objectの移動(PositionとlocalPosition)

 

基本的な考え方は、positionは絶対座標軸上の座標値
localPositionは親オブジェクトとの相対座標値。

絶対座標軸上で移動させたい場合は、position
親オブジェクトに追従しながた移動させたい場合は localPosition

 

 

要は独立したオブジェクト(親)を移動させたい場合は「position」

親を持つ子オブジェクトを親に合わせて移動したい場合は「localPositon」を使った方がいいということみたい。

 

 

 

 

【Unity】Buttonを押した時にテキストを切り替える方法

https://unity3d.com/files/images/ogimg.jpg?1


Unity開発で躓いたので自分用にメモ。

やりたいことは「ボタンを押したらテキストをAからBに切り替える(スクリプトで)」。



ButtonからGetComponentでTextが取得できない。




f:id:no-work-no-life-4081:20180515092509p:plain


UIのButtonには子オブジェクトとしてTextが含まれているので、
普通にGetComponentで取得できるんだろうと思っていたんですが、以下のようなエラーが。。


f:id:no-work-no-life-4081:20180515092607p:plain

NullReferenceException: Object reference not set to an instance of an object


つまり、TextはButtonに含まれていない、ただの親子関係。(今思えば当たり前だけど)





ButtonのTextはGetComponentInChildrenで取得できる!



最終的に以下の方法でできました。
ButtonのTextは子オブジェクトなので、「GetComponentInChildren」で取得できます。

*ちなみに似たようなメソッドで「GetComponentsInChildren」っていうのがありますが、これだとエラーが出るので注意。


public GameObject ChangeButton;

public bool isModeA = false;

//ボタンのテキストを切り替える
public void ChangeText(){

	if (isModeA) {
		//表示をAからBにする
		isModeA = false;
		ChangeButton.GetComponentInChildren<Text> ().text = "B";
	} else {
		//表示をBからAにする
		isModeA = true;
		ChangeButton.GetComponentInChildren<Text> ().text = "A";
	}
}


上記の例だと、isModeAの判定で、ChangeButtonのテキストをAかBに切り替えてます。

やり方忘れたらこの記事見直すことにします。

【Unity】GameObjectの幅と高さを取得・変更する方法(RectTransform)

勉強ためにUnityの記事を書いているサイトを読み漁っているんですが、

古い情報の記事で、昔のメソッドを使っていて今は使えないってことが多々あります。


今回は、GameObjectの幅と高さを変更する方法について。


GUITextureは使えない


GameObjectの幅と高さをスクリプトでサイズ変更したくて色々調べていたところ、

GUITextureを使ってサイズ変更する方法がありました。

Rect rect = guiTexture.pixelInset;
rect.width = (rect.width + 10);
guiTexture.pixelInset = rect;


この方法でやろうと思ったんですが、Unityのドキュメントによると「GUITexture」は古い描画方法とのことでした。

f:id:no-work-no-life-4081:20180512150009p:plain

docs.unity3d.com


なので他の方法を調査。



RectTransformのsizeDeltaでサイズ取得・変更する

調べたところ、RectTransformのsizeDeltaでGameObjectのサイズ取得・サイズ変更ができるようです。

//ゲームオブジェクトのサイズ変更
gameObject.GetComponent<RectTransform> ().sizeDelta = new Vector2 ((gameObject.GetComponent<RectTransform>().sizeDelta.x - 10),gameObject.GetComponent<RectTransform>().sizeDelta.y);

//ゲームオブジェクトの横幅サイズを取得
if(gameObject.GetComponent<RectTransform>().sizeDelta.x <= 0){
    //横幅0以下だったら0にする
    gameObject.GetComponent<RectTransform> ().sizeDelta = new Vector2 (0,gameObject.GetComponent<RectTransform>().sizeDelta.y);

}


ゲームオブジェクトのRectTransformのコンポーネントを取得して、sizeDeltaでゲームオブジェクトの横幅・高さが取得できます。

また、Vector2(横幅,高さ)を指定すればゲームオブジェクトのサイズの変更が行えます。


以下の記事を参考にさせて頂きました。


uGUIのImageの移動、サイズ変更などなどboccilog.wordpress.com



関連:
【Unity】Scene内のGameObjectをポーズ(一時停止)させる方法 - テクノモンキー(サブ)
【Unity】プレイヤーがダメージを受けた時に点滅させる方法 - テクノモンキー(サブ)
【Unity】ローカライズ対応 日本語か英語かで処理を分ける方法 - テクノモンキーのアプリ開発日記
【Unity】デバッグログの出し方とログの文字色を変更する方法 - テクノモンキーのアプリ開発日記