2012年10月28日日曜日

VGS本の執筆状況

VGSの普及を促すべく執筆中の商業誌(契約出版社は今のところなし)ですが、割と進みました。

(状況)
・第1編(基礎): 一通り執筆完了(校閲中)
・第2編(導入): 一通り執筆完了(校閲中)
・第3編(実践): 未着
・第4編(リファレンス): 一通り執筆完了(校閲中)

(参考:目次)
■基礎編
1. はじめに
1-1 VGSとは
(1)仮想ゲーム機
(2)最低動作環境
(3)使用するプログラム言語
(4)前提知識
(5)必要な物
(6)推奨開発環境
(7)VGSを採用したゲームの例
1-2 VGSでできること
(1)面白いゲームの開発
(2)簡単にゲームを作れる
(3)効率的に高品質なAndroid用ゲームの開発
(4)低容量なゲームの開発
(5)開発したゲームの販売
1-3 iPhoneに対応しなかった3つの理由
(1)開発にはMachintoshが必要
(2)市場シェア
(3)機種自体の重要性の低下
1-4 iPhoneの魅力
(1)商売することが強制されるマーケット
(2)税に関すること
(3)アプリが「売れる」市場
1-5 VGSができること
(1)マルチプラットフォーム対応
(2)iPhone対応
(3)情勢を見守ること
2.アーキテクチャ概要
2-1 処理系
(1)VM方式とソース互換方式
(2)メリットとデメリット
(3)VGSの制約
2-2 ストレージ
2-3 入力装置
(1)タッチパネル
(2)設計思想
(3)ポーズボタン
(4)明確なEXITインタフェース
2-4 SLOT領域
(1)SLOT領域とは
(2)SLOT領域の種類
(3)SLOT領域への展開
2-5 グラフィックス
(1)画面サイズ
(2)VRAM
(3)同時発色数
(4)スプライト
(5)BG
(6)矩形転送
(7)図形描画
(8)Windowsでのエミュレーション
(9)Androidでのエミュレーション
2-6 サウンド
(1)ゲームと音楽
(2)音声品質の固定
(3)品質論
(4)PCM音源
(5)波形メモリ音源の概要
(6)波形メモリ音源の仕組み
(7)波形情報のメモリストア方式
(8)波形メモリ音源ドライバ
(9)波形メモリのストア範囲
(10)Windowsでのエミュレーション
(11)Androidでのエミュレーション
2-7 演算装置

■導入編
3.事前準備
3-1 ハードウェア
3-2 必須ソフトウェアの入手
3-3 導入手順
(1)インストール方法
(2)システム環境変数の設定
(3)デバイスの設定
3-4 推奨ソフトウェアの紹介
(1)秀丸エディタ
(2)ALFAR
(3)効果音エディタ_D
(4)Pxtone Collage
4.プロジェクト作成
4-1 プロジェクトとは
4-2 vgsmkpjコマンド
(1)コマンド仕様
(2)作成されるディレクトリ
(3)実行結果の例
5.ビルド手順
5-1 全体の流れ
(1)ビルドフェーズ
(2)makefileの仕組み
5-2 ROMデータのビルド(Windows/Android共通)
(1)ビルド手順
(2)解説
5-3 DLLのビルド(Windows用)
(1)ビルド手順
(2)解説
(3)実行
5-4 JNIのビルド(Android用)
(1)仕組み
(2)ビルド手順
5-5 APKのデバッグビルド(Android用)
(1)ビルド手順
(2)転送手順
(3)実行
5-6 APKのリリースビルド(Android用)
(1)キーストアファイルの準備
(2)リリースビルド
(3)キーストアファイルの適用
(4)ZIPアラインの調整
6.ROMデータの作成
6-1 ROMデータとは
6-2 vgsromコマンド
(1)コマンド仕様
(2)データソース
6-3 CHR形式データの作成(vgsbmpコマンド)
(1)指定できるBitmapファイル
(2)ファイル名の命名規則(GSLOTxxx.CHR)
(4)コマンド仕様
(5)実行例
(6)留意点
6-4 PCM形式データの作成(vgswavコマンド)
(1)指定できるWaveファイル
(2)ファイル名の命名規則(ESLOTxxx.PCM)
(4)コマンド仕様
(5)実行例
(6)留意点
6-5 BGM形式データの作成(vgsmmlコマンド)
(1)指定できるデータソースファイル
(2)ファイル名の命名規則(BSLOTxxx.BGM)
(4)コマンド仕様
(5)実行例
(6)留意点
6-6 DAT形式データの作成
(1)指定できるデータソースファイル
(2)ファイル名の命名規則(DSLOTxxx.DAT)
(3)使いどころ
(4)留意点
7.プログラムの作成
7-1 ゲームソース(game.c)
(1)配置先
(2)makefileの編集(hoge.cを追加)
(3)Android.mkの編集(hoge.cを追加)
(4)Windows版とAndroid版のソースコード同期
7-2 インタフェース関数
(1)処理の流れ
(2)インタフェース関数の仕様
(3)フレーム間隔
7-3 初期状態のgame.cの解説
(1)概要
(2)利用推奨ヘッダ <1~8行目>
(3)当たり判定マクロHITCHK <10~12行目>
(4)InputInf構造体の宣言 <14~21行目>
(5)vge_init <26~44行目>
(6)vge_term <46~54行目>
(7)vge_loop [1/3] <56~68行目>
(8)vge_loop [2/3] <69~86行目>
(9)vge_loop [3/3] <87~97行目>
(10)vge_pause [1/5] <99~111行目>
(11)vge_pause [2/5] <112~129行目>
(12)vge_pause [3/5] <130~138行目>
(13)vge_pause [4/5] <139~155行目>
(14)vge_pause [5/5] <156~166行目>
(15)myprint <168~191行目>

