グルチャ

ゲーム基礎設定

アイデアノート的にゲームの基礎設定をメモっておきたいと思います。

最初、見た目もSimCityっぽくしたかったのですが、
enchant.jsで用意されている画像素材がアクションゲームとかRPG風のものしかなかったので、
ゲームの雰囲気はRPGの街を育てるゲームにしました。
ちなみに私は”元”ゲームプログラマーなので、プログラミングは得意ですが、絵を描くのが物凄く苦手です。
最初自分で簡単な絵を描いてお茶を濁そうと思ったのですが、それすらできませんでした。
enchant.jsのライブラリを見てると物凄く懐かしいドット絵ゲームのテクニックが満載で昔に帰ったような気分になりました。
と言っても、私がゲーム作ってた頃は、すでにポリゴンだったんですけど。

そんなことはさておき、そのドット絵と配役、機能、ゲームシステムを書いていきましょう。

town
町:SimCityにおける居住区です。
 町を建てるとそこに人が住み始めます。
 ただ、人々は住む場所だけがあっても生活できません。他に買い物などを行う城とお金を稼ぐためのダンジョンが必要です。
 町には住める人数に上限があります。

castle
城:SimCityにおける商業区です。
 町の住人が城へ買い物にやってきます。また学生が勉強するための学校も兼ねています。
 城と町は近く建てた方が良いです。
 遠いと買い物や学校へ通うのに時間がかかって食料の補給や学力の向上に支障をきたします。
 ただ町の住人は町から一番近い城を目指しますので、城へ住民が殺到し交通の便が悪くなっても、通うのに時間がかかってしまいます。
 城にも入れる人数の上限がありますが、町より大人数を収容できます。

dungeon
ダンジョン:SimCityにおける工業区です。
 ダンジョンは町の労働者がダンジョンのモンスターを倒してお金を稼ぐ場所です。
 ダンジョンは町や城からある程度離した方が良いでしょう。
 定期的にダンジョンからモンスターが出てきて、一番近い町や城を襲いに来ます。
 ただ移動速度が遅いので町・城とダンジョンを十分な距離を開ければ、襲われるまで時間稼ぎできます。
 労働者がモンスターを倒しに行くのですが、出勤時間と退勤時間が決まっています。
 労働者はモンスターよりも移動速度が速いです。
 しかし、町とダンジョンの移動距離があまりに遠くダンジョンに到達する前に退勤時間になってしまうとモンスターを倒さずに帰ってしまいます。
 ダンジョンはある程度モンスターが倒されると中級、上級とランクの高いモンスターを排出するようになります。
 モンスターのランクアップを合わせて、労働者のランクも上げる必要があります。

field
フィールド:町、城、ダンジョンを建てるための土地全般です。
道:町、城、ダンジョンの交通をつなげる。
 道につながっていないと住民はその場所までたどり着けません。

worker
労働者:SimCityと同じ労働者です。
 ダンジョンまで行ってモンスターを倒してお金を稼ぎます。
 最初は下級労働者ですが、お金と学力が貯まるごとに中級、高級と3段階のランクが上がっていきます。 
 労働者は出勤時間と退勤時間が決まっていて、出勤時間に町から出てダンジョンまで行って、退勤時間に町に帰ってきます。
 町に帰ってくると、買い物客が買って帰ってきた食糧を食べて体力を回復します。
 体力が回復していないと次の出勤ができません。

shopper
買い物客:SimCityと同じ労働者です。
 主に労働者のための食料を城まで買いに行きます。

student2student
学生:SimCityと同じ学生です。
 勉強するために城まで通います。
 学生が勉強すると学力が上がります。
 学力は労働者のランクアップに必要になります。

monster
モンスター:ダンジョンから定期的に出てきて町や城を襲おうとします。
 労働者より移動速度が遅いので、ダンジョンと町・城の間を十分な距離があれば、労働者が倒してくれるでしょう。

その他の要素
家族:必ず住人は労働者1人、買い物客1人、学生2人の構成で住んでいます。


Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Time limit is exhausted. Please reload CAPTCHA.