2016年11月13日日曜日

Golf Numeric(ゴルフちゃうやん)とは


Golf Numeric(ゴルフちゃうやn)がGoogle Playに登録されました!


画面に表示されている数字をヒントにカップを見つけるゲームです。

最初のホールはこんな感じ(実際はランダム要素が入りますので、毎回これというわけではありません。)


現在位置が青い四角で表示されています。
数字はカップまでのステップ数を示しています。
カップは見えていませんが、現在位置から3マス移動したところにあります。

スタート地点の両隣にヒントの数値が見えます。左は4で右が2ですが、これもカップまでの移動数を示していますので、どちらかというと右のほうにカップがあるようです。

すすめたい位置をタップすると、1ショット打ったことになります。
一回のショットで最大3ステップまですすめることができます。
画面ではタップ可能な位置は明るい緑になっています。

先に進んでホール15にだとこんな感じです。




池と林があります。
池ポチャはありませんが、池に移動することはできません。
林にも移動することはできません。

一回のショットで3ステップ先に移動できますので、池は飛び越せることがあります。

スタート位置の数字が8なので8マス移動した先にカップがあります。
林がある場合は、林を避けて遠回りをする分も数字に含まれています。

とりあえず、スタート地点の3マス上をタップしてみます。


現在位置の青い四角が移動し、その位置からカップまでのステップ数が表示されました。
また、移動可能な位置を示す明るい緑も変化しました。

スタート地点の両隣を見ると左が7で右が9なので、カップはどちらかというと左のほうにありそうです。
なので、現在位置の左へ3マス目をタップしてみると、


現在位置の青い四角が移動し、その位置からカップまでのステップ数が表示されました。
「2」になったので、だいぶ近づきました。

この位置から2マス移動したところにカップがあるわけですが、
2マス下だと、一番下の「789」と合わないですね。
2マス右でも、一番下の「789」や一打前の「5」と合わないです。
右下(1マス下、1マス右で2マス)も「789」や「5」と合いません。

ということは、2マス上しか残っていませんね。


ということで、2マス上をタップすると、そこにカップがあり、そのホールをクリアできました。

スタート地点が「8」でしたが、一度に最大3マスしか進められないので、8進めるには3打必要です。
今回は、その最短打数でカップインしたので、「GREAT」と表示されました。

スタート地点が「3」の場合は、ホールインワンもあります。

というような、ゴルフちゃうやん(Golf Numeric)ですが、よろしくお願いします。





2016年11月7日月曜日

仮称Golf Numeric制作中、進んだり戻ったり


制作中のゲームアプリ(仮称)Golf Numericの進捗状況です。



ちょっと変化をつけるために、池と林を追加してみました。


でも、「池ポチャ」するわけではありません。

池も林も障害物です。
両者の違いは、池は飛び越せるのに対して、林は飛び越せないので、迂回しなければならない、というところにあります。

これらの障害物が出てくるので、マス目に表示されている数字の意味が少し変わりました。

障害物がない場合は、単にホール(カップ)から何マス離れているかという距離を示していましたが、障害物がある場合は、迂回を含めてホールまで何マス移動しなければならないかという距離を示しています。

というところまでが「進んだり戻ったり」のうちの「進んだり」のほうです。

で、「戻ったり」のほうですが、コースを作成する際に障害物のためにつじつまがあわなくなることがあるのか、フリーズしてしまうことがありました。
2回遭遇したのですが、どちらもHole12で、たまたまなのか、Hole12の設定にマズい点があるのか、調査中です。

でも、もう寝よ。

2016年10月29日土曜日

仮称「Golf Numeric」制作快調


いま制作中のゲームアプリは仮称「Golf Numeric」です。

(開発中)

最初Google翻訳とかでいろいろ試して、「Numerical Golf」にしようと思ってましたが、なんかちょっと平凡なので、Golf Numericとしてみました。

英語として意味があるのかどうかは怪しいですが、「Ballet mecanique」とか「aero dynamik」とかとなんとなく似ているので、まあいいか。

内容は、タイトルにあるように数値を使ったゴルフのようなゲームです。

スタートすると、下のような画面です。数字はホール(カップ)までの距離を示しています。
肝心のホール(カップ)は表示されていません。