■リファレンス編
A. ハードウェア仕様
B. API仕様
C. 初期状態のgame.c
D. MML仕様
E. サンプルMML(bslot000.mml)


ページ数は、今のところ、ジャスト90ページ。(90,763字)
ただし、私の校閲はかなり大手術が入ることがあるので、1,2,4編の量は、まだまだ流動的です。
図解が少ないので、図解を増やしたいところ。(しかし、無意味な図は載せたくない)
あと、分量的には、第3編を100ページ程度書けば、バランスが良さそうな気がします。

なお、本当に出版されるかは未知数です。
完成したら、企画のたまご屋さん経由で営業を仕掛ける予定ですが、採用されるかは分からないので。(たぶん、企画書は結構良い感じだと思うので、最低でもたまごには成れると思いますが)

採用されなかったら、お蔵入りです。
「ウチから出版しても良いぜ!」という奇特な出版社の方が万が一居たら、ご一報ください。


Melonbooks DL

2012年10月27日土曜日

VGS 1.02

SUZUKI PLAN - Video Game Systemをバージョン1.02にアップする手続きを取りました。
Vectorで公開申請中です。
恐らく、来週のウィークデー中には公開されるものと思われます。
変更点などについては、オンライン版のマニュアルに載せておきました。
http://hp.vector.co.jp/authors/VA040196/vgs/index.htm

なお、変更点は、前記事のコメントでご指摘いただいた関数名の変更(kkd→deg)のみです。
template/vgeapi.hに以下の#defineを追加しただけ。
#define vge_deg vge_kkd
#define vge_deg2rad vge_kkd2rad
#define vge_rad2deg vge_rad2kkd

そういえば、VGSの使用許諾で、『VGSで作られたゲームを配布する場合、必ずそのゲームに付随するユーザ公開ドキュメントに「本プログラムは、SUZUKI PLAN-Video Game Systemを用いて作られています。」と明記してください。』という要求事項を掲載していますが、これの真意は、VGSで作られたゲームの所在を私がチェックし易くするためだったりします。あとは、VGSの普及活動(主に執筆活動)を私が頑張り、それなりに普及してくれれば、アプリの利用者サイドにとっても良い検索手段になるのではないか・・・という期待も込めてます。

その期待に沿えるようにするためにも、書籍化は何としても完遂したいです。
今週は若干忙しかったので、進捗は良くないですが。


Melonbooks DL

2012年10月21日日曜日

VGSのぶ厚い本を執筆中

VGSの厚い本を執筆中。今年中には執筆完了したいです。
一応、商業誌で出しても問題ないレベルのものを執筆中。
たぶん、200~500ページぐらいの範囲ぐらいの規模のものになる予定です。(アバウトすぎ?)
今のところ、第一編の触り部分が書きあがりました。(だいたい40ページぐらい)
第二編と付録編では、電子マニュアルで公開済みの情報を更に詳しくした上で掲載し、第三編で実際にゲームの開発例を示しながら、学習できるような内容の書籍(全四編の1冊の本)にするつもりです。書きあがっても出版できるかは、定かではないですが。企画のたまご屋さん経由で営業を仕掛けて、ダメだったらAmazonとかで自費出版かな。今書いている書籍については、電子ではなくちゃんと紙の本にしたいので。
万が一、「ウチから出版しても良いぜ!」という奇特な出版社が居たら、ご連絡ください。


Melonbooks DL

2012年10月17日水曜日

PDFにしおりをつける

VGSのマニュアル(PDF版)にしおりをつけてみました。
http://www.k2.dion.ne.jp/~ysuzuki/Manual06.pdf

断然見易い。

しおり(ブックマーク)をつけるのって、ウン万円するAdobeソフトが必要かと思いきや、OpenOfficeのみでいけました。ただ、個人的にOpenOfficeはちょっと使い難いですが。(動きがモッサリしているから、事務ツールとしては使えません)

私の場合、マニュアルや仕様書を書くときは、だいたいHTMLで書いています。WordとかOpenOfficeだと、ついつい、改ページとかのスタイルを気にしながら書いてしまう悪い癖があるので、HTMLの方がそういうことを気にせず書けるし、容量も小さいし、即座にWEBアップできたりするので、色々とお得。

なお、HTMLは、フロントページ(?)とかは使わずに、テキストエディタでダイレクトに書いています。
上記PDFも、原本は、その方法で作成したもの(以下)
http://hp.vector.co.jp/authors/VA040196/vgs/index.htm

