Featuresを作る
それではどんなソフトウェアを作るかを考えていきましょう。
どんなソフトウェアでも(或いはソフトウェア以外でも)良いのですが、他のソフトと繋がりがあった方が面白いと思います。
例えば2Dエディタを使用するソフトならば、自社が2Dエディタしか作っていなくても、AI社がそのソフトを作る事で何かの2Dエディタを使用して、自社にも利益が発生するかもしれません。
今回は「音声読み上げソフト」を作ってみようと思います。棒読みちゃんとかVOCALOIDとかですね(両者は別物ですが)。
まずはどんなFeaturesを組み込むかを設計しましょう。予め設計することで、あとでコードを書く際に間違える可能性を減らせます。
自分に分かればペイントツールで書いても、メモ帳で書いても良いです。
・音声合成エンジン(強制)
↓スコアエディタ(前提ソフト>"音声合成エンジン")
↓声色ライブラリ(前提ソフト>"音声合成エンジン"、オーディオツール"オートチューン")
えらく適当ですがまあ何でも良いでしょう。 解説用だし沢山作るのめんどくさい
皆さんも自分で考えてみてください。
満足行くまでFeaturesを考えたら、いよいよ実際にMODを作っていきます。
前回導入したテストMODのxmlを開きましょう。
ここで注意ですが、ちょっとMODを日本語化する方法がわかりません。
日本語だけでなく2バイト文字や全角記号を使用すると文字化けしたりエラーを吐いたりするので、今後MODを弄る際は半角モードにする方が無難です。
今回は音声読み上げソフト(TTS)なので、<Name><Category>をTTSにしておきます。
それからOSに依存させておきましょう。
<Name>TTS</Name>
<Category>TTS</Category>
<OSSpecific>TRUE</OSSpecific>
その後の<Features>と</Features>の間に各Featureを書きます。
↓これ
<Features>
<Feature Forced="TRUE">
<Name>Original Feature</Name>
<Category>2D</Category>
<Description>Setumei</Description>
<Unlock>1</Unlock>
<DevTime>1</DevTime>
<Innovation>1</Innovation>
<Usability>1</Usability>
<Stability>1</Stability>
<CodeArt>0</CodeArt>
</Feature>
</Features>
各タグの説明と間に挟むものを以下に示します。
<Feature>
|
Forced=”TRUE”
From=”他のFeature”
Vital=”TRUE”
|
このタグはFeatureの始点と終点に必ず必要ですが、
中に他の指示を3つ加えられます。
Forcedにすると強制的に選択された状態にします。
他のFeatureからFrom指定されない限り外せません。
Fromには同じソフトの他のFeatureを指定します。
From指定すると互換が出来て、片方を有効にするともう一方は無効になります。
Vitalを有効にすると、そのFeatureを搭載しないソフトは市場で悪い評価を受けます。
|
<Name>
|
文字
|
Featureの名前です。
|
<Category>
|
スキル
|
2DとかAudioとかのスキルを書きます。
このFeatureを開発するのに必要なスキルを指定します。
|
<ArtCategory>
|
アーティストのスキル
(省略可)
|
このタグを使えば、プログラマーとアーティストに別のスキルを要求することができます。
省略すると必要なスキルはどちらも同じです。
|
<Description>
|
文字
|
Featureにマウスを合わせると出る説明文を書きます。
|
<Unlock>
|
年代(0~)
(省略可)
|
このFeatureが解禁される年代を指定します。
この年代を過ぎても、FromやDependencyで指定してるFeatureが解禁されていないと使えません。
|
<DevTime>
|
数字(小数点可)
|
開発期間、つまりコード量/アート量を指定します。
基本的に1=1月分です。
|
<Innovation>
<Usability>
<Stability>
|
数字
|
「革新性」「ユーザビリティ」「安定性」に数値を加えます。
それらは、全てのFeatureそれぞれの数字を合計したものの比率で効力が決定されるので、全てにやたら大きい数字を入れても無駄です。
|
<CodeArt>
|
0~1
|
コード量とアート量のバランスです。
DevTimeで指定した数字が割り振られます。
0ならアート100%。
1ならコード100%です。
|
<Server>
|
数字
(小数点可)
(省略可)
|
このタグを使えばそのFeatureをサーバー通信料を要求するように出来ます。
アクティブユーザー1人あたり何メガバイト使用するか指定します。
|
<Dependency Software="他のソフト ">
|
他のFeature |
必要な前提Featureを指定します。
|
それでは表を基にFeatureをガシガシ書いていってください。
以下に例を示します。
<Feature Forced="TRUE">
<Name>TTS Engine</Name>
<Category>Audio</Category>
<Description></Description>
<Unlock>1980</Unlock>
<DevTime>3</DevTime>
<Innovation>1</Innovation>
<Usability>1</Usability>
<Stability>1</Stability>
<CodeArt>1</CodeArt>
</Feature>
このFeatureは、強制的に選択されていて、プログラマーにAudioスキルが必要で、開発に3ヶ月かかります。
<Feature Vital="TRUE">
<Name>Score Editor</Name>
<Category>Audio</Category>
<Description></Description>
<Unlock>1980</Unlock>
<DevTime>2</DevTime>
<Innovation>1</Innovation>
<Usability>3</Usability>
<Stability>1</Stability>
<CodeArt>0.8</CodeArt>
<Dependency Software="TTS">TTS Engine</Dependency>
</Feature>
このFeatureは、Vitalが有効で、プログラマーとアーティストにAudioスキルが必要です。
更にユーザビリティの割合が増加し、コード:アートは8:2です。
そして「TTS Engine」が前提として必要です。
<Feature>
<Name>Voice liverary</Name>
<Category>Audio</Category>
<Description></Description>
<Unlock>1996</Unlock>
<DevTime>3</DevTime>
<Innovation>3</Innovation>
<Usability>1</Usability>
<Stability>0</Stability>
<CodeArt>0.3</CodeArt>
<Dependency Software="TTS">TTS Engine</Dependency>
<Dependency Software="Audio Tool">Autotune</Dependency>
</Feature>
このFeatureは1996年に一応は解禁されますが、オーディオツールのオートチューンに依存しているので、オートチューンを搭載したソフトが無ければ選択出来ません。
そして、革新性が向上して安定性が大きく落ちます。
…とまあ、こんな感じで2~3個程Featureを追加したら一度ゲームを起動してみてください。
何かを間違えていると警告が出ます。バグみたいなもんです。
深刻でなければ親切にもエラーメッセージでどこを間違えているか教えてくれるので、ゲームを終了して修正してください。
例えば、他のFeatureを指定する際に大文字と小文字を間違えていませんか?
タグそのものや、<>を間違えて消してしまっていませんか?
同じタグや同じ名前のFeatureが存在していませんか?
何度警告が出ても画面を殴っちゃ駄目ですよ。ちなみにこの警告は「85行の<DevTime>タグがおかしい」と言ってます。 |
バグを修正する際はバックアップを取るなどすると、間違えた際に戻すのが簡単です。
警告が出ない場合はミスが無いか、そもそもMODとして認識されていないかのどちらかですが、まあテンプレをコピペしてフォルダ名と場所、ファイルの形式(.txt→.xml)を間違えていなければとりあえずMODとして認識はされます。
ミスが出なかった方はスゴイ!
無事にミスを取り除けたら、早速有効にしてゲームを始めてみてください。
無事に設計図から選択出来るようですね!
さて、これで"プレイヤー"はこのソフトを作って売ることが出来るようになりましたが…
実はこの状態ではAIの競合他社がこのソフトを作ってくれません。
それに製品名もOSのそれを流用していて寂しいです。
どうせなら競合他社にソフトをバンバン作ってもらって、製品名も指定したいですよね。
次は、競合他社に作らせる設定と、ソフトの製品名を作りましょう。
次→ 他社のAIと製品名設定
MOD雛形の導入 ←前
Software Inc. 攻略トップ