数字からホール(カップ)の位置を推測するゲームです(ゴルフちゃうやん)。



(開発中)

青い四角は現在の位置です。
ここで、「えいっ」と下のような位置をタップしてみました。

(開発中)

タップした位置に青い四角が移動し、その場所のホールからの距離が表示されます。
「5」なので、ホールから遠ざかってしまったようです。
下に「3」があり、こっちのほうが近そうなので、2打目をタップします。

(開発中)


「2」になりましたので、近づけたようです。
「2」の場合、上下左右隣の距離は「1」で斜め隣の距離は「2」ということにしています。
先に表示されている「3」「5」とこの「2」からホールの位置が特定できました。

(開発中)

ということで、ホールの場所を見つけるとクリアです(ゴルフちゃうやん)。

というのが、次回作になります。よろしくお願いします。




2016年10月19日水曜日

ゲームアプリ第六弾「幸せの記憶」攻略法?


ゲームアプリ第六弾「幸せの記憶」は、「幸」のパネルの位置を記憶するゲームですが、
まじめにすべてを覚えようとすると大変です。



すでにプレイされた方はお気づきかもしれませんが、パネルの配置にはルールがあります。




パネルは必ず中央の軸(水平線または垂直線)に対して線対称、または中心点に対して点対称に配置されます。

また、次のラウンドに進むときに「NUMBER」(パネルの数が増える)を選んだとき、前のラウンドの基本配置に対して追加される形でパネルが増えるようになっています。


「NUMBER」ではなく「TIME」(答え表示時間が短くなる)を選ぶと、パネルは再配置されますが、このとき対称のルール(線対称か点対称か、または線対称の軸)も変化します(同じになることもあります)。


上の図は「点対称」な配置です。
人によって、得意、不得意は違うかもしれませんが、私は点対称は覚えにくかったです。

不得意な配置になったときは、そのラウンドをクリアしたあとで、「TIME」を選ぶと、パネルの配置と対象のルールが変わるので、それに賭けてみるといいかもしれません。

逆におぼえやすい配置だったときは、そのまま「NUMBER」を選んでいくと、数が増えても、覚えるのが楽かもしれません。


点対称をクリア後、「TIME」を選ぶと、↑のように線対称になりました。こっちのほうが覚えやすそうです。

ラウンドクリア後「TIME」か「NUMBER」かを選択するときに、これらのことを思い出すと、先に進みやすいかもしれません。



2016年10月16日日曜日

ちょこっとAdMob(小ネタ編)


広告の表示/非表示の制御を追加しました。

ちょっとハマりかけたのは、Threadについてです。

表示/非表示は、ゲーム中のメイン画面は非表示、それ以外の画面は表示、ということにしましたが、私のアプリでは、場面転換などもゲーム用のThreadで行っています。

しかし、adviewのsetVisibility()は、メインスレッドで行う必要がありました。ということで、Handlerを使って、こんな風にすることで解決しました。

    handler.post(new Runnable() {
    @Override    public void run() {
        adView.setVisibility(View.VISIBLE);
    }
});

無事に表示/非表示の制御が追加できました。


2016年10月13日木曜日

ちょこっとAdMob(復活編)


自作アプリにAdMobを取り込もうとしています、の続きです。

昨日の不具合(ゲームのメイン画面がフルサイズで表示されない件)はLayoutのパラメータの設定不足でした。
MATCH_PARENTを指定すると、フルサイズになりましたが、そうすると、広告を表示するスペースがなくなってしまいます。

なので、サンプルにあったRelativeLayoutではなく、FrameLayoutをつかって、広告を重ね合わせることにしました。
ゲームのメイン画面はbottomのほうにスペースがあるので、gravityをBOTTOMにしました。



でもまだ表示/非表示の制御を入れていないので、常に広告が表示されている状態です。
これは「ゲーム デベロッパー向け: 広告に関するおすすめの方法」にやりかたがあるので、なんとかできそうです。

2016年10月12日水曜日

ちょこっとAdMob(頓挫編)


自作アプリにAdMobを取り込もうとしています。

