置けルンですと化したC++版Cities Box

with コメントはまだありません

さて、表示関連のバグも直ったところで、いよいよアドオンのマップへの設置機能の実装に取り掛かるときが来ました。

いよいよ、マップを表示するだけの写ルンですから置けルンですへ進化します。

と言っても結局は置けルンですなので、ただマップに設置するだけで、ゲーム的な要素はまだありません。

いまのところ都市開発ゲー風盆栽シミュレーターと言ったところでしょうか。

 

その前にやるべきことがあります。アドオンファイルのJSON化です。

というわけで、今まで独自仕様だったアドオンファイルをJSON化し

ました。

JSON化するメリットはいくつかあり、やはり可変長配列を楽に扱えるのが一番の利点と言えます。

デメリットと言えば、アドオンファイルの結合化が難しくなったのと、

ちょびっとだけサイズが大きくなったことでしょうか。本当にちょびっとです。

 

もう2つやるべきことがあり、その内の一つがカテゴリの多様化です。

カテゴリというのは、アドオンの種類を識別するために用いるタグのようなものです。

roadカテゴリなら道路、residentialカテゴリに含まれるのは住居、といった具合です。

これまで、カテゴリは3つまでしか登録できませんでした。

しかし、アドオンファイルにJSON形式を用いることで、可変長配列が使えるようになりましたので、

アドオン一つに付きカテゴリをいくつでも登録できるようになりました。

また、C++では連想配列が使えるので、特定のカテゴリに合致するアドオンのリストの取得も容易になります。

これは、アドオン選択メニューを作るときにとても役立ちます。

 

そして、最後の一つが、アドオンを設置することによる効果の追加です。

効果というのは、周囲に及ぼす影響のことです。良い影響も悪い影響もあります。

今までは、

・地価

・犯罪率

・教育度

・騒音

の4つだけでした。

これに加え、今回からは

・ごみの回収率

・発火率

・郵便充足度

・モバイル通信充足度

・無料Wi-Fiスポット

・テレビ放送

・ラジオ放送

・観光魅力度

・耐久安全性

・医療充足度

・公害

・交通利便性

の12個を加えることにしました。

それぞれ幸福度や死亡率・出生率、最終的には支持率に影響します。

 

更に、電気や水道も追加しようと思っていたんですが、電線や水道管など、実装方法が特殊なため、

これらの効果とは別枠にしようと考えています。

 

これらを踏まえ、できたアドオン選択メニューがこちらになります。

水色の部分にアドオンのアイコンが並んで表示されます。

アイコンを選択するか、マウスオーバーすると、そのアドオンの詳細が表示されます。

アドオンの名前の横に表示されているアイコンがそのアドオンの効果を示し、

左から教育度、地価への影響を示します。

 

さらに、

これは従来からある機能なんですが、住居や商業施設は、低密度と高密度に分けて表示できます。

ただ、HSP版では低密度か高密度のどちらかしか一度にメニューに表示できなかったのに対し、

C++版では両方一度に表示できるようになりました。これも先述のカテゴリの多様化の恩恵です。

 

さて、これらの実装が完了し、いよいよマップへのアドオンの設置機能の実装に入ります。

そんなに難しい処理ではありません。指定された位置に合う建物の向きやアドオンのタイプを決定し、

そのマスのデータを置き換えるだけです。というわけで、早速実装し

ました。

ようやく都市開発ゲーらしくなってきました。ただ、まだゲーム要素は皆無です。

Leave a Reply