2012年12月9日日曜日

RPG作成中・放置型で作ってみる

ダイアログの表示が、showDialog/onCreateDialogを使う方法はDeprecatedで、DialogFragmentを使うべき、ということになったらしいので、全面的に書き換えました。初めからDialogFragmentを使っていればこちらの方が簡単ですが、書き換えは大変でした。

システムを放置型にして、基本的なところを作成してみています。前作からソースコードをある程度は流用しつつ、探索の内容を、いままで作っていた操作型のものを使う形で多少変更しています。とりあえず探索に出て、戦闘して、帰ってくるようになりました。

やはり放置型のほうが先が見える感じがしますので、こちらでいこうかと考えています。ただ、面白さの出し方や、独自性については、工夫が必要ですね……。

2012年12月8日土曜日

ライブ壁紙ぴったんβバージョンアップ(0.4.5)

ホーム画面でのスクロール範囲を限定するオプションを追加しました。たとえばホーム画面が5ページある場合に、そのうちの2~4ページでだけスクロールする、といった指定が可能になります。「ページ数が固定のホームで、両端の画面はあまり使わない」「ページ数が偶数なので、ホーム画面の中心と壁紙の中心ががずれる」といった場合などにお使いください。

ホーム画面のページ数と、スクロール範囲のページに、誤った値を指定すると、位置がずれますのでご注意ください。
なお、「5から1ページ」のように、逆順で数値を指定すると、ホームと壁紙のスクロール方向が逆になります。

ちなみに、RPGの方は、多少とも簡単に作れそうな放置型に変更する方向で開発を進めています。

2012年11月24日土曜日

RPG作成中・フラグ周りの処理

システムを通常の操作型にするか放置型にするかはひとまず保留して、フラグ管理周りを作成しています。

Logging Questはフラグ管理(フラグによるイベント発生、イベント後のフラグの操作など) をすべてプログラムで記述するというスパルタンな仕様でしたが、最終的な拡張性のなさに繋がっていました。今回はさすがにフラグをまとめて管理して処理しようと思っています。
事前条件(フラグ、アイテム、現在地=ダンジョンとフロア、など)、イベント、事後条件を、一覧で保持しておき、タイミングに応じてチェックするような感じです。

2012年11月23日金曜日

ライブ壁紙ぴったんβバージョンアップ(0.4.3)

OpenGL使用時に、「色を16bitにする」のオプションが正しく反映されるように修正いたしました。

今まではOpenGLの設定に端末のデフォルトを使っていたのですが、最適な物を選ぶようにしました。これにより、メモリ使用量の削減や性能向上(デフォルトが32bitの端末の場合)、画質の向上(デフォルトが16bitの場合)が図られると思います。
なお、チェックオフの場合、正しく画質が設定されるようになった結果、スクロールが遅くなる場合があります。 この場合はチェックをオンに変更してください。

OpenGL設定の選択については、GLWallpaperServiceのソースを参考にしました。

全体的なメモリ使用量は、おおよそ以下のような比較になります(16bitのチェックオフ=32bit)。
OpenGL使う・32bit>使わない・32bit>=使う・16bit>使わない・16bit
また、スクロールを固定するとメモリ使用量が減ります(画面に表示される部分しかメモリ上に保持しないため、小さい画像を使ったのと同じになります)。
画質と速度、メモリ使用量のバランスから、最適な設定をしていただければ幸いです。
なお、これ以上のメモリ削減は難しい感じです……。

2012年11月15日木曜日

RPG作成中・システムについて

今のところ隙間時間型(普通に操作するタイプ)で考えていますが、どうしても実装する機能が多く、なかなか開発の進みが悪いので、放置型にすることも検討しています。

放置型のゲームがいろいろ出てくるかと思いましたが、意外に増えてこないこともあります。

開発中のコードは、もともとシステムを流用することを考えて書いているため、放置型でもかなりの部分がそのまま使えます。

ただ、今回はクエストを導入したいのですが、街でしかクエスト発生しないのはつまらないので、放置型でどう組み込むか考えています。放置中に割り込んで操作するのは若干興をそぎますし、無条件でスタートするのも……。ログをタップしてクエスト発生でしょうか。

2012年11月12日月曜日

RPG作成中・戦闘画面その2