HTMLでマニュアルを書く時に、
・章(1.xxx)はH1タグで囲む
・節(1-1 xxx)はH2タグで囲む
・項((1) xxx)はH3タグで囲む
という風に注意して書くようにすれば、あとはブラウザに表示される結果をOpenOfficeにコピペするだけで、スタイル情報が勝手に付与されます(Hxタグが見出しxに対応する形)。
ただし、テーブル(表)の幅が若干おかしくなるので、それについては手動修正が必要ですが。
修正が終わったら、PDFでエクスポートする時に、「初期値」タブの「区画」エリアのラジオボタンで「ブックマークとページ」をチェックしてエクスポートすれば、上記PDFのようにしおり(ブックマーク)が自動的に入ります。

HTMLでマニュアルを書く人なんて、かなりの少数民族なので、誰得情報ですね。

2012年10月16日火曜日

課題

過去数本ゲームを作ってみて、最新作ができるたびに、過去のゲームが皆つまらなくなります。
概ねいつも、今作ったゲームに飽きたら次回作の製作に取り掛かかることが、その理由。
個人的にNOKOGI-Riderはかなりよくデキていると思っていて、今のところ、私自身の総プレイ時間が100時間を超えましたが、まだまだ楽しめそう。(それだけ、次回作の開発が遅れる訳ですが)
とりあえず、SoldierをノーミスALLぐらいまではやっておこうかなと思ってます。
NinjaのノーミスALLは、私には無理。(ゴリ押しでALLするだけでもギリギリなので)

あまり、自分を褒めすぎるのもアレなので、課題めいたものも挙げておきます。
①グラフィック:次回作は全部自作グラフィックでいきたい(モデルツールに頼らないようにしたい)
②難易度:だいぶ易しくしたつもりですが、高評価・低評価ともに「難しい」という意見が多い。
③演出(1):もうちょっと敵爆破ギミックを凝らせたい。(プレイし難くならない程度に)
④自機タイプ:テストプレイをして頂いた海外の方からの意見で3機種にしてみました(元々、タイプAの1機種のみの予定でした)が、やはりバランスがあまり良くならなかった(というより、私自身のテストプレイは、もっぱらタイプAだけでやっていたのが最大の要因)。もうちょっと多様なプレイスタイルで楽しめる機種差みたいなものを盛り込むべきだったかもしれない。
⑤演出(2):背景をもっと凝らせたい。(プレイし難くならない程度に)
⑥演出(3):地上系の雑魚敵の動きが単純。(複雑なら良いという訳ではありませんが)

音関係やスコアシステムについては、概ね文句なしなので、このままいきたいです。

2012年10月15日月曜日

初同人誌

同人誌というものを初めて買ってみました。
同人ショップとかは、雰囲気が苦手なので、極力行きたくないから、DL販売のディジタル物ですが。
買ってみたのはコレ。(※同人ですが全年齢対象)

東方の二次創作モノですね。絵柄に才能を感じたので購入。
この絵柄でオリジナル物だったら即決でしたが、二次創作なので、躊躇しました。
というより、買わないつもりでしたが、安いのでとりあえず買っておきました。

二次創作は、好きな者同士でやる分には良いと思います。
純粋に、作品が好きな者同士、独自の解釈で話を広げてワイワイするのは微笑ましいので。
ただ、二次創作一辺倒という姿勢には関心できません。
実力やチャネル(販路)を持っていない内なら、ある程度は仕方が無いとは思いますが。
実力もチャネルも持っているのに二次創作をやっている人については、理解に苦しみます。

[補足追記] 上記の表現だと、いかにも私がアンチ東方な人間だと勘違いされる可能性があるので、念のため補足すると、アンチではありません。むしろ、東方原作は好きな方だと思います。購入&プレイ可能な原作(※STGに限る)については、全作買っていて、それぞれ最低Normal/Extraはクリア、気に入った作品はHardもクリア、特に気に入った作品はLunaticもクリアする程度、やり込んでいたりします。(私の腕前はコチラを参照・・・やり込んでるという割りに、ちょっと下手ですが)

ちなみに、今、NOKOGI-Riderの販売ページを見ると、「この作品を買った人は、こんな作品も買ってます」という情報と共に、買った同人誌の情報が出てきます。
X指定物を買わなくて助かりました。

別に全年齢対象でなくとも、とりあえず一冊買ってみるつもりで物色していたので、当然の如く、X指定物についてもチェックしてました。しかし、魅力のあるX指定漫画を描くのって、魅力のある全年齢対象の漫画を描くの以上に難しいのだろうか?という新たな発見(というか疑問)を見出せた他には、目ぼしい収穫はありませんでした。

2012年10月14日日曜日

VGSマニュアル(No.6)をPDF化

VGSのマニュアル(No.6版)をPDF化してみました。
http://www.k2.dion.ne.jp/~ysuzuki/Manual06.pdf

主に、自分でチェックする用ですが、紙で(印刷して)読みたい方は、上記から落して印刷すれば良いと思います。

ちなみに、No.6版は49ページあります。
まだ、ギリギリ「薄い本」=「同人誌」の範疇ではないかと思います。
なので、VGSのバージョン1.01がVectorにアップロードされたことを確認したら、電子出版の同人誌として、メロンブックスDLで出版してみる予定。