スタートガイドに沿って、いろいろ手続きをしました。
一カ所(Google レポジトリを使用する場合は、レポジトリをインストールするよう求めるメッセージが表示されることもあります。)というところがありますが、そんなメッセージは出てこなかったので、Android SDK Managerから手動でGoogle Repositoryというのをインストールしました。

それで、ビルドして実行したところ、



こんなふうに、ゲームの画面のサイズが小さくなってしまいました。
今回の変更前は、setContentView()でゲーム用のsurfaceViewを指定していたのですが、今回は「ゲーム デベロッパー向け: 広告に関するおすすめの方法」を参考に、RelativeLayoutにsurfaceViewとadViewを配置するようにしてみたのですが、これだとSurfaceHolderのsetFixedSize()の設定どおりにならないようです。

surfaceViewだけをRelativeLayoutに配置して、setContentView()にrelativeLayoutを渡してみましたが、同様な表示になったので、adViewは関係ないようです。こりゃまいったな。

2016年10月11日火曜日

ちょこっとAdMob(思い付き編)


わかってます。ダウンロード数の少ないアプリは広告メディアとしての価値はないです。

でも、AdMobを自作アプリに組み込むとしたら、どういう作業が必要なのか興味があるので、試してみようかなと思っています。

すでに公開済みのアプリに広告を追加すると、せっかくダウンロードしてくださった方に申し訳ないので、新規に作ってみました。



矢印をタップすると、その矢印の方向にある矢印とドッキングします。
ただし、矢印にドッキング可能な、ほかの矢印がまだ残っているのにタップしてしまうとアウトです。
(行き場を失うことになるから。)

さて、AdMobですが、「ゲーム デベロッパー向け: 広告に関するおすすめの方法」というドキュメントに、SurfaceViewを使うケースについての解説があるので、それを参考にすると組み込めそうです。

このドキュメントによると、「バナー広告を表示するのは、ゲームの一時停止中やクリア時など、ユーザーが画面でゲームプレイに集中していない状況に限定することをおすすめします。」とありますので、場面に応じて表示/非表示を切り替えなければなりませんが、その方法も開設されています。


ということで、ゆるりと試していってみたいと思います。つづく。

2016年10月8日土曜日

ゲームアプリ第六弾「幸せの記憶」をGoogle Playで公開できました


ゲームアプリ第六弾「幸せの記憶」をGoogle Playで公開できました。




制作中の画面と、色などが少し変わりましたが、ゲームの基本的なデザインは同じです。



ゲーム性として変わったとすれば、これは第五弾「幸せのもつれ」でも最終的に変えたところですが、「幸」の文字の色だけ赤にしたところです。

これによって、「幸」と「辛」などを間違える、といったことは起きにくくなり、単に赤色の位置を覚えればいいということになりますが、今回は、先に進んでいって、ヒントの表示時間が短くなってくると、「幸」を認識すること自体が難しくなりすぎるのと、そういう場面でも、やはり「幸」と「辛」を間違えるというミスは起きにくかったので、このようにしました。

ところで、今回はGoogle Playで「幸せの記憶」を検索しても、このアプリは出てきませんでした。前回の「幸せのもつれ」は出てきました。アプリの名前を決めるときは、そういったことも意識する必要がありますね。





2016年9月4日日曜日

ゲームアプリ第六弾制作中


ゲームアプリ第六弾は、「幸せ三部作」完結編、「(仮称)幸せの記憶」です。

とはいっても、この三作は「幸せという字と辛いという字は似ている」を土台にしているという以外は、特に関連がないので、実は何か完結する、というものではないですね。

それで、今回のゲームは仮タイトルから想像できるとおり、「記憶」ゲームです。
一定時間、以下のような画面が表示されます。

(開発中)


一定時間の間に「幸」という字の位置を必死でおぼえます。
一定時間後にはパネルがすべて裏返しになります。

(開発中)


そこで、先ほど記憶した「幸」の位置をタップして、間違えずにすべての「幸」を見つけると、そのラウンドはクリアとなります。
前の二作に負けず劣らず「単純」な内容です。

ラウンドをクリアすると「NUMBER(仮)」と「TIME(仮)」という二つの選択肢が現れます。

