(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!

    

「カネコキング」リリース!【新作】【Steam】【iOS】【Android】

はじめに

新作ゲームをリリースしました!その名も「カネコキング」です!!(もちろんUnity製)

前作同様PC&スマホ両対応で、別々のOS同士でも対戦出来ます。(クロスプラットフォームプレイ対応)


    


ゲーム内容はオンライン二人対戦専用のデッキ構築型の対戦カードゲームで、


世界三大ボードゲームとも言われるドミニオンをベースにした、

いわゆるドミニオンクローン(ローグに対するローグライクのような)です。

ゲーム開始時はお互い全く同じデッキですが、

  • 【税金】でお金を集めて他のカードを購入
  • 【行動】で自分のターンをより有効に活用
  • 【再編】で不要なカードを除外
  • 【障害】で相手の邪魔
  • 【強化】で永続的に自身を強化

デッキを強化したり相手の邪魔をしたりしながら、【票】を多く集めるゲームです。

2人対戦に限定及び特化したシステムにアレンジした事により、

相手の行動をより考慮した上での選択が重要で、駆け引きをさらに楽しめるゲームになっています。


また、レートやランキング機能、フレンド対戦にも対応しています。


そしてカードやアイコン、エモートは全て猫ちゃんです!

なお、カードの絵柄やキーアート等に生成AIを用いています。


ちなみに、猫モチーフの対戦ゲームという共通点で、前作とのバンドル(割引まとめ売り)もあります。



うちの愛猫達の声がSEとして使われているのも前作と同じだったり。





開発の経緯

これだけで終わるのは記事として寂しいので、一応、開発の経緯にしても書いておくと

イラスト系の生成AIが出始めた時に「カードゲームと相性良いのでは?」と思った事がキッカケです。


生成AIに限らず、テイストが違うイラストをそのまま使うと、チグハグな感じが出てしまいますが、

カードゲームは絵柄が違う物が許容されてますし、同じカードの枠に収めると結構統一感が出ます。

また、ゲーム中は絵は小さく表示されるので、細部の違和感が感じにくいというのもあります。


そしてちょうどドミニオンを初めて遊び始めてハマっていた時期でもあったので、

これを2人専用に特化してアレンジしてみたいな〜という事で開発を始めました。


最初は前作「猫ヤクザの仁義にゃき戦い」に引っ張られ過ぎて

「猫政治家の清き総選挙」というタイトルでしたが、

ゲームタイトルとして堅すぎる上に、覚えにくかったので変えた経緯があったりします。


また、開発の途中にUEFNに浮気をして、完成が遅れたりもしましたが、

その間にSteamで生成AIが禁止になった後に解禁になったので、

結果的にリリースのタイミングは良かったのかなと思います。



さらにUEFNでの開発を通じて「短期間にどんどんゲームを作るのが楽しい、自分に合ってる」

というのを思い出した(学生の頃は1年で10本とか作ってた)のと、

無料のスマホアプリだと身近な人にも遊んでもらえるという喜びも久々に感じたので、

当分はあまり規模の大きくないSteam&スマホ用の対戦ゲームを作っていくつもりです。


対戦ゲームにする理由はコンテンツ量が少なくても楽しんでもらいやすいというのと、

1人プレイのゲームよりは作る難易度が多少上がるので、参入障壁的な期待もあります。


スマホだけに絞るというのも考えたのですが、せっかく両方の開発経験がありますし、

対戦ゲームはPCでもスマホでも人気のジャンルという事で、

「二兎を追う者だけが二兎を得る」の精神で両対応していく事にしています。


という事で次回作は、

もっとシンプルで短時間で楽しめて、運要素が少し強めの対戦ゲームを考えています。


あと次回作は予約を早めに始めて、同時リリース失敗しないようにもしたいです……!





AdMobのApp Open広告でテスト広告を出そうとするとAd unit doesn't match format. とエラーが出る場合の原因と対処法【iOS】【Android】【Admob】

はじめに

今回はAdMobのApp Open(アプリ起動時)広告を実装した際に、

App Open ads  |  Unity  |  Google for Developers


テスト広告(サンプル)を表示しようとしているのに、

AppOpenAd.Loadが失敗して以下のようなエラーが出てしまう場合の話です!

Ad unit doesn't match format. 
<https://support.google.com/admob/answer/9905175#4>



原因と対処法

続きを読む

Xcodeで実機向けにビルドした時に「code signature in 〇〇〇 not valid for use in process using Library Validation」と表示されてビルドが出来ない時の原因と対処法【iOS】

はじめに

今回はXcodeで実機(iPhone)向けにビルドした時に出た、

以下のようなエラーの原因と対処法の紹介です!

Library not loaded: 〇〇〇
Reason: no suitable image found. Did find:〇〇〇:
code signature in 〇〇〇 not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.



原因と対処法

続きを読む

UnityでiOS向けビルドをした際に、AmbiguousMatchException: Ambiguous match foundというエラーが出てInfoPlist.stringsが生成されない(ローカライズされていない)時の対処法【Unity】【iOS】【Localization】

この記事でのバージョン
Unity 2022.2.2f1
Localization 1.3.2


はじめに

今回はUnityでiOS向けにビルドした際にLocalization関係の以下のようなエラーが出て、

InfoPlist.stringsが生成されない(ローカライズされていない)時の対処法です!

AmbiguousMatchException: Ambiguous match found.
System.RuntimeType.GetMethodImplCommon (System.String name, System.Int32 genericParameterCount, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConv, System.Type types, System.Reflection.ParameterModifier modifiers) (at <1b72fc97b7c245a483150421232eb6a9>:0)
System.RuntimeType.GetMethodImpl (System.String name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConv, System.Type types, System.Reflection.ParameterModifier modifiers) (at <1b72fc97b7c245a483150421232eb6a9>:0)
System.Type.GetMethod (System.String name, System.Reflection.BindingFlags bindingAttr) (at <1b72fc97b7c245a483150421232eb6a9>:0)
UnityEditor.Localization.Platform.iOS.PBXProjectExtensions..cctor () (at ./Library/PackageCache/com.unity.localization@1.3.2/Editor/Platform/iOS/PBXProjectExtensions.cs:95)
Rethrow as TypeInitializationException: The type initializer for 'UnityEditor.Localization.Platform.iOS.PBXProjectExtensions' threw an exception.
UnityEditor.Localization.Platform.iOS.Player.AddLocalizationToXcodeProject (System.String projectDirectory, UnityEngine.Localization.Platform.iOS.AppInfo appInfo) (at ./Library/PackageCache/com.unity.localization@1.3.2/Editor/Platform/iOS/Player.cs:58)
UnityEditor.Localization.Platform.iOS.Player.AddLocalizationToXcodeProject (System.String projectDirectory) (at ./Library/PackageCache/com.unity.localization@1.3.2/Editor/Platform/iOS/Player.cs:42)
UnityEditor.Localization.Platform.iOS.LocalizationBuildPlayerIOS.OnPostprocessBuild (UnityEditor.Build.Reporting.BuildReport report) (at ./Library/PackageCache/com.unity.localization@1.3.2/Editor/Platform/iOS/BuildPlayerIOS.cs:57)
UnityEditor.Build.BuildPipelineInterfaces+<>c__DisplayClass18_0.b__1 (UnityEditor.Build.IPostprocessBuildWithReport bpp) (at /Users/bokken/build/output/unity/unity/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:529)
UnityEditor.Build.BuildPipelineInterfaces.InvokeCallbackInterfacesPair[T1,T2] (System.Collections.Generic.List`1[T] oneInterfaces, System.Action`1[T] invocationOne, System.Collections.Generic.List`1[T] twoInterfaces, System.Action`1[T] invocationTwo, System.Boolean exitOnFailure) (at /Users/bokken/build/output/unity/unity/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:465)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:189)