あとは、GoogleBooksとかにもアップロードできないだろうか?
(GooglePlayでの書籍アップロード方法は現在確認中)

[追記1]
一応、GoogleBooksで出版できる状態にしておきました。
あと、MelonbooksDLでの出版についても手順を確認済み。(問題なし)
いよいよ私も同人誌発行か・・・ちょっと、方向性が違う気もしますが。
折角なので、技術書だけでなく、淫靡な小説でも書いてみようかと、思ったり思わなかったり。
淫靡な小説は冗談ですが、精神論中心の技術書とかを出版してみるのは面白いかもしれません。

[追記2]
出版者登録の手続きは簡単にできましたが、出版するまでが大変そう?
とりあえず、GoogleBooksについては、保留かな。
しかし、GoogleBooksだと、図書館から引っ張り出してきたような古典経済学書とかが結構登録されていて、割りとそういう本が好きなんですが、スキャナ取り込みみたいな感じなので、そういう本は、携帯からだと読み難い・・・青空文庫なら、スキャナ取り込みではなく、ちゃんとディジタル化された情報っぽいので、読み易いですが。一応、そういう本も好きなので、当面は青空文庫だけでも結構楽しめそうです。読書は趣味ではないですが、ピーク時は文庫や新書を月20冊ぐらい読んでた時期もあるので、たぶん、嫌いではありません。

電子書籍#2

Google-Booksで、著作権フリーの文学作品が無料で沢山アップされている(いわゆる、青空文庫というやつです)ので、試しに「人間失格」を読んでみました。

なかなか、読み易かったです。
文学作品を読むには、かなり良いかもしれません。

しかし、よく落ちますが・・・
とりあえず、都度レポート送信をしておきました。
レポートなんですが、開発者のコンソールで見ると、同件は纏まって表示される(別件は別々に表示される)ので、落ちた都度、送信しておいた方が作り手としてはありがたいです。
もちろん、落ちないような状態にしてからリリースするのがベストですが。。。

次のようなケースでよく落ちるっぽい気がします。
・通信をしているときに操作(戻るボタンを押すなど)をした時
・本を開いている上体でスリープモードにし、復帰した時
再現率は100%ではないですが。

とりあえず、バグの話しは抜きに、機能としては中々気に入りました。
文学作品や小説などの類の本であれば、紙の本よりも便利。

ちなみに、iPhone用のiBooksと違い、日本語の本が充実している(iBooksは現状、英語限定)ことに加え、英語の本を読むにしても翻訳機能も整っているから、読書機能としてはAndroidが圧勝だと思います。という訳で、読書が好きな人で、Android or iPhoneどっちにしようか迷っている人であれば、Androidだと思います。気をつけなければいけないのは、ディスプレイに有機ELを使っている端末は選ばないようにすべきということぐらい(有機ELは画面焼けが起こるので読書に向きません)。日本語よりも英語を読むのが楽な方ならiPhoneでも良いと思います。Kindle-Fireという読書専用機もありますが、それについては使ったことが分かりません。ただ、ハードを沢山持ち歩くのは面倒なので、携帯に付随している方が良いかもしれません。

2012年10月12日金曜日

VGS has uploaded on Vector

VGSがVectorにアップロードされたようです。
http://www.vector.co.jp/soft/winnt/prog/se499640.html

これで、Version 1.01へVUPする作業に着手できます。
VectorにVersion 1.01がアップされるのは来週後半ぐらいになると思います。

2012年10月10日水曜日

3点マルチタッチをポーズにした理由

私が開発したVGSとAndroid版NOKOGI-Riderは、画面を3点マルチタッチするとポーズにする仕様にしましたが、これって実はiPhone移植用の機能です。iPhoneには、ホームボタンとボリュームしか外部ボタンが無いので。(Android版は「戻るボタン」でもポーズできる)

なので、Androidで使うことは殆ど無いだろう・・・と、思っていましたが、私自身がNOKOGI-Riderをプレイしていて「戻るボタン」よりも「3点マルチタッチ」の方をよく使っていることに最近気づきました。

作ってた当時は、
「iPhoneは何でホームボタンしか無いんだよ!」
などと憤慨していましたが。

それでも、何とかiPhoneでもシッカリ動けるスペックにしようと考えました。
考えに考えて思いついた苦肉の策が、この「3点マルチタッチ=ポーズ」という方式です。

エンターテインメントの分野に限ってみれば、
「ホームボタンだけあれば事足りる」
というApple談の理屈が正しかったのだろうと思います。

実は、iPhone移植をする気は無かったけど、(少なくとも3GSの頃までの)Appleは最高のエンターテイナーだったので、その頃の彼らの設計思想はそれなりに価値があると思っていたから、実際に移植するかどうかは別問題として、「iPhoneでもマトモに動けるスペック」を目標に設計してました。

結果的に成功だったと思います。

でも、実用アプリではやはり「戻るボタン」が無いと使いにくいと思いますが。
この点は、Apple=エンターテインメント機(専用)なので、仕方がありません。
恐らく、1ボタンマウスみたいなモノであろうと思います。

