2012年8月11日土曜日

新PC導入

AcerのAspire V3 V3-571-H54C/Kという機種を導入。
http://kakaku.com/item/K0000378324/

普通の家電量販店で39,800円でした。
スペック的には、
・OS: Windows 7 Home Premium x64
・CPU: Core i5 2450M 2.5GHz x 2way x Hyper-Threading
・Memory: 4GB
・HDD: 320GB
4万切っててこれだけあれば十分過ぎるぐらい。

GPUはIntelのオンボードのもので、現状自宅で使っているPC(オンボード版のGeForce)よりも若干スコアが落ちる程度。(エクスペリエンス・インデックスで評価点を確認したところ4.7ぐらい)
ただ、CPU性能の評価は、倍以上。(7.0ぐらい)

サブマシンとしては申し分ない程度のスペックだと思います。
まぁ、私は今後コレをメインマシンにする訳ですが。
しかし、HDDの熱排出の位置が左側というのは何とかなりませんかね・・・
私はマウスを左手で使う(※利き手は右手です)ので、暖かい風が当たります。

あとは、環境構築がだるい。。。
主に、Android系の開発環境の構築がだるい。。。

2012年8月10日金曜日

電源失念

今日から夏休みなので帰省したのですが、ノートPCのアダプタを自宅に忘れるとか。。。
アダプタだけ買おうか、この際だから、メインマシンとして使えるレベルのウルトラブックを買ってしまおうか、迷いどころです。
自宅メインマシンは、atom機だから、Android用の開発機としては大分厳しいと思っていたところ。メインマシンには、acerのAspire RevoというPCを使ってますが、GPU はそこそこ速いけど、CPU は開発機として使うには無謀なレベルです。

Windows 用のCコンパイラをコマンドラインで使う作業がメインなので、基本的に問題ありません(SHOT04のフルビルドがだいたい10秒弱で終わります)が、cygwinでgccを使ってスマホ用の共有ライブラリをフルビルドするのにはだいたい1分強ぐらいかかります。
ちなみに、apkモジュールは、Eclipce を使わず、コマンドラインでantとかをバッチで叩いて作ってますが、それにも署名などを含めて1分ぐらいかかります。

最新のウルトラブックなら、大分改善されるはずだし、何より、自宅でも出先でも、使いなれた普段の環境で作業できるのが魅力的な気がしています。

やはり、Windows版が本丸

Android用のゲーム開発を開始してそろそろ半年ぐらい。
しかし、端末毎の仕様差が想像以上に激しいので、やはりAndroid版でのモノ作りは色々と厳しい。
設備投資を惜しまず、最初はiPhone向けで作るのが吉だった感が否めません。
私が一番気にしている問題(VSYNCの端末差)は、Android4.1でようやく解消されるようなので、Android版の開発はそれを待ってからやるべきだったんじゃないかと。あと、Android4.0で地雷(SurfaceViewの大幅な性能デグレード問題)を踏みましたし。

ですが、今開発中のSTGの本丸プラットフォームは、Windows版。
要は、Android版やiPhone版というのは客寄せパンダ的な位置づけのつもり。
やはり、STGはタブレットや電話機のようなチマチマとした画面ではなく、大画面でやりたいので。
しかも、今回は縦画面のフルスクリーン対応。
23型ぐらいのワイドディスプレイを縦置きにしてプレイすれば、ゲームセンターと同じ迫力で楽しめます。

Androidと仕様を合わせる都合上、入力装置にマウスを使うのがちょっとアレですが。
シューターは伝統に囚われる人が多いから、最初は抵抗があるかもしれません。
ただ、STG用の入力機器としては、セイミツ工業のアケステ以上にマウスの方が向いているかも。
アケステよりも精密な動きができるので。

2012年8月9日木曜日

Music room

開発中のSTGのオマケで付ける音楽の試聴機能を、かっこいい感じにしてみました。
とはいえ、こういうオマケ部分にあまり力を入れたくないから、VGS Chiptune musicからの流用ですが。

せっかく、めずらしい方法で音楽を鳴らしているので、そのことを実感していただくために。
開発中のSTGは私が独自に設計した波形メモリ音源VGS(VideoGameSound)をソフトウェアエミュレーションする方式で音楽を鳴らしています。(VGSは私の脳内にしかないので、実在しません)

言うほど難しいことはやっていませんが、こういうやり方で音楽を鳴らしているゲームといえば、エミュレータ類を除けば洞窟物語(あと、イカちゃん?)ぐらいしか思い浮かばない。結構簡単に作れるし、アプリの容量も抑えられるし、凝らなければ処理性能もかなり速い(VGSの場合、ネットブックでもサクサク動きました)ので、もっとやっている人が居ても不思議はないんですがね。
ついでに、自作音源なら、自分のやりたい範囲で好きなようにハードウェア仕様を弄れるから楽しい。

2012年8月6日月曜日

作曲のやり方