NUMBERを選択すると、次のラウンドの文字パネルの数が増えます。
TIMEを選択すると、ラウンドの最初の答え表示の時間が短くなります。

そして、以下のような画面が表示され、プレイヤーが選択してきた道筋が表示されます。
右方向は「TIME」を上方向は「NUMBER」を示しています。

(開発中)


パネルの数が少ないときに「TIME」を選んでいくと、数が少ないので楽勝ですが、右端に突き当たると、あとはNUMBERしか選択肢がなくなり、回答表示時間が短いまま、数だけ増えていくと大変かもしれません。
一方、「NUMBER」だけ選んでいくと、回答表示時間は長いまま、数が増えるので、そこそこ進めますが、上端に突き当たると、あとはTIMEしか選択肢がなくなり、数が多い状態で、回答表示時間が短くなっていくことになり、それはそれで大変そうです。

ということで、ここでどういう選択をしていくかが大事になっていきます。

開発中の今のところの問題点は、開発者本人の記憶力がかなり低下していて、思うように先に進めないところです。

前にこのブログでも書いたかもしれませんが(←書いたかどうかもおぼえられない...)、難易度を自分に合わせちゃっていいのかが、ここでも問題です。

ということで、まだ完成にはほど遠いですが、9月の近況報告でした。



2016年8月21日日曜日

マルチタッチについて学習中


検討中のゲーム・アプリで「2点マルチタッチ」を使いたいので、テスト実装しています。




ドキュメントを読んで、「こんな感じでイベントが来るのかな」と思っていたら、ちょっと思っていたのと違いましたが、対処できました。

なににとまどったか、一応メモしておくと、

  • 一点しか動かしていないつもりでも、MOVEは複数点の状態をまとめて1つのイベントとして来るらしい
  • 複数まとめられるつもりでいると、DOWNやUPがうまくいかず(特にUP)、getActionIndex()で動きのあった点のindexを取得しないといけないらしい

ということで、ゲームのほうは、まだまだ初期のアイデアが浮かんだだけの段階なので、いつになるかわかりませんが、ゆるゆると作っていきます。

2016年7月30日土曜日

Windows 10さらに土壇場アップグレード


昨夜(7/29)、Windows 10アップグレード「非」対象機種のほうのノートPCもWindows 10にアップグレードしました。

先日アップグレードしたデスクトップPCで不具合がなかったので、ノートPC(FMV BIBLO NF/D50)のほうもやってみました。

このノートPCはもともと親が使っていたもので、最初はWindows Vistaがインストールされていましたが、すでにWindows 7のリリースがアナウンスされていて、無償で7にアップグレードできる、という頃の機種です。

ネットで同じ機種、あるいは同世代のFM-VをWindows 10にアップグレードして成功/失敗の話を読んでいると、ポイントのひとつは、Windows Vista→7への移行方法にあるようでした。

Vistaから上書きアップデートした7の場合うまくいかないというのがありました。
うちは、親が使っていた時にハードディスクが故障してしまい、買い替えるというので譲ってもらったものなので、ハードディスクを入れ替えたときに、Vistaはインストールせず、7をクリーンインストールしていました。

そのおかげで、今回のアップグレードはハマることなく(時間はかかっていたようですが)、完了しました。

アップグレードは、昨夜の23:59までだと思っていましたが、ハワイ時間の23:59だという説もあるので、まだ土壇場とは言えないかもしれませんが、一応、アップグレードは完了し、特に問題なく動作しています。

#1年もあったのに、なんで今やるねん。

2016年7月23日土曜日

Windows 10土壇場アップグレード


今週月曜日、Windows 10にアップグレードしました。

といっても、Windows 10アップグレード非推奨のノートPCではなく、それとは別のWindows 7のデスクトップPCです。

アップグレードしたほうのPCは、2012年に購入しもので、Windows 8に対応していましたが、Windows 7で使っていました。

2020年までWindows 7で乗り切ろうかと思っていましたが、特殊なハードウェアを接続したりしていないので、ハマることはないだろうと思いました。

アップグレードして数日経過しましたが、困っていることは特にないです。