対処法

続きを読む

iOS(App Store)やAndroid(Google Play)アプリの初回リリースまたはアップデートを手動もしくは自動で公開する方法【iOS】【Android】

はじめに

iOS(App Store)やAndroid(Google Play)のアプリを公開する際には審査が必要になりますが、

今回はその審査が通った後に任意のタイミング(手動)でリリースする方法の話です!

もちろん逆に審査が通った後に自動で即リリースする事も可能です。


iOS

続きを読む

Unity公式の無料パッケージMobile Notificationsを使ってローカルプッシュ通知を実装する方法 【Unity】【iOS】【Android】

この記事でのバージョン
Unity 2021.3.4f1
Mobile Notifications 2.0.2


はじめに

今回はiOSやAndroidのスマホ端末でサーバーを介さないプッシュの通知、

いわゆるローカルプッシュ通知をUnityで実装する方法の紹介です!



Mobile Notificationsの導入と準備

続きを読む

Unity製iOSアプリのアイコンを後からユーザが選択して変えられるようにする【Unity】【iOS】

この記事でのバージョン
Unity 2021.3.4f1


はじめに

iOSアプリはアイコンを後から動的に変更する事が出来ます。


ただ、残念ながらUnityは(おそらく)この機能に対応していないので、

今回は以下のAppIconChangerUnityというパッケージを使って

Unity製iOSアプリのアイコンを変えられるようにしてみようという感じの記事です。




なお、アイコンのABテストをする際は

先にテスト用のアイコンをビルドに含めておく必要があるため、そんな時にも使えます。





AppIconChangerUnity

続きを読む

App StoreでiOSアプリのスクリーンショットや動画、アイコンのABテスト(最適化)する方法【iOS】

はじめに

App StoreではiOSアプリのスクリーンショットや動画を複数パターン表示して、

どちらがよりインストールに繋がるかという最適化、いわゆるABテストが簡単に行えます。

しかもアプデの必要もありませんし、費用もかかりません。


ちなみにアイコンのABテストも同様の方法で行えますが、

以下の方法等でアイコンを先にアプリ内に含めておく必要があります。





ABテストのやり方

続きを読む