あと、実際に移植するかどうかは別次元の問題です。
少なくとも、今の私の考えでは、VGSNOKOGI-RiderをiPhoneへ移植する気はありません。
最悪必要に迫られてやるとしても、NOKOGI-Rider限定だと思います。
Androidのアプリ開発者人口を増やすことが、今のところVGSの存在意義なので。私は、Androidのアプリ開発者人口が増やすことで、マーケットの整備を加速させたいと思っています。(作る人が沢山増えれば、整備が進むんじゃないかと)

余談ですが、3GSの頃のiPhoneは本当に欲しかった。
その頃にauで3GSが出ていれば、多分買ったと思います。
# ソフトバンクにMNPしてまでも欲しいとは思わなかったけど。

VGS1.01

早速、VGSをバージョンアップ。
http://hp.vector.co.jp/authors/VA040196/vgs/index.htm

ですが、バイナリのアップはVectorで1.00がアップされてからにします。
Vectorでアップロード申請した場合、途中キャンセルができないので、1.00がアップされるのを待ち、それを確認したらドキュメントの入手方法にリンク先を追加し、それから1.01へ差し替えるという手順でバージョンアップする方向です。

しかし、Chromeだといちいちフレーム再読み込みしないと、内容が更新されないので面倒ですね。。。

2012年10月8日月曜日

VGEオープン化プロジェクト(完了)

ドキュメント込みで完成しました。

ドキュメント:
http://hp.vector.co.jp/authors/VA040196/vgs/index.htm

イメージ:
http://www.vector.co.jp/soft/winnt/prog/se499640.html

[追記] 9-Oct
印刷用にPDFにしてみたら、43ページもありました・・・さて、英語化はどうしたものか。
文字数カウントしたところ、約45,000文字。
Google提携の翻訳屋に依頼すると、1文字あたり2.6円~らしいので、117,000円~か。
サンプルプログラムや画面出力部分など自分でやれば良い部分(というか殆ど英語の部分)を削った所、約23,000文字(約60,000円~)。
なかなか微妙な額です・・・英語化はとりあえず保留で。

[追記] 10-Oct
あー・・・拡張データスロットみたいなのが必要かな?
任意バイナリデータをROMに取り込め、アプリから取得できる感じの。
必要っぽい気がします。
直ぐに欲しい人が居れば、メールで急かしてみてください。

2012年10月7日日曜日

VGEオープン化プロジェクト (5)

ドキュメンテーション作業中。
とりあえず、1章(概要)を書きました。
1章は唯一の駄文スペースなので、かなり遊びました。

以下、抜粋して掲載。(けっこう長いです)
※かなり短時間で書いたので、誤字・脱字が多いかも
 誤字・脱字はいつものことですが・・・

1-1 VGSとは

  VGS(Video Game System)とは、C言語を用いてWindows/Android共通の実装でゲームを作成できる仮想プラットフォームです。ゲーム開発者は、VGSを用いることでゲーム本質部分の開発に勢力を注ぎ込むことができます。似たような思想で作られた「プラットフォーム共通化ツール」の類は他にも腐るほどありますが、VGSの最も特徴的な点は、2Dゲームの開発に特化していることと、仮想ハードウェアの仕様が非常にチープであることです。
  ゲームハードウェアは、時代とともに「限界を無くす」方向へ進化してきました。しかし、その進化の結果、グラフィックのリアルさなどのゲーム本質とはあまり関係ない部分に対して開発リソースを注ぎ込む無駄が生じるようになりました。現在、1本のゲーム製作に掛かる費用は、嘗てのハリウッド映画に匹敵する莫大なものらしいです。その結果、とてもリアルでヌルヌル動く映画顔負けのゲームがリリースされている訳ですが、それらの「ゲームそのものの面白さ」に関しては、適切な費用対効果を得られているとは言い難いです。如何に動きがリアルであっても、ゲーム性が殆ど無く、つまらないものしか無いという印象です。ゲームを面白くするのに必要な投資の選択と集中を誤っていることがその原因であると、私は考えています。事実、注ぎ込んだ経営リソースはファミコン版マリオよりも桁違いに多い筈なのに、マリオの方が桁違いに面白かったと思うので。
  ゲームの本質部分を面白くするには、ゲーム本質部分の開発にリソース(資金や人材)を注ぎ込むべきです。ゲームハードウェアは、ある段階で進化を止め、ソフトの開発にのみリソースを集中するのが適切な選択だった筈です。しかし、全ての生物は遺伝的に、進化を止めることに対して背徳的な観念を持っているため、進化を止めることはできません。
  進化論の観点で見れば、ゲームに対して面白さを追求する行為そのものが淘汰されるべき存在なのかもしれません。
  しかし、私は今の「リアルでつまらないゲーム」より、嘗ての「面白かったゲーム」の方が好きです。もちろん、「ゲームが面白いか否か」の判断には多くの定性的な要素が関係するので、私の「嘗てのゲームの方が面白かった」という感覚は、ノスタルジーが創り出した幻想なのかもしれません。幾らでも反証の余地はあると思います。しかしながら、この議論について定まった解は得られていません。恐らくそれは「神のみぞ知る」領域の問題かもしれません。なので、これについて哲学しても禅問答にしかならないので、時間の無駄だと思います。最も賢い選択は、自分が正しいと思うことを信じることです。
  仮に私の考えが正しければ、このままでは面白いゲームは絶滅することになります。そこで、私は面白いゲームが絶滅を阻止するため、ゲーム開発者がゲーム本質部分の面白さを追求したモノ作りができるプラットフォームとして、この必要最低限のハードウェア機能のみを実装したシンプルな仮想ゲーム機「VGS」を開発しました。
  VGSで作られたゲームの具体例として、SUZUKI PLANが開発した「NOKOGI Rider」を遊んでみてください。
