■ジオラマアース / Diorama Earth
はじめに
電脳空間上に箱庭的な仮想世界を作ってみました。
いわゆる「ぼくのかんがえた最強の生態系シミュレーション」ってやつです。(笑)
操作方法
ボーっと眺めて、放置して、気まぐれに操作する事を想定した環境ソフトウェアです。
- | カーソルアイコンもしくはキーボードのカーソルを押下すると、マップをスクロールする事が出来ます。
|
- | 画面右上のリセットボタンを押下すると初期化する事が出来ます。
|
- | その下のスライドバーは生態系の更新スピードを調整する機能です。
|
- | PAUSEボタンを押下すると、生態系の更新を一時停止/解除する事が出来ます。
|
- | |
- | 虫眼鏡アイコンがON の状態の時に画面下のマップを押下すると、その場所にジャンプします。
|
- | 虫眼鏡アイコンがOFFの状態の時に画面下のマップを押下すると、以下の機能が実行されます。
|
- | |
- | 画面左下 のマップの下のアイコン:森/草原/砂漠の中から植生を選択する事が出来ます。
|
- | 画面中央下のマップの下のアイコン:土地の隆起/沈降を選択する事が出来ます。
|
- | 画面右下 のマップの下のアイコン:土地の蓄積エネルギーの増減を選択する事が出来ます。
|
- | |
- | 虫眼鏡アイコン下のボタン:画面下部のマップに対する影響範囲を指定する事が出来ます。
|
- | |
余談
この種の延々とループする生態系シミュレーションでは、ライフゲームが最も有名だと思います。
このプログラムもそういった物の一種ですが、生存ルールはライフゲームとは異なっており、
+方向の森と、-方向の砂漠と、0方向の草原が常にせめぎ合う3つ巴の様相を基本ルールに、
弱者に対するパラメータ補正がかかる仕様になっています。
プログラム的にはjQuery等のライブラリを使用していない、フルスクラッチのネイティブコードになります。
JavaScriptはコンパイル操作が不要で変数の型がゆるいので、そこはかとなくBASIC臭がしますね。
(このプログラムのマップ表示ルーチンは、昔に作ったPC-8801/PC-9801用のルーチンの流用だったりします)
今の時代はメモリを湯水のように使え、このようなスクリプトでも、アセンブラやCで書かれ最適化されている
昔のパソコンのソフトウェアより高速に動くのですから、いい時代です。
あとこのプログラムの作成にあたって、ライフゲームだけではなく下記の参考資料などを参考にしています。
参考資料
- | 基本的なベースはライフゲーム
|
- | 方向性としてはシムアース
|
- | クォータービューのマップ表示や地形の上下変動はポピュラス (斜め表示だけならA列車で行こうIIIやマーキュリーとかも)
|
- | ランダムマップ的な要素はローグ
|
- | あとこちらのサイトを参考にさせて頂きました。[リンク切れしています]
|
- | |