このページの本文へ

萌え☆彡OSぷろじぇくと  リアルSide 第8回

萌え☆彡OSマスタアップ!危うく落ちそうになったぞ!

2009年12月22日 22時00分更新

文● 藤山 紫礼

  • この記事をはてなブックマークに追加
  • 本文印刷

③仲間を集めるぞ!

 中には1人でなんでもやっちゃう個人サークルさんもいるけど、最低2人からはじめるといいよ。読み物や漫画、イラストなんかは、2人でやるとより面白いアイディアが浮かんだり、お互いが読み手になって評価し合えるからね。あと仲間がいてよかったなぁ~って思うのがコミケの当日。早朝からの1人で搬入ってメゲちゃうし、お店の番を交代できたりするから最低2人は必要だよ。
 ゲームなんかのプログラムを作る場合は、かなり大所帯になるハズ。プログラマ本人がデバッグしても、なかなかバグって見つからないの。不思議よね~♪ だからデバッガの友達をどれだけ巻き込めるかがポイントね。

④マスタアップするぞ!

 ソフトウェアの開発などでよく耳にするα版やβ版、RC版なんて言葉があるけど、仲間の意思統一をするためには用語の意味を正しく理解してないとダメ。だからちょっと用語を整理してみるね♪

段階 やること(内容)
設計 プラットフォームや開発言語を決める
  ↓ プラットフォームというのは、Windowsで動くものなのか?各種OSのブラウザ上で動くのかってコトね。WiiやPS3を狙ってもいいけど高級外車1台買えるぐらいの開発キットが必要よ。機械は安いけど情報がバカっ高いの(T_T)。音楽CDの場合でも「CD EX」っていうフォーマットを使うと、CDプレイヤーに入れると音楽CDとして、パソコンに入れるとデータやプログラムの入ったデータCDとして見えるようになるわ。まずプラットフォームを決めちゃえば、言語も自動的に絞られるよ。Javaっていう言語を使うとほとんどのOSで動くプログラムが作れるけど、Javaそのものが遅いからアクションゲームとかには向かないかな。
 この段階ではシステム設計もするけど、スケジュールの設計も大事だから注意してね。ものづくりしてると、夏コミはあっという間に来るよ!
開発 とにかく作る!コードや絵を書き描きまくる!
  ↓ 開発期間はデバッグ期間と分けて考えないと、バグだらけのままリリースするなんてコトになるから注意してね。大まかな目安は、開発期間が1に対して、デバッグ期間が1~2っていう感じかしら。プログラムが完成っていうβ版まで1ヵ月かかるとしたら、デバッグは1~2ヵ月っていう感じだね。ちょこちょこプログラムを書いてデバッグする場合は、「開発期間:デバッグ期間」が「1:1」って感じでもいいかも? これを目安にすれば、スケジュールの設計もしやすいし、どれだけの規模のプログラムが作れるかがだいたい分かるよ。
α版 本当は一番デバッグするトコだけど周りが理解してくれない……
  ↓ 「作りかけ」っていう漠然とした解釈をされちゃうこともあるけど「プログラムのコアになる部分が完成したけど、まだ細かい部分は作ってない」っていうのがα版ね。萌え☆彡OSだと、OSの基本はできてるけど、アプリケーションのインストールが終わってないってあたりかな。アクションゲームだと、通常の面は作ったけどボスキャラ面がまだできてないってあたりね。マイキャラが動くだけで敵がいない!なんてモノはα版なんて呼ばせないわっ!
 プログラムにはリリースメモやリリースノートっていう文書が付いてくるけど、この文章に「制限事項」っていう項目があって「~は、まだ作ってません」なんて文がたくさんならんだ状態がα版。「メインはまだ作りかけです」なんて制限事項は、いっぺん死んで見る?だわ!
 α版のデバッグは、コア部分に不具合がないかをテストする作業だけど、「どうせ作りかけでしょ」って言ってみんなが本気でデバッグしてくれないのがプログラマには辛いところ。でもコアのデバッグだから本当はココが一番大切なところだよ。それを説得するのはSEさんだけど、仲間とやる場合ならプログラマの役目かな?
 不具合の修正はβ版までにやる場合と、α版のバグフィックス版として出す場合もあるわね。後者はバグが多かった場合なんかに、α2版と言って出す場合もあるよ。
