パズルゲーム「全ての姫君はわたしのものだ!」を公開しました

 キャッチーなのはタイトルのみで、全1面の純粋パズルゲームです。
device-2014-12-31-120020 device-2014-12-31-114522 device-2014-12-31-114334
 地下迷路の39人の姫君を助け出すゲームです。モンスターも出ませんし、宝箱もありません。
 システム的にもヘルプもなければ、セーブ機能も1手戻り機能もありません。
 こんなので、お楽しみいただけるのだろうか?
 やっつけ感が半端ありません。
 ic_launcher-web QRcode
 
 さて、長めの年末年始の休暇のおかげで『思考型パズルゲーム「カラフルフロア」完全攻略』も room20 の解法まで書き上げました。
 今のところ、推しアプリはこっちね。
 
 2014年は、都合8本のアプリを公開することができました。ダウンロード数や広告収入など、どれも期待していた程には遠く及ばないのですが、ノウハウはそれなりに蓄積されたと思っています。そう思わないとやってられません。
 2015年こそは、そこそこのヒットアプリを出せるように頑張ります。
 
 それでは、皆さん、来年もよい年でありますように。

「カラフルフロア」の問題作り直し

 『思考型パズルゲーム「カラフルフロア」完全攻略』で room10 までの解法を書いたのですが、room6 が2通り、room8 が6通り、room10 が2通りの複数解であることがわかりました。
 2通り、3通りまでなら、まぁ目を瞑っちゃうのですが6通りともなるとね~。
 
 この3部屋分を作り直しました。
 データの差し替えだけでなく、アプリ内でデータベース SQLite を使っていたりするものだから、書き換えプログラムも作り・・と結構な作業となってしまいました。
 
 10問のうち複数解3問ですからね。この先30問あるから・・。
 
 休み中こればかりしていると家族に怒られるので明日からは程々にしますです。はい。

「カラフルフロア」が起動時にクラッシュする

 娘へのクリスマスプレゼント ASUS ME176 シリーズ タブレットPC ホワイト ( Android 4.4.2 / 7 inch / Atom Z3745 / 1GB / eMMC 16G / WIFI対応 ) ME176-WH16(Amazonで購入。娘には「Amazonはサンタクロースが経営している」と言い聞かせているので配送箱のまま枕元に置いてもOK)に「カラフルフロア」をインストールしてみたところ、起動時にクラッシュ!クラッシュ!クラッシュ!
 
 レポートを見たところ NullPointerException だってさ。
 該当箇所はリソースを一括管理している ResourcesManagerクラス内の

public class ResourcesManager{
	private BuildableBitmapTextureAtlas textureAtlas;
		・
		・
		・
	public void unloadTextures(){
		textureAtlas.unload(); //←ここがエラー!
		textureAtlas = null;
			・
			・
			・
	}
}

 確かに初期化してなければエラーになるけど unloadTextures()の呼び出しは GameActivityクラスの onDestroy()内からだからね。
 起動時に呼び出されているとは思いませんでしたよ。(なぜ呼ばれるかまでは調べていません。Android 4.4での現象。2.3では普通に動いている・・。)

public class GameActivity extends BaseGameActivity{
		・
		・
		・
	@Override
	protected void onDestroy(){
		ResourcesManager.getInstance().unloadTextures(); //←ここでしか呼んでいない
			・
			・
			・
		super.onDestroy();
		if (this.isGameLoaded()) System.exit(0);
	}
}

 さっそく、次のとおりに直してアップロードしました。

public class ResourcesManager{
	private BuildableBitmapTextureAtlas textureAtlas;
		・
		・
		・
	public void unloadTextures(){
		if(textureAtlas != null){
			textureAtlas.unload();
			textureAtlas = null;
		}
			・
			・
			・
	}
}

 4.4 でも無事動いています。
 なぜ、起動時に!?

早くも複数解を発見

 AndEngineを利用したパズルゲーム「カラフルフロア」の記事『思考型パズルゲーム「カラフルフロア」完全攻略』を書いています。
 各部屋の解き方を書き始め、昨夜から room2 から room6 まで進んだのですが、room6 が複数解であることがわかりました。パズルとしては、唯一の解がスマートではあるのですが・・勘弁してね。
 アプリ公開に際して問題の検証をしていないので、おそらくは他にも複数解の問題はあるでしょう。3通り以上の解がある問題もあるかも・・。

room8 は6通りの解がありました。(2014/12/27追記)