MODの作り方2

 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が解禁される年代を指定します
この年代を過ぎても、FromDependencyで指定してるFeatureが解禁されていないと使えません。
<DevTime>
数字(小数点可)
開発期間、つまりコード量/アート量を指定します。
基本的に11月分です。
<Innovation>
<Usability>
<Stability>
数字
「革新性」「ユーザビリティ」「安定性」に数値を加えます。
それらは、全てのFeatureそれぞれの数字を合計したものの比率で効力が決定されるので、全てにやたら大きい数字を入れても無駄です。
<CodeArt>
01
コード量とアート量のバランスです
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>タグがおかしい」と言ってます。
一度に多くのFeatureを追加してエラーが出るとどこが悪いのか判明するのに時間がかかりますから、面倒でもちまちまゲームを起動し確認すると吉です。
バグを修正する際はバックアップを取るなどすると、間違えた際に戻すのが簡単です。

警告が出ない場合はミスが無いか、そもそもMODとして認識されていないかのどちらかですが、まあテンプレをコピペしてフォルダ名と場所、ファイルの形式(.txt→.xml)を間違えていなければとりあえずMODとして認識はされます。

 ミスが出なかった方はスゴイ!

無事にミスを取り除けたら、早速有効にしてゲームを始めてみてください。


無事に設計図から選択出来るようですね!
さて、これで"プレイヤー"はこのソフトを作って売ることが出来るようになりましたが…

実はこの状態ではAIの競合他社がこのソフトを作ってくれません

それに製品名もOSのそれを流用していて寂しいです。

どうせなら競合他社にソフトをバンバン作ってもらって、製品名も指定したいですよね。

次は、競合他社に作らせる設定と、ソフトの製品名を作りましょう。


次→ 他社のAIと製品名設定

MOD雛形の導入 ←前

Software Inc. 攻略トップ