ゆっくりとですが、開発を進めています。ダンジョンを歩いて、エンカウントし、戦闘することができるようになりました。ただ、まだ戦闘処理に能力値も反映していませんし、経験値も入りません。
隙間時間にプレイできるように、状態をいつでも中断可能なよう管理するのがなかなか大変です。onSaveInstanceStateでBundleに保存、onPauseでDBに保存、という感じです。

次は、戦闘処理のアルゴリズムとビューの改善、キャンプの実装あたりでしょうか。

しかしゲームとして面白いものができるかどうか、疑問になってきました……。

2012年11月10日土曜日

壁紙ぴったんバージョンアップ(1.6.0)

以前から時々ご要望いただいていた、任意の倍率でのリサイズ機能を追加しました。拡張モードを開き、「画像のリサイズ」でカスタムを選択後、プレビュー画面上でピンチイン・アウト(二本指で狭める・開く)してください。

拡張モードは、設定が多くなり煩雑なため、いくつかに設定をグループ分けして、それぞれ開閉できるようにしました。

また、端末によってプレビューが大きすぎて設定エリアが小さくなる場合があるため、プレビューのサイズを多少変更できるようにしました。メニューの設定から変更可能です。

ほかにもいくつかバグフィックスや性能改善を行っています。不具合などありましたら、メールやコメントでご連絡いただければ幸いです。よろしくお願いいたします。

2012年10月28日日曜日

ライブ壁紙ぴったんβバージョンアップ(0.4.1)

たびたびの更新でユーザーの方には申し訳ありません。一部の端末、状況で壁紙がスクロールしなくなる不具合に対応いたしました。数時間中には、Play Storeで公開されると思います。

なお、こちらで再現した状況には対応しましたが、他に原因(OpenGLの処理方式変更)がある可能性もあり、その場合はまだ発生するかもしれません。お手数をお掛けしますが、状況等をご報告いただければ幸いです。

今回のバグの原因ですが、ロック解除の判定に、Intent.ACTION_USER_PRESENTのbroadcastを利用していたのですが、状況によって通知されない場合があるようです。そのため、ロック画面のままと判定され、ロック画面はスクロールを無効にしていたため、スクロールしないようになっていました。KeyguardManagerのinKeyguardRestrictedInputModeで判定するように変更しました。

2012年10月27日土曜日

ライブ壁紙ぴったんβバージョンアップ(0.4.0)

不具合が多くご迷惑をお掛けしております。レビュー等でご報告いただいた不具合に対応いたしました。キャッシュの処理を変更しましたので、キャッシュをオンにすることで、画像が削除、変更されても、壁紙に設定した画像は、そのまま維持されます。また、新たにロック画面の画像を設定する機能を追加しました。

とりあえず予定していた機能追加は一段落しました。不具合等ありましたら、引き続きよろしくお願いいたします。

2012年10月21日日曜日

壁紙ぴったん、ライブ壁紙ぴったんβバージョンアップ

壁紙ぴったんをv1.5.0に更新しました。Android 4.0/4.1で、縦方向のリサイズ、配置が正しく動作しない場合があるのを修正しました。また、タブレット解像度(Nexus 7等)を判定して、ステータスバーの高さを変更するようにしました。さらに、不評でしたアイコンを少し変更しました。

内部の処理についても、通常モードと拡張モードで重複していた処理をひとつにまとめています。また、トリミング指定画面の動作を少し改善しました。

縦方向の配置ですが、端末によって、WallpaperManagerが返す壁紙の縦サイズに、ナビゲーションバーを含むか否かが異なるようです。また、ナビゲーションバーを含むサイズの場合、壁紙として設定したBitmapのうち、中央付近がナビゲーションバーを除いた領域に表示されるようです。

ライブ壁紙ぴったんβについても、v0.3.5に更新しました。Xperiaでカメラ使用後に画像が乱れる不具合を対策しました。機能追加を行いたかったため、更新が遅れて申し訳ありません。また、縦画面と横画面で、別画像を表示する機能を追加しました。タブレット等でご利用ください。

どちらのアプリについても、不具合報告やご意見、ご要望等、お待ちしております。 よろしくお願いいたします。

2012年10月12日金曜日

ライブ壁紙ぴったんβバージョンアップ(0.3.2/0.3.3)

v0.3.1とv0.3.2でいくつかの不具合に対応しました。たびたびの更新で申し訳ありません。