アップグレード後のチェックポイントとして、

  • Power DVD9でDVD、特にデジタル放送を録画したものが正しく観られるか
  • デバッグ用Android端末が正しく認識されるか
  • edgeというDot Graphic Editor(Windows 10対応を謳っていない)が動作するか

といったあたりを確認しましたが、問題はありませんでした。

特にAndroid端末は、Nexus7のようにGoogle謹製だったら問題ないですが、KEIANのM704S(そのまま使えるドライバがなかったのでinfファイルをエディットした)、SAMSUNG SC-02B(ドライバのインストールにすんごい手間取った)は不安でしたが、すんなり認識されました。

数日使ってみた時点で違和感があるのは、ウィンドウの上部のバーの高さ方向が少し伸びてしまったことと、日本語入力の際の予測候補が出てくるところぐらいです。

Windows XPを長いこと使っていて、Windows 7はあまり深く使いこなしていなかった(XP→7のときは、相当困りましたが)というのがよかったのかもしれません。


土壇場でアップグレードしたのは、bash on Windowsに興味がわいてきたからでした。

2016年7月9日土曜日

最初に買ったパソコンはCF-3000(MSX)でした


最初に買ったパソコンは、松下のCF-3000でした。



1984年の12月15日だったと思います。

その年の夏休みに、親戚の家で遊ばせてもらったPC-8801mkⅡのインパクトが大きくて、MSXなのにセパレートタイプにしてしまいました。
RAM64KBは宝の持ち腐れで、自分の使い方だと32KBで十分だったかもしれません(CF-2700でよかったんちゃうか)。


PanasonicのLet's noteは色がシルバーだったり、型番がCFだったりといった共通点があるのが、なんかちょっとうれしいです。持ってませんが。





2016年7月1日金曜日

ゲームアプリ第五弾「幸せのもつれ」をGoogle Playに公開できました


ゲームアプリ第五弾「幸せのもつれ」をGoogle Playに公開できました。

今回のゲームは、画面に表示されている、「幸」の字をタップして、左半分のエリアにもっていって放すという内容です。



「幸」の字の上には、ラウンドが進むにつれて他の字(「辛」とか「圭」とか)が重なってきますので、それらの下からうまく「幸」をつかみとらなければなりません。


他の字をタップしてしまったときは、右半分のエリアにもっていって放してください。


「幸」の文字だけが赤色なので、見つけやすいはずですが、ラウンドが進んで他の字で完全に隠されてしまっていることもあります。
上に重なっている文字を次々に右半分のエリアにどけてもいいですが、10秒の時間制限がありますので、あまりたくさん重なっていると間に合わないかも知れません。


ちなみに、ラウンドは始まって、一発目で「幸」をつかむと、「一発成功」としてボーナス点が加算されます。
邪魔な文字をどけているとこのボーナスは得られません。


そういうときは、画面を軽く振ってみよう。
そうすると、グシャッと重なっているほかの文字が動いて、「幸」が見えてくるかもしれません。


というような感じで、ふりふりして「幸」が出てくるのがちょっとうれしいゲームです。






2016年6月26日日曜日

ゲームアプリ第五弾、開発初期からの変化


ゲームアプリ第五弾は、「幸」という文字をタップしてゴール(左半分)エリアに持っていくという基本ルールは変わっていませんが、

(開発中)


上のモノクロ画面を色づけするにあたり、最初、文字単位で色づけすると、単に色を見つけるゲームになってしまい、つまらないのではないかと思っていました。

そこで、そうならないように一画づつランダムな色をつけてみました。

(開発中)

しかし、ラウンドが進むと、途方にくれる状態に陥ってしまいました。

(開発中)

文字単位で色分けすると、目的がはっきりして、端末を振って状態を変えるときも、やみくもに振り回すのではなく、引き出せそうな赤い部分を見つけるために振れるようになりました。




2016年6月25日土曜日

ゲームアプリ第五弾、アイコンなどを作成しました


ゲームアプリ第五弾の進捗です。




デバッグやパラメータの調整も終わりつつあるので、アイコンやプロモーション画像などを作成しました。

他にも、解説文、スクリーンショット、署名付きAPKファイル、などを作成しなければならないので、公開にはもう少し時間がかかりそうです。