Windows版 NOKOGI Rider
Android版 NOKOGI Rdier
※製品版を買って頂けると嬉しいですが、無料の体験版(Lite版)でも、VGSの雰囲気を十分に掴める筈
  NOKOGI Rider(あと、Invader Block 2)は、VGSを用いて作られています。 NOKOGI Riderの場合、プログラム作成開始から完成まで半年弱の期間で作りました。 もちろん、開発に携わったプログラマは私ひとりだけです。 ついでに、NOKOGI Riderの開発が専業ではなく、普通の会社勤めのサラリーマン家業をこなしながらです。 普通の人間がこれだけのものを僅か半年弱でひとりで作るのは不可能です。 恐らく、専業で開発したとしても相当無理がある筈です。 別に私が特別能力が高い訳でもないと思います。
  VGSを採用したからこそ、それを実現できました。

1-2 使用許諾

  VGSを利用される前に、以下についてご了承ください。
  • VGSの著作権はSUZUKI PLANが有します。
  • VGSは、再配布可能とします。
  • VGSで作られたゲームを再配布する場合、必ずそのゲームに付随するユーザ公開ドキュメントに「本プログラムは、SUZUKI PLAN-Video Game Systemを用いて作られています。」と明記してください。
  • VGSを用いて開発されたプログラム及びデータは、その作成者が著作権を有し、 その作成者の責任で自由に配布又は販売できます。 それに際し、VGSに付属するモジュールの一部(ランタイム)を構成物の一部として同梱できるものとします。
  • VGSの不具合が見つかり、SUZUKI PLANに修正を依頼する場合、不具合の現象が発生する必要最小限のソースコードで実装したプログラム(再現プログラム)を提示しなければならないものとします。 再現プログラムの提示が無い不具合の報告は「VGS側の問題ではないもの」と見做します。 また、仮に再現プログラムの提示があっても、SUZUKI PLANは確実にその修正に応じなくても良く、修正の実施に関する判断はSUZUKI PLANの決定に従わなければならないものとします。
  • SUZUKI PLANは、VGS又はVGSを用いて開発されたプログラムの使用により生じた損失全般(VGSの不具合に起因する場合を含む)につき、一切の保障義務を負わないものとします。
  • (補足)
      明確な許諾条文とすることは避けますが、VGSを用いてゲームを作成する場合、極力商売をするようにしてください。 体験版などをフリーで配るのは良いですが、フリーで配るのはあくまでも体験版などの試供品に留め、開発者が利益を得る手段を確保することを推奨します。 なお、アフィリエイトはあまりオススメしません。なるべく有償で販売し、その対価で利益を得るように努めてください。 ただ、商売をするとなると色々と大変なところもあるので、使用許諾としての明文化は避けました。 ちなみに商売をする場合、特に気をつけないといけないのは、知的財産権(主に著作権)と税関系(源泉徴収や消費間接税)の事です。 知的財産権については、絵、音、プログラム(VGS部分を除く)の全てを自作すれば気にする必要がないので、それを推奨します。

    1-3 基本スペック

      VGSは「仮想ゲーム機」です。つまり、概念はハードウェアですが、実体はハードウェアではありません。 要するにエミュレータです。しかし、模倣対象が物理的に存在しない点が普通のエミュレータと異なります。 この方式を採ることで、VGSというゲーム機が死ななくなるメリットがあります。 例えば、現行のハードウェアが廃れても、VGSを新しいハードウェアで動けるように移植することで、 ゾンビのように生き残り続けることができます。
    (ハードウェアスペック)
    項目仕様
    画面サイズ240x320(縦画面のQVGA)固定
    同時発色数最大256色
    ビデオメモリスプライト(1面) + BG(1面)
    スプライト・GSLOT(後述)から任意サイズの矩形データを転送できる
    ・パレット番号0番を透明色とする
    ・特定パレットでの単色表示(マスク表示)が可能
    ・1/2サイズでの縮小表示が可能
    ・縮小+マスク表示が可能
    ・拡大機能なし
    ・回転機能なし
    ・半透明表示機能なし
    BG・GSLOT(後述)から任意サイズの矩形データを転送できる
    ・8方向スクロールが可能
    入力装置シングルタッチのタッチパネル + ポーズボタン
    入力装置
    (Windows)
    ・左クリックをタッチとする
    ・右クリック又はESCキーをポーズとする
    入力装置
    (Android)
    ・シングルタッチをタッチとする
    ・3点マルチタッチ又は戻るボタンをポーズとする
    ・ホームボタンが押された場合、ポーズしてからホーム画面に戻る
    音声22050Hz / 16bit / モノラル
    EFF音源PCM音源
    BGM音源波形メモリ音源(後述)
    ROM領域以下の3種類×各256個のSLOT領域で構成される
    ・最大256x256のグラフィックを最大256個(GSLOT)
    ・PCM効果音を最大256個(ESLOT)
    ・BGMを最大256個(BSLOT)
    ※1つのゲームで使用できるROMファイルは1つのみ(複数ROM不可)
    3Dグラフィック対応しない(※対応していないではなく)
    ネットワーク通信対応しない(※対応していないではなく)
    CPUエミュレーションしない
    ※動作環境のNativeコードで動作

    (波形メモリ音源 + 音源ドライバ)
    項目仕様
    基本仕様22050Hz / 16bit / モノラル
    分解精度22050fps
    チャネル数
    (同時発音数)
    6チャネル
    音色数以下の4種類。
    ・三角波
    ・ノコギリ波
    ・矩形波
    ・ノイズ
    音色の設定チャネル毎に自由に設定や切り替えが可能
    エンベロープチャネル毎に開始・停止について設定可能
    ボリュームマスターボリュームとチャネル毎のボリュームを設定可能
    ピッチベンド自動キーダウンが可能(自動キーアップは不可能)
    その他・ポーズ可能
    ・フェードアウト可能

    VGEオープン化プロジェクト (4)

    Android版も無事完成。
    ちょっとブレました。
    写真で撮って気づきましたが、小指と薬指のツメが長いので切った方が良さ気です。
    画面の内容は、昨日載せたWindows版から若干変更しました。
    (Hello,World!の表示座標を出しただけですが)

    あとはドキュメンテーション。
    明日中には書ける・・・かは定かではないです。
    まっさらな状態ではなく、ある程度書き進めている状態。
    とりあえず、モノが完成したから、誤ってウソ情報を載せてしまうことは無いと思うので、区切りが良いところまで書けたら随時WEBにアップしていく予定です。(そして、職場や喫茶店からアクセスできるようにして随時チェックできるようにする予定)

    せっかく、Google系サービスにドップリと浸かっているので、Googleドキュメントを使って書こうかと思いましたが、思ったよりも使い難いので、HTML(手書き)で書いています。
    昔書いた、S/FTP-Serverのマニュアルみたいな感じ。

    何故、Androidを推すのか

    私は、iPhone or AndroidであればAndroid推しですが、その理由は、iPhoneが好調に普及し続けた場合、日本はAppleの奴隷にしかなりませんが、Androidの場合、日本端末が世界を制するのも不可能ではないと思っているからです。

    だから、iPhone or Androidなら、シンプルにAndroid推しです。
    ただし、日本の場合、通信事業者の異常な販売形態を何とかするのが先決かもしれませんが。
    通信事業者主導で端末を売る今のやり方は、明らかにおかしい。端末はメーカー主導で作り、売るべき。そうしないと、訴求力のある端末なんて作れる筈が無いので。固定電話の場合、出た当初は電電公社が独占的にレンタル提供していましたが、民営化されてすぐに、メーカー主導で作れるようになりました(一定の技術認定みたいなものが必要だったと思いますが)。なのに何故、携帯電話は未だに回線屋が電話機を売り続けているのか・・・

    ちなみに、最新(2012年1Q)のスマートフォンのOS別普及率@米国は、以下のような感じでした。
    - 1st Android: 59%
    - 2nd iOS: 23%
    - 3rd Symbian: 6.8%
    - 4th BlackBerry: 6.4%
    - 5th Linux: 2.3%
    - 6th Windows Phone: 2.2%
    ※IDC調べ

    良い感じです。

    今までは、普及率で見れば「iPhoneよりAndroidが若干上」程度でしたが、ダブルスコアを超えてます。昔は、OEM別の普及率で見ればiPhone単独で結構良い数字を出していましたが。
    なお、米国でのAndroidのOEM別の普及率は、1位Samsung、2位LG、3位Motorolaだった筈。
    (これは2011年のデータだったかもしれませんが)
    ※私の所有端末は、Motorola。

    あと、上記の数字はあくまでも、第一クォータ(=iPhone5登場前)なので、iPhone5により変化があるかもしれません。しかし、Mapでやらかし、画面サイズでもやらかしてしまったので、悪い方向への変化してる可能性もあるかもしれませんが。(多分、一瞬伸びて、すぐに落ちるパターンだと予測しています)

    Appleがダメになりつつある理由は・・・やはり、ジョブズですかね?
    通信事業者がiPhoneを取り扱う場合、色々と制約が厳しいので、それでも尚、iPhoneを取り扱いたいとする営業力が必要(たぶん、端末の良し悪しというレベルではどうにもならない領域)だと思うので、強ち間違ってないかもしれません。ジョブズがどの程度凄い営業力を持っていたのかについて、私はよく分かりませんが。

    ちなみに個人的には、もっとシンプルな理由だと思っています。
    独裁国家より、連合軍の方が強いということ。
    誰がトップであろうが、こうなるのは2010年Q2ぐらいのトレンド状況から織り込み済みです。

    過去の遷移を見ればよく分かります。(過去の遷移については下図を参照)
    http://en.wikipedia.org/wiki/File:World-Wide-Smartphone-Market-Share.png

    2012年10月6日土曜日

    VGEオープン化プロジェクト (3)

    Windows版が概ねできた感じです。

    VGEのシステム(VGS; VideoGameSystem)の場合、プログラム作成を始める前に、プロジェクトの作成という作業をして、テンプレートから自アプリ向けの各種プロパティを設定した空プロジェクトを作成するのですが、その一連の仕組み(コマンドとかテンプレート)が完成しました。(たぶん)

    プロジェクトを作成すると、最初にサンプルプログラムが自動生成されます。
    サンプルプログラムは、古き良き伝統(?)を守り「Hello,World!」で。(下図)
    VGSのHello,World!の場合、スライドで動かせたり、BGMがついていたり、効果音が鳴ります。
    あとは、ポーズ処理なんかも実装しています。

    このサンプルで、VGSの基本的な処理概要をカチッと理解できる・・・はず。
    あとは、Android用を作成する作業ができれば、ドキュメンテーションを残すのみ。
    3連休中にAndroid用も完成すると思いますが、ドキュメンテーションまで完成するかは微妙。
    大枠の仕組みは、NOKOGI-Riderで既に完成しているから、ドキュメンテーションが一番大変。
    できれば、英語のドキュメンテーションもやって海外でも配りたいところですが、流石にそれは厳しそう。


    Melonbooks DL

    電子書籍

    最近、GooglePlayで本が売られている(https://play.google.com/store/books)ことを知りましたが、電子書籍ってどうなんですかね?
    私にとってのメリットとデメリットを整理すると次のような感じになります。

    [メリット]
    ・紙媒体だと読んだ後捨てるのが面倒だから、便利。
    ・本屋に行かなくても良い。

    [デメリット]
    ・本屋に行く楽しみが無い。
    ・電子だと頭に入り難い。
    ・ペンで書き込みや付箋が貼れないので、読み流す程度のもの(文庫、新書、漫画等)ぐらいしか読めない。
    ・液晶に有機ELとかを使っている場合、画面焼けが起こる(これは端末側の問題...有機ELはやめて欲しい)
    ・品揃えが悪い。
    ※青空文庫とかで見た目上の多さを演出しても、中身が伴わなければ無意味
    ・コマ割り式の漫画には向かない(読みにくい)
    ※恐らく、電子端末の場合、ニコニコ漫画のような紙芝居式の方が良い
    ※iPadやTabletなら幾分マシですが、それでも見難い

    恐らく、既存の紙媒体の本をそのまま売り出そうとするのが間違いです。
    せっかく電子端末なのだから、それに向いた形にする一捻りが必要なのかもしれません。
    そうじゃないと、「結局紙の方が便利」という風になると思うので。

    なお、Androidの場合、Google翻訳と連携することで読めなかった箇所を即座に英訳できるから、「英語学習に便利だ」というようなコメントがあったのですが、TEVの対訳聖書(同じページに日本語と英語が並んで書かれている旧約聖書や新約聖書)の利便性と比べれば遥かに使い難い気がしないでもないです。(意味の分からん聖書とちがって、好きな物語などで読めるのは良いのですが、所詮は翻訳ツールなので、単語レベルでの訳ぐらいでしか使い物にならないです。対訳聖書なら、恐らくそれなりにキチンと意訳されているであろう訳文と対比して確認できるから、学習用途には向いているかも。)


    Melonbooks DL

    NOKOGI-Riderが30本近く売れましたが、今月に入ってからは伸び悩み。
    それなりに動けばそれなりに売れるけど、何も動かなければ何も売れない。
    当然といえば当然です。

    何も動かなくても売れるようにするために、VGEオープンプロジェクトを立ち上げている訳ですが。
    私がやらんとしていることは、ありていに言えば任天堂のような感じになることです。
    任天堂方式との違いは、ライセンスでは商売しないことと、同人歓迎の2点ぐらい。
    物理的な機械を作らない点もありますが、それは些細な問題です。
    VGEなら、専用機を作らなければならないほどのスペックを要求しないので。

    それで狙い通りにいくかは不明ですが。
    (私以外の)ゲーム開発者のニーズ次第だと思います。
    NOKOGI-Riderに関しては、私自身が楽しめているので、狙い通りにいかなくても問題ありませんが。
    最近はSoldierモードが一番楽しい。会社で昼休みに昼食を食べた後、始業までに15分程度の暇な時間があるので、その時間にプレイしてオールするのが日課になりつつあります。オールできない日もありますが...
    なかなか、Type-Aで5千万点の壁を越えられない。


    追記: 割とあっさり壁超えしました。
    まだ、相当ミスっているので、全部キレイに繋がればもっと高くなる余地があります。



    Melonbooks DL

    2012年10月5日金曜日

    VGEオープン化プロジェクト(2)

    マニュアル(HTML形式)を書きながら、仕様を固める作業中。
    マニュアルは、作成途中のものをオンラインにupして、会社でも休み時間にスマホでチェックできるようにしたいところですが、まだ、色々とウソ情報が多いので、不特定多数(少数だろうけど)が参照し得るwww上に配置するのはまだまだ厳しい。

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

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