色々なサイトで紹介されていますが、トニックとドミナントがうんたらかんたら・・・といった眠たい話しをしている方が多い(眠たい話しならWikipediaで十分です)ので、私流の作曲術の勉強方法を記しておきます。

まず、楽器屋へ行って、キーボードを買ってください。
高いヤツじゃなくて良いです。(5000円ぐらいのもので全然OK)
ただし、鍵盤の数は、最低61鍵のものを選んでください。
61鍵よりも多い分には問題ありません。
60鍵以下だと、脳内補完が必要になるので大変です。

あと、楽譜屋へ言ってJ.S.Bachの2声のインヴェンションの楽譜を買ってください。
ついでに、ハノンも買った方が良いかも。
色々と種類がありますが、原典版のもの(なるべく装飾記号がついていないもの)を選んでください。
ちなみに、3声のインヴェンション(シンフォニア)は無くても良いです。
が、殆どの楽譜は、2声と3声で一冊みたいな感じだと思います。

そして、2声のインヴェンションを1曲づつ、解析⇒演奏を繰り返します。
15曲ぜんぶやってください。
ピアノを弾いたことが無い状態からやると、たぶん、普通の人なら5年ぐらい掛かります。
まず、1番を弾けるレベルになることに時間が掛かります。1番を両手でインテンポせずに適度なテンポで弾ける程度の技術が身に付けば、1曲あたり概ね1~2ヶ月程度の期間で消化できると思います。

解析の方法は、片手づつとりあえず弾いてみて、モチーフとそれ以外の場所を意識します。
モチーフを蛍光ペンでマークしたりすると良いかもしれません。
モチーフというのは、その曲の主題です。
インヴェンションの場合、概ね、右手、左手で交互にモチーフが出てくる感じです。
なお、解析については、素人が全て独断でやるのは困難なので、ググるなり、アナリーゼ本を買うなり、ピアノ教室に通うなりする必要があります。ちなみに、私はキレイなお姉さんに個人レッスンを受けたかったので、個人レッスンのピアノ教室に通いました。先生がキレイなお姉さんか否かは定かではないですが、少なくとも「お姉さん」ではなk(中略)。

なお、ピアノ教室だと演奏方法に着眼しがちですが、常に、「どうやって作曲をするのか知りたい」ということを念頭に置く必要があります。そうしないと、本来の目的と逸れてしまうかもしれません。(でも、それはそれで良いかもしれませんが)

アナリーゼは徹底的にやってください。
あと、「次の曲に進んでよいか?」の判断基準は、「暗譜でミスタッチ無く完璧に弾けるかどうか」です。
もちろん、インテンポしてはいけません。
完璧に解析できれば、嫌でも暗譜できている筈です。
暗譜ができていないようでは、とても解析できているとは言えません。
また、曲を完璧に理解していれば、緊張でもしない限りミスなんてする筈が無いです。

テンポについては、カデンツァ以外、終始一定でなければなりません(=インテンポしない)。
なお、テンポは、「思いっきり遅いパターン」、「中ぐらいのパターン」、「思いっきり速いパターン」の3パターンぐらいで弾ければ良いです。(※「思いっきり速い」とはいっても、グールドぐらいの速さで弾ける必要はありませんが)
解析がちゃんとできていれば、どんなテンポでも弾ける筈です。
ただし、技術的な限界点には個人差があるので、自己の限界を超える必要はありません。
なので、速く弾くことには拘らなくて良いです。
作曲術を学ぶ上では、インテンポせずに遅く弾く方が重要だったりするので。

概ねこんな感じです。
15曲ぜんぶ弾き終わる頃には、自然と「どうやって作曲するのか」が見えている筈です。
ちなみに、そういう私は15曲全部はやってませんが。
やったのは確か、1番、2番、4番、5番、6番、7番、8番、9版、13番、15番だけ。
それでも、「音楽ってこうやって作るんだー」という感じで見えました。

ただし、作曲の勉強らしい勉強(トニックがうんたら~かんたら~とか)は一切やっていないので、色々と間違っている可能性は否定できません。ただ、音楽なんて、それらしく聴ければそれで良いんだと思います。ですが、より厳密さを求めるのであれば、平均律クラヴィーア曲集をやる必要があります。(ただ、私は1巻の1番と2番のフーガが弾けるようになったぐらいの頃に、ピアノ演奏自体に飽きて教室を辞めましたが)

まぁ、時間が掛かるし面倒(理論よりも実践派の方向け)な方法です。
ただ、この方法の方が「作曲本」で勉強するよりも本質が見えてきます。
何より、演奏をすることに楽しみを見出すことが、作曲をする上で重要な要素なのかもしれません。
私は、演奏に楽しみを見出せ切れなかったので、作曲の腕もそれなり...

2012年8月5日日曜日

iPodTouch版でのポーズ方法

今開発中のSHOT04ですが、4面道中が完成。
夏休み前までに4面ボスまで完成させたかったのですが及ばず。
8月中に完成するか、微妙なところ。
まぁ、順調なので、今年中に完成できる点はほぼ確定です。