今回で五作目ですが、五作ともに、狭い意味での「ゲーム性」みたいなところは、全体の20%ぐらいの時間で固まっていて、他の作業に80%ぐらいかかっているように感じられます。これもパレートの法則といえるのでしょうか?




2016年6月19日日曜日

ゲームアプリ第五弾進捗報告


ゲームアプリ第五弾、加速度センサの部分を試作中です。



ひとまず、x軸とy軸とz軸との加速度の合計が、前回の値より4.0より大きかったら揺すぶられたと判定するようにしてみました。

いまのところNexus7 (2012)では、うまくいっていますが、Androidは端末によって差があるので、安心はできません。

2016年6月12日日曜日

そういえば「平安京マンホール」はどないなってんの?


半年ぐらい前に、「ゲーム第五弾平安京マンホール構想中」と書いてましたが、一つ前の投稿を見て、「なんかちがうものになってるんちゃうか?」と思ったあなた!

という方が、おられるかどうかはわかりませんが、平安京マンホールは中止したわけではありません。

一応、進捗を報告しておきますと、



3月に京都にいったときに、参考資料としてマンホールの蓋の写真を撮ってきました!!

まだ、これだけで~す。(3月の進捗を今頃報告しているし。)


ではまた、次の報告をお待ちください。


2016年6月11日土曜日

ゲームアプリ第五弾検討中


ゲームアプリ第五弾を検討中です。


(開発中)



「幸せ三部作」(なんじゃそりゃ)の二作目になる予定です。

今回は上の画像のように、「幸」と他の文字がゴチャっと出てくるのですが、「幸」だけをつかんでゴールに持っていけばクリア、というようなものになる予定です。

上の画像は「幸」と「土」の二つですが、クリアすると今度は文字数が増えていきます。


(開発中)


上の画像では、「幸」「土」「干」の三文字です(たぶん)。

文字数が増えすぎると、ゴチャゴチャしすぎるので、端末を揺すぶると、ちょっと配置がバラける、というようなこともやってみたいと思っています(加速度センサでできるかな?)



2016年5月30日月曜日

ゲームアプリ第四弾「幸セ流ル」がGoogle Playで公開できました


ゲームアプリ第四弾「幸セ流ル」がGoogle Playで公開できました。


ゲームアプリ第一弾「ToMorse」から、どんどん単純になってきてまして、
今回は「幸」という字が流れてきたらタップするという、とっても単純なゲームになりました。



最初のうちは↑のような感じで、ゆっくりと流れてきます。
「幸」以外の文字や真っ白のものをタップしてしまうとアウトです。

「幸」が画面に出現したとたんにタップすると、高得点。



一定数タップすると、そのレベルの区切り(ボスキャラ、というほどではないですが)となるパネルが、連なって出現します。



LEVEL1ではこんなもん↑ですが、LEVEL10だと、こんなこと↓になってしまいます。



LEVELが上がると、だんだんと紛らわしい文字(「赤」とか「圭」とか「寺」とか「辛」とか)が増えてきて、移動も速くなっていきます。



単純なので、気軽に遊んでみてください。



2016年5月29日日曜日

ゲームアプリ第四弾、難易度など調整中


ゲームアプリ制作、土日に少しずつ進めています。



難易度調整をしていますが、自分がクリアできるレベルに合わせると、ちょっと物足りなさを感じさせてしまうかもしれません。

かといって、自分がクリアできないと、ひょっとしたら誰もクリアできないものを作ってしまっているかもしれません。

ということで、continueを駆使しつつ、なんとか自力で一周できるようにはなりました。


そういえば、「パックマンのゲーム学入門」という本の中のインタビューで宮本茂氏は、

「難易度を上げる理由として一ついえるのは、ゲームの面白さが足りないから、難易度を上げたり、謎解きを難しくしたりしてしまうのです。ゲームがもっと面白ければ、隠すレベルを上げる必要もないですし、加える必要もないのです。だから、難易度調整に悩んでいるときは、面白さを作り出すネタの部分で、行き詰っていることが多いようにも思います。」

とおっしゃっていました。

ゲームとして単純すぎるのを難易度を調整することで、面白く見せようとしているだけだと言われれば、そのとおりだなぁ。