キャッシュ機能を追加しました。オンにすると、以前のバージョンと同様に端末起動時にSDカードを読み込まなくなり、起動後の壁紙表示までの時間が短縮されます。その代わり、内部ストレージにデータを保存しますのでご注意ください(端末の画面サイズと画像の内容によりますが数MB程度です)。

また、縦方向の写真等を正しく認識するようになりました。ギャラリーで回転を設定した画像も、正しく表示されると思います。

不具合がありましたら、引き続きコメント等よろしくお願いいたします。

機能が安定したようなら、ゲームと壁紙ぴったん本体の開発に戻ろうと思います……。

(追記)
キャッシュオフの場合、再起動時にクラッシュする不具合を修正したv0.3.3を公開しました。たびたびの不具合で大変申し訳ありません。画像の回転方向認識処理を、SDカードマウント前に行っていました。

2012年10月9日火曜日

ライブ壁紙ぴったんβバージョンアップ(0.3.0)

端末を選ばないように、Open GLを使わないモードを追加しました。また、処理をバックグラウンドで行い、設定変更時等に動作が止まらないようにいたしました。

ただ、どうも不具合があるようで、申し訳ありません。以下の不具合は 原因追及を進めています。
  • 端末再起動時に画像が読み込まれない。
  • Open GL使用時に、画像の横幅が画面幅より少ない場合(スクロールしない場合)に画面が乱れる。
早急に対策したく思います(技術力不足でご迷惑をおかけします)。その他の不具合がありましたら、コメント等でお知らせいただければ幸いです。

2012年9月2日日曜日

RPG作成中・戦闘画面

戦闘画面のレイアウトを作成しています。いまのところモックなので動きませんが……。
(モンスターはRド様、キャラグラフィックは臼井の会様のものをお借りしています。)

2012年8月26日日曜日

RPG作成中・ダンジョン作成中

生来の怠け癖で、なかなか進みません。
Logging Questについてコメント等いただきますので(ありがとうございます)、それを糧にがんばります。
前作はよくまあ一気に作り上げられたと思います……。
(画面キャプチャの背景画像は「誰そ彼亭」様のものを使っています。)

2012年8月22日水曜日

ASCIIスマートフォンAppアワード2012

拙作、壁紙ぴったんですが、ASCIIスマートフォンAppアワード2012[上半期編]、実用ツール部門にノミネートされていました。並み居る実力派アプリを見ると、一緒にノミネートされたのが恥ずかしいくらいです。

受賞することは絶対にないと思いますが、候補に挙げていただいただけでも大変光栄です。ブログをご覧の方は、よろしければご投票いただければ幸いです。

しかしこう見るとアイコンのいい加減さが際立ちますね……。

2012年6月24日日曜日

ライブ壁紙ぴったんβバージョンアップ(0.2.0)

ライブ壁紙ぴったんβをv0.2.0に更新しました。OpenGLを使い、スクロール時の速度を大幅に向上しました。ただ、OpenGLを使うのは初めてですので、不具合があるかもしれません。また、一部の端末では動作しない可能性があります。何かありましたら、ご報告いただければ幸いです。

なお、壁紙はOpenGLのテクスチャで表示していますが、テクスチャの色数は端末に依存するようです。そのため「色を16bitにする」のチェックを外しても、16bitのままでしか表示されない場合があるようですが、ご容赦ください。

2012年5月11日金曜日

壁紙ぴったんバージョンアップ(1.3.0)

壁紙ぴったんですが、いくつかのレビューサイトでご紹介いただき、大変光栄です。感謝いたします。

今回1.3.0にバージョンアップしました。ご要望を多くいただいていた画像の回転とトリミングに対応しました。また、画像の任意位置への配置、明るさ調整を追加しました。処理を大きく変更していますので、もしバグがありましたら申し訳ありません。

トリミングについては、Android標準の機能では切り取り後に512KBまでの画像にしか対応していないようだったため、それらしいものを作りました。拡大・縮小できない、反応が悪い等、使いにくいですがご容赦ください。

また、元サイズの画像をメモリに確保→トリミングしたサイズの画像を作成、と処理していますので、メモリを大量に使います。エラーが出る場合は、別のアプリでのトリミングをお願い致します。

直接の壁紙への設定ではなく、画像作成に使っている方もいらっしゃるようですので、設定から任意サイズの画像を生成できるようにしました。よろしければご利用ください。

2012年4月29日日曜日

