MODの作り方3

競合他社のAIとソフトの製品名を作成する

あらすじ:前回で無事にオリジナルソフトを作れた訳ですが、競合他社がソフトを作ってくれません。それに製品名もOSのそれです。今回はそこを解決します。


ゲームを終了したら、作ったMODフォルダの「SoftwareTypes」フォルダと同じ階層に
CompanyTypes」「NameGeneratorsフォルダを新しく作ってください

競合他社のAIを設定する

例によってテンプレで済ませます。
新しくメモ帳か何か開いて以下をコピペしてください。

<CompanyType>
    <Specialization>TTS</Specialization>
    <PerYear>0.2</PerYear>
    <Min>1</Min>
    <Max>2</Max>
    <Types>
        <Type Software="TTS">1</Type>
    </Types>
</CompanyType>

これだけ
以下に各タグの説明です。



<CompanyType>
子タグ
親タグです。
<Specialization>
ソフトの名前?
ちょっと良く分からないですが、まあ無難にソフトの名前を入れておけば間違いは無いと思います。
<PerYear>
01
このソフトに関する会社が毎年創設される確率です。
デフォルトの会社は全て0.2に設定されていて、バランス良く作動しているらしいです。
<Min>
<Max>
数字
このソフトに関する会社の数は<Min><Max>の間になるように調節されます。
あんまり多いとシェア争いの難易度が上がって鬱陶しいので12で良いと思います。
<Types>
<Type>
親タグです。間に<Type>を挟みます。
<Type Software="ソフトの名前">
01
<Types>の子タグです。
この数字が小さくなるほど、競合他社はそのソフトを同時に開発してきます。
例えば、0.25と入れれば競合他社では一度に4つのプロジェクトが回る状態になります。
あんまり小さいとシェア争いの難易度が上がって鬱陶しいですし、自分の製品でカニバリを起こして自滅してしまうので1で良いと思います。


基本的にソフトの名前という部分だけ変えれば良いと思います。

設定を終えたら、先程作成した「CompanyTypes」フォルダの中に保存して、拡張子を.xmlに変えます


それでは確認のためゲームを起動してみましょう。

ここでエラーが出た方は頑張って直してください。

すんなり起動した方は、有効化して、年代を「2010」に変えてゲームをスタートしましょう。
AI社がちゃんと作っているか確かめる為ですからね。


市場シミュレーション中、左上に存在するソフトが表示されるので確認してみましょう。

作ってるけど多すぎる!
 無事作っているようです。…が多すぎです!
恐らく、開発期間が少なすぎて短い期間に量産が可能だからでしょう。

作ってない!という方はフォルダ名とファイルの拡張子が間違ってないか確認しましょう。

ゲーム内の「全製品」ウィンドウからも見れます。フィルターを使うと見やすいです。


まあ、とりあえず無事に競合他社がソフトを作るように設定が出来たので良しとします。
作りすぎ問題はあとのバランス調整のときに直します。

製品の名前を設定する


NameGenerators」 フォルダに.txtファイルを作成します(メモ帳か何かで良いです)
そこに名前ジェネレーターを書いていきます。
txtのファイル名は後で使いますから、上手いこと名前をつけてください。

仕組みは数年前、ツイッターで流行った診断メーカーみたいなものです。
startからstopまでの道を作って、その間に通ったパーツを組み合わせて名前を作ります。
道は-で指定します。道自体は日本語を使えますが、単語に日本語を使うと文字化けします

-start(A,B)とすると、-startの下に含まれる単語から1つ選んでAかBに行け、という指令になります。単語がなければ何も選びません。
そうして「stop」に辿り着くと名前が生成されます。

具体的には…

-start(接頭語,本体)
-接頭語(本体)
 Super
 Ultra
-本体(語尾,stop)
 Voice
 Text
-語尾(stop)
 EX
 SP


と、このように作るとルートは

1 start→本体→stop
2 start→接頭語→本体→stop
3 start→本体→語尾→stop
4 start→接頭語→本体→語尾→stop

の4パターンあります。
この場合、全ての単語の組み合わせは2+4+4+8で18パターンになります。(…多分。)


ループ構造でも作用しますが、名前が長過ぎると使われません。
他にも、

-start(stop)
A
B
C


のようにすれば単純なリスト形式に出来ます。



名前ジェネレーターを作り終えたら、「SoftwareTypes」フォルダに入れてあるMODのxmlファイルを開きます。
 前回の通りにソフトを作成していた場合、<NameGenerator>の部分に"OS"と書いてある筈なので、そこを名前ジェネレーターの「.txt」を抜いたファイル名に変えましょう。

今回ファイル名が「TEST.txt」だったのでTESTです。本当は他と被ったら駄目なので固有名詞の方がいいです。

それではゲームを起動して確認してみます。
エラーが出なかったらMODを有効にして起動して、他社の出してるソフトを確認してみてください。


起動した際にエラーが出たという方。
この名前ジェネレーター、中々シビアな判定なので、エラーを吐き出しやすいです。
・全角文字は使わない(日本語は勿論、スペース、括弧、記号なども半角でないと駄目)
・行間を無くす
・道と間違えるので製品名に-は使わない

などの点に注意してみて作り直してください。

文字化けした方は改行と記号とスペースに注意しましょう。


かなりMODの形が出来てきました
ただ、今のままだとバランスが滅茶苦茶過ぎてゲームの楽しさを破壊してしまいます。

次のページで実用的な難易度に調節して、SteamのWorkshopで共有しましょう!

次→ バランス調整 & Steamに公開(まだ)

Featuresを作る ←前

Software Inc. 攻略トップ

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. 攻略トップ