ところで当初、Android版が完成したらiPodTouch(iPhone)版を作ろうと思っていましたが、iPodTouchへ移植するにあたり、仕様面での最大の課題がボタン系統です。

Android版の場合、
(1) 戻るボタンを押せばポーズ
(2) ホームボタンを押せばポーズしてホームへ戻る
という感じでハードボタンを使っていますが、iPodTouchにはホームボタンしかありません。

つまり、ポーズができません。
ゲームのメイン画面中にソフトボタンは絶対に入れたくないです。
なので、iPodTouch版に限り、(1)の機能を落とす方向で検討していました。

ですが、
「マルチタッチをした時にポーズ画面にする仕様にしてみてはどうだろうか?」
という天の声(たぶん、ジョブズ)が聞こえました。

SHOT04の仕様は、シングルタッチ専用だから、それでも仕様上問題ありません。ただし、「2つ同時タッチ」だと誤ってやってしまうこともあるだろうから、3つ同時タッチでポーズにしてみました。(まだ、iPodTouch版は作る環境すら作っていないので、とりあえずAndroid版で)

操作性としては、特に問題無さそうな感じです。
これで、iPodTouch版を作る上での課題は全てクリアできたかも。
残る最大の課題は、SHOT04(Android版とWindows版)を完成させること。

ちなみに、iPodTouch版ですが、Android版とWindows版の利益だけで開発環境を導入できなければ、やりません。流石に、道楽でこれ以上の出費は避けたいので。道楽であれば、個人的にはWindows版とAndroid版だけで十分だと思っていますし。

何より、私がiPhoneを持つことは有り得ない。
iPhoneに慣れた人がAndroidへ移行することは結構簡単ですが、Androidに慣れた人がiPhoneへ移行するのは無理なので。
「AndroidだとできるのにiPhoneだとできない」ということがあまりにも多すぎます。
iPhoneのダメな所は、
・先述のハードボタンのこと
・SDカードが使えない
・パーミッションの仕組みが無い(セキュリティ的に脆弱なのでアプリを使うのが結構怖い)

セキュリティ的なところだと、Androidの方がショボイというのが世間の常識ですが、OSの実装レベルで見てみると、iOSの方がガードの仕組みが無い分、審査がザルだった場合のセキュリティリスクが高いといえます。そして、昔は「厳しい」ということで有名だったAppMarketの審査も、実際のところはザルに等しいと思われる事案がチラホラと起きて始めているので、iOSの方がセキュリティ的に見て脆弱だと思います。(これについては、将来的に立て直される可能性があるかもしれませんが)

そういえば、現状はAndroidMarket(GooglePlay)の審査もザルですが、先週末、Googleからデベロッパーアカウントを持っている人向けに、「そういった部分を強化するから覚悟しとけよ」という内容の通知が来ていました。この通知について、以下に日本語の記事がありました。
http://japan.cnet.com/news/service/35019972/
上記の内容は審査でもしないと分からないと思うので、何らかの審査でもするつもりですかね?
良い傾向だと思います。

Arcade mode

SHOT04のPC版限定ですが、縦画面モードを入れてみました。
※Android版については、最初から縦画面専用

480x640のフル画面表示です。(ちなみに、SHOT04のスクリーン仕様は240x320(QVGA))
ディスプレイを90℃回転して遊べばアーケードさながらの迫力の大画面でSHOT04が遊べます。
どのモードで遊ぶかは、起動時にダイアログ(以下)で選択する東方方式で。

一応、標準(横置き)のフルスクリーンモードは2系統用意することにしました。
640x480(VGA)の画面中央部分にオリジナルサイズ240x320を表示するモード(1番上)と、1.5倍の360x480に引き伸ばして(縦画面一杯分で)表示するモード。拡大処理はソフトウェア方式(自前)でやっているので、私が持っている無茶苦茶遅い悪いノートマシン(ネットブック)とかでは、240x320じゃないと厳しい。

ちなみに、不要とは思いますが、一応、横画面のフルスクリーン(640x480)で縦表示するアーケードモード(Arcade mode)というのも入れておきました。Arcade modeは、横画面で縦表示にして遊ぶことができます。(ほぼ、誰得機能ですが、念のため)

上記の画面キャプチャは、そのArcade modeで撮りました。
私のPCのディスプレイが横置き専用なので、キャプチャを撮るのに縦画面モードにするのが面倒。
こういうモードを入れておけば、横置きのまま、縦画面モードのキャプチャが撮れる訳です。
それだけの為の機能なので、Arcade modeについては、正式リリース時に削るかもしれません。

・・・縦置きディスプレイが欲しくなってきました。
やっぱり、縦スクロールSTGなら縦画面じゃないと迫力がありません。
ゲームのためだけに、新しいディスプレイを買うのは馬鹿らしいですが、実はプログラマにとって、横置きよりも縦置きの方が、一度に視認できるコード量が増えるから有利なんです・・・と、自分を説得中。

合理的ではないものを作りたい

ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...