RPG作成中・街の機能

街の機能をある程度まで作成しました。
データベースの構造やコードを整理しつつ書いているので、なかなか進みません。
外見を整えるのは後回しにして、そろそろダンジョンを作成したいと思います。

2012年4月20日金曜日

RPG作成中

しばらく前から少しずつですがゲームを作成しています。構想していたSLGは荷が重いようなので、RPGを考えています。ただし放置型では芸がないので、今回は隙間時間型を検討中です。

気力がなくなかなか進まないので、少しでも意欲を高めるために進行状況を報告したいと思います。Logging Questから使いまわせるところは使いまわしつつ、とりあえずキャラクターメイキングを作りました。

気が向いたらまたご報告します。今後はアプリ開発に関する、テクニカルなことも書ければと思います。

2012年4月7日土曜日

ライブ壁紙版壁紙ツール「ライブ壁紙ぴったんβ」公開

「壁紙ぴったん」について、画像を余白なしで設定したい、スクロールを固定したいという要望を頂いていましたので、ライブ壁紙版を公開しました(https://play.google.com/store/apps/details?id=com.shirobakama.imglivewp)。

設定方法や処理内容が全く異なりますので、別のアプリケーションとしました。

ホームスクリーンのスクロールに応じて、画像を左端から右端までスクロールして全体を表示します。横長なら大きくスクロールしますし、横が短ければ小さくスクロールします。このため通常の壁紙の横幅制限(画面の2倍)がなく、必ず全体が表示されます。

高速化のため画像イメージをメモリに持っていますので、メモリ消費量はかなり大きくなります(特に解像度の高い端末、横長の画像で顕著です)。高速動作のためご了承ください。

仕組みとしては、画像をリサイズして用意しておき、ライブ壁紙としてスクロールに応じて表示しているだけです。画像のリサイズをバックグラウンドで行いたかったのですが、うまく行かなかったため、画像の表示前にしばらくだんまり状態になります。
タッチイベントには反応しないようにしてありますので、電池消費量はそれほど増えないと思います。

メモリ使用量が大きいのでシーンを選ぶかと思いますが、よろしければご利用ください。

2012年3月18日日曜日

Androidアプリ作成で参考にしたサイト

Logging Quest等のアプリを作成した時に参考にしたサイトについて、ブックマークからまとめてみます。基本的に分からないことがあると都度ググって解決していたので、全般的な情報サイトしかありませんが、参考になれば幸いです。
(ごく一般的なサイトしかなくてすみません……。)

私自身も放置型RPGの一プレイヤーですので、面白いゲームが出てくれると嬉しいです。


Android全般

Android Developers
Google公式サイト、英語。機能やクラスの利用法、仕様は、最終的にはここで確認するのがよいでしょう。

ソフトウェア技術ドキュメントを勝手に翻訳
Google公式ドキュメントの内、開発ガイド等の一部が日本語訳されています。


ASCII.jp:これで作れる! Androidのアプリケーション

少し古いですが、アプリ作成の最初から公開までまとめられているので、全体を俯瞰するには役立ちます。

連載:世界を目指せ!Androidアプリ開発入門|gihyo.jp … 技術評論社

同上です。

逆引きAndroid入門

やりたいことから参照できるため、特にアプリ開発を始めたばかりのころは参考になると思います。

mucchinのAndroid戦記

検索するとよくヒットします。いろいろ参考にさせていただきました。

Y.A.M の 雑記帳

同上です。特にUI関係が強いです。Logging QuestではListViewを多用しているので「The world of ListView」の翻訳はたいへん役立ちました。

Stack Overflow

英文のQ&Aサイト。検索で見つかることも多く、こちらもお世話になりました。

ゲーム開発について


Androidゲーム開発をまじめにやってみたまとめ - shimobayashiの日記

2ちゃんねるゲ製作技術板の先輩であるshimobayashi氏の記事。放置型RPGでは音、センサーはあまり使わないと思いますが、素材等について、ゲーム開発の記事は少ないので参考になります。
アプリ全般では「初心者に送る、はじめてのAndroidアプリ開発/小気味の良いアプリをつくるためのTIPS - shimobayashiの日記」こちらも。なお私はEclipseで開発してます。

SQLite入門

Androidで使っているSQLiteはこちらを参考にしました。


ゲームのアルゴリズムについて

私は昔プレイしていたコンピュータゲームやTRPGの計算処理等を元にプログラムを作りました。そのため内部ではダイスを振って処理しています。「ゲーム アルゴリズム」などで検索すると、よさそうな記事がヒットします。また、古い本ですが手元にあった「ゲームのタネ!―ファンタジー・ファイル (富士見文庫―富士見ドラゴンブック) 」にも戦闘処理の考え方等が少し記述されています。デザイン的な視点で書かれていてお勧めです。

2012年3月10日土曜日

電源接続通知アプリ「電源おん」を公開

電源の接続、切断を音で通知するだけのアプリ、「電源おん」を公開しました(https://play.google.com/store/apps/details?id=com.shirobakama.powernotify)。

しばらく前に購入した端末が、以前の端末と違い充電中に何の表示もなく、不安になりました。既存のアプリを使えばよいのですが、せっかくなので自作してみました。

充電中にLEDの点灯をさせたかったのですが、Serviceとして常駐させないと充電状態の監視ができないらしいので、常駐アプリを減らすために見送りました。また、LEDについてもスリープ中しか点灯させられないようなので、機能を省きました。

「壁紙ぴったん」よりもさらに誰得アプリですが、ご利用いただければ幸いです。

2012年2月4日土曜日

Whipper+を遊んでます

Whipper+がリリースされましたが、私もプレイしています。ユニットの成長と、雇用と解雇によるプレイヤー自体の成長、さらにアイテムの強化と、工夫できることが増えており、長く楽しめそうです。今後のバージョンアップにも期待したいと思います。

Whipper+も出ましたので、Logging Questの続編については長期的に考えるとして、今はお手軽戦略級SF SLGの構想を練っています。そのうちなにかご報告できればよいと思います。

2012年1月21日土曜日

Logging Questバージョンアップ(1.3.7)

マーケットのコメントでご要望いただき、フリックによるタブ切り替えを設定で無効にできるよう、機能追加いたしました。敏感すぎる場合にはオフにしてご利用ください。

即時帰還のご要望もありましたが、ゲーム性の中心に関わる部分ですのでこちらはご容赦ください(もし続編の機会でもあれば、レアアイテム等があってもいいかもしれません)。

なお、壁紙設定ツールもときどき更新しております(https://market.android.com/details?id=com.shirobakama.wallpaper)。あわせてよろしくお願いいたします。

2012年1月7日土曜日

Logging Questバージョンアップ(1.3.6)

一部の機種で画面タップ時に異常終了する不具合に対応しました。たいへん申し訳ありませんでした。

こちらでは再現できないのですが、恐らく改善したと思います。なお、不具合が発生していた機種では、フリックによるタブ切り替えができないかもしれません。

実装の話になりますが、検索したところ、以下の事象によるもののようです。
エミュレータ、および手元の実機3機種では発生しませんでした。

もし依然として不具合があるようなら、フリックによる切り替えは諦めた方がよさそうです……。

Logging Questバージョンアップ(1.3.5)

ご要望いただいたタブのフリックによる切り替えに対応しました。ボタンのない個所でフリックしてください(若干反応が悪いですがご容赦ください)。小刻みに左右に動かすとよいようです。アニメーションには対応しておりません。

また、年をまたいだ探索で未来のログが表示されてしまう不具合を修正しました。

加えて、独自のバグ報告機能を組み込んでいたのですが、マーケット公開後はマーケットの機能でバグ報告が行われるため、除去しました。

実装上の話ですが、フリックの組み込みには思いの外、手間取ってしまいました。ListViewのonItemLongClickを使っていたため、フリック時にそのイベントが反応してしまうのです。最終的にListViewのonItemLongClickではなく、GestureDetector側のonLongPressで処理することで解決しました。これに伴って長押し時の動作が若干変わってしまっています。

フリックの判定にはデフォルトのGestureDetectorを用いていますが、タップ開始・終了位置がボタンの上だと判定できないようで、やや使いにくいですね。

2012年1月4日水曜日

Logging Quest 年越しバグについて

あけましておめでとうございます。本年もよろしくお願いいたします。

Logging Questに、年をまたぐと探索中の未来のログが表示されてしまうバグがありました。申し訳ありません。次の発生は一年後になりますが、バグの原因は特定できましたので、次回の更新で修正したいと思います。よろしくお願いいたします。

(追記)ダウンロード数が10,000を超えました。ありがとうございます。