β版 修羅場が確定!テスト項目がネズミ算式に増えるわ!
  ↓ これも漠然とした「作りかけ」っていうイメージがあるけど、正しくは「バグはあるけどプログラムは全体として完成してます」っていうのがβ版よ。β版に付いてくるリリースメモには「制限事項」って項目がない状態。その代わりに「既知の不具合(バグ)」っていうところに、問題点が列挙されてるわ。時間がなかったときのプログラマの言い訳なので、読み飛ばしてもオッケーよ♪ ただ列挙されてることをバグレポートで報告しちゃうと、逆ギレされるので要注意。ホントはSEさんを立ててチェックするトコなんだけど、人手がないとデバッガとプログラマが直接やり取りするから、バトルに発展しちゃうことも。修羅場のケンカは、空気が悪いのよ♪
 β版のデバッグは、コア部分の動きもさることながら、コアからサブに移行する瞬間からサブそのもののテストが中心。プログラムは、たくさんのモジュールが組み合わさってできているから、モジュール同士の連携がうまくいってるかを確かめる「境界テスト」っているのがあるの。このテストはだいたいβ版でやるけど(何人かでプログラムするときはβの前に「結合テスト」っていうのをやるわね)、デバッグモードで操作するときに0や1、255や256、65535や65536っていうマジックナンバーを入力してテストするの。意地悪なデバッガ(本当は素晴らしい)さんだと、マイナスの値を入れてチェックする人もいるよ。「数字しか入れないでしょ!」ってとこにアルファベットを入れて来られると、さすがに「仕様じゃーっ!」って言いたくなるけど、ちゃんと直すわよ。しれいは……。
 β版でのデバッグを終えるとβ1やβ2っていうバグフィックス版がリリースされるけど、ここでの機能追加はしないのが原則。だから「コードフィックス版」なんて呼ばれる場合もあるわ。これはプログラマからの「これ以上機能追加しねーぞ!」っていうサインで、バグ以外にプログラムはいじらないという宣言だよ。
 もしブックレットにマニュアルをつける場合は「スクリーンフィックス版」ていうモノを出す場合も。コードフィックスと一緒で「もう画面まわりはいじりません」ていうバージョンだよ。マスタアップ直前まで画面を変更すると、プログラムとマニュアルの画面が食い違っちゃうから、スクリーンフィックスさせるの。
RC版 いつでもマスタとして出せるまでブラッシュアップよ!
  ↓RCっていうのは、Release Candidateの略で直訳すると「出荷候補」版ってこと。「β版でテストしたバグがほとんど取れて、いつでもマスタとして出せますよ」っていうのがRC版ね。ただRC版でもバグが見つかって、RC1やRC2なんてのも出てくる場合があるわ。っていうか、恒例行事になっちゃってるわね。大規模なものになると、デバッグすると「あちらを立てるとコチラが立たず」なんてこともあるので、RCの番号が増えてもかえって不安定になったりする場合もあるの。こんなときは、RC版の中で一番安定しているものをマスターとして採用するわ。RCのトーナメント戦ね。
 よく耳にする「Build(ビルド)ナンバー」っていうのは、何回プログラムを構築(コンパイル)したかってコト。αやβとは関係なく開発当初からの通算回数なの。だから「RC1はビルド####」って1対1で管理できるわ。Windowsもセーフモードで起動するとビルドナンバーが表示されるけど、出荷されたロットによってビルドナンバーが変わる(こっそりバグ直したのねっ!)ので、サポートなんかで区別するのに必要なの。
 小規模なプログラムなら、最後のβ版がそのままRC版になるってこともあるよ。つまり「ビルド####」=「β3」=「RC1」なんて場合もあるってコト。
RTM版マスタアップ!かっこよく言うとRTM
  ↓ 一般的には「マスタ」っていうわね。マスタが完成する意味も含めてマスタアップなんて言い方もするよ。RTMはRelease To Manufacturingの略で、直訳すると「工場出荷」版。つまりマスタっていうこと。しれいが知る限りでは、Microsoft用語が世間に広まったって感じね。
 RTMでバグが見つかっちゃうと、直しようがないので「アップデートパッチ」や「サービスパック」っていう形で出荷後にフォローするのがお約束になってるわ。でも何百Mバイトもダウンロードさせて、コア部分まで修正するアップデートパッチなんて反則よ!それは本体じゃないのっ! ごく稀に生じる不具合なんかは「仕様です」って押し切られるのは、みんなもよく知ってるよね。しれいもよく受話器を叩きつけたわっ! 押し切ったことがあるのは内緒だけど……。プログラマの切り札なので、未来に残しておきたい文化ではあるわね(^_-)-☆
 マスタを焼くときのポイントは、ディスクアットワンス(DAO)って方式で書き込むことぐらいかな? DVDの場合は、UDFっていうフォーマットで書き込むと、どんなOSやDVDプレイヤでも読み込めるよ。CDの場合はちょっと難しいけど、一番枯れている「ISO9660 Level1」で焼くのが一番(「クンロクロクマル」って発音するとプロっぽく聞こえるよ)。これを読めないOSはないってぐらいだもん。だけどファイル名が超短いので注意してね。Level2以上だと31文字までのファイル名が使えるよ。ただCDでもDVDでも漢字のファイル名は使わないほうがいいかな? いろんなOSに対応する場合はバグの巣窟になるのよ……。国同士の力関係もあって「戦争にならないかしら?」ってぐらい、漢字コードは一触即発の荒れ具合よ。地雷を踏まないように注意してね♪

(次ページへ続く)

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

ASCII.jpメール アキバマガジン

クルマ情報byASCII

ピックアップ