キャラクターダイス戦略(CDS)を作り始めてみたいと思う


2021年 8月 8日
 
 
 次の作品として、キャラクターダイス戦略(CHARACTER DICE STRATEGY、略 CDS)なるものを、なんとなく作ってみたいと思う。

 ただ、まだ予定が未定なので変更があるかもしれない。
 
 
 ダイス戦略(DICE WARS)というのは GAME DESIGNさんの作った、ダイスを振って国を取り合うボードゲームみたいな戦略ゲームの傑作である。


 
 
 このゲーム、前は PC版のダウンロード版(前身)があったのだが、今は配布してないようだ、残念。

 自分は前に入手したこの PC版で遊んでいるが、実は食事時にポチポチしながら遊んでるので、たぶん 1000回以上は軽く遊んでるはず。
 
 
 このゲームの良さとして、1強が出ると、それ以外の国が連合して全て 1強のみを相手にするというアルゴリズム、これによってゲームが後半あっというまにパワーゲームで終わってしまう、という事が無い。

 再弱国でもジワジワと追い上げる事ができる、という戦略の醍醐味がある訳だ。
 
 
 ただ不満もあって、それが今回作りたいと思った動機だけども。

 まず面白い地形を引いたと思っても一度負けるとやり直しができない、普通こうしたゲームでは RESTARTがあって、同じマップで何回も挑戦できるものだけど、それが無いので負けると悔しいままで終わってしまう。

 合わせて言うと saveが無い事、面白い地形なら残して置いて何回も遊んでみたい。
 
 
 そんなこんなで折角作るなら、様々な効果のある指揮官みたいなキャラクターユニットもちょっと付けてみて、色々と変化も付けてみたいと考えたのがこの企画だ。
 
 

1、画面の解像度を決める

 まずもって表示の解像度について考えたい。

 現在のスマホは高性能なので、手持ちの SO-02Kでも 720 × 1280ドットある。

 今まで作ってきたものは半分の解像度の 360 * 640ドット、これはグラフィックの開発を間単にするため。

 しかしグラフィックのクオリティは明らかに解像度大き目の方が上がる、気がする。

 そこで今回は今までより大き目の 540 × 960ドットで開発してみる事にする、つまり 1.5倍。

 720 × 1280ドット(今までの 2倍)となると、なんと PCのディスプレイが 1920 × 1280ドットであり、動かすと画面の縦がはみ出してしまうため開発しにくい(タスクバーがあるし)、大きすぎて画面を俯瞰して見るのもし難いので開発に向かない。

 ゲームを PC販売した時の画面解像度のリスクとしては、ロークラスのノートパソコンの画面解像度は 1366 × 768くらいらしい。

 そうすると縦 960ドットでも画面に収まらない、これはゲームを横向きにすれば収まるが今回はとりあえず縦向きで作ってみる。

 まあロースペックのノートで遊んでもらうのは可能性としては低いと思うし、切り捨てにしてみたいと思う。
 
 
 
2、HEXの仕様を決める

 次に HEXの仕様を決めたいと思う。
 
 
 前回やったけど HEXには縦向きと横向きがある。

 縦向きのテスト

 横向きのテスト

 
 
 まあ、デザイン的に今回は横向きにする事にした。
 
 
 次は HEXの大きさ。

 元のゲームのダイス戦略は小さな HEXの集まりで国を表している。

 はっきり言って今回はこのマップを生成するプログラムが、最初にして最大にして最後の難関になると思う。
 
 
 まず細かな HEXを規定する。

 小さな HEXのドットを作って

 ちなみに縦の長さ、直線の辺の長さは見た目重視で適当な長さ、たぶん正 6角系にする必要は無いと思われる。

 並べてみる

 ザッと 1000マス程ある。

 ここで問題が分かった、なんと毎フレーム 1000マス描画すると FPS20無いのだ。

 この画面を buffer画面に描いて 1枚表画面にコピーする、という事の方が遥かに高速。

 または作成した地形を bsaveで一度画像ファイルにしてから、1枚絵として読み込む、という手法も考えられる。

 しかしどうも HSPDishはどれもできそうにない、つまり redraw 0にしたら全部 1度消去で、この場合、横 26マス、縦 41マスを repeatで前部計算して表示しなおさないといけないらしい。
 
 
 困ったので色々と思考錯誤する。

 まず国を複数の HEXで表すのではなくて 1HEXで表したらどうか。

 そういう作品もあるらしい

 その辺で思考錯誤したのが上の縦横のテストの画像。

 合わせて六角ではなくて四角のものもどうかとテストした。

 この四角い HEX表示方法は初期の FC作品等で、例えばファイヤーエンブレムとかガチャポン戦記とかで見た。

 こうして考えてみると、やはり四角表示は負担が軽く高速に処理できると思う。
 
 
 いずれにしても地形としておもむきが無く、面白くないのでやはり小さな HEXの集合体を採用しようと思う。

 やり方は、今まで表示と入力を同じ FPSで一括処理してきたけど、表示だけはそのままで入力だけを 20FPSにするとか、選択国と攻め込む国のみ表示するとか、まあ思考錯誤しながらやってみよう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です