kr_ryo 徒然日誌 <2002年3月24日分>

日本語変数は三國志制作を助けるか?

助けます。

で、終わるのもなんなんで(^^;旧プログラム制作日誌時代から、意外とプログラム製作に関して何も書いていなかったのでちょっと書いてみませう。

さて、先週来突然三國志の仕様がぱたぱたと頭の中でかみあって(発酵したみたいです)、こりゃいけそう!とプログラム製作を再開してみました。久しぶりに見るコード(プログラム)は、、、よくわからない(^^;A前のSpace War Gameの時よりも、変数、つまり、データ記憶項目が格段に増えているため、相互の区別を付けるための変数の名前がだんだん複雑怪奇になってきているからです。武将1人分で、今のところ18項目あるので、たとえば、知力なら tiryoku=84、名前なら jinnmei="張飛" とか書いていたんですよね。

これも、当初は配列変数という仕組みを使おうとしていたので、たとえば張飛の武力を知りたいときは、busyou.48.12 とか書いていました。武将データの48人目の12項目目という意味です。18項目もあると、いちいち数字で覚えていられない気分になったので、今のうちに全部プログラムを書き直して項目を全部ばらしました。それで、jnnmei.48 が "張飛"で、tiryoku.48 が 48人目の張飛の知力を指す、という感じで。

けれども、日本語のローマ字表記の問題で、拗音(ょとかゅとか)とか「ん」「ー」などがどうも途中で誤解を生みそうな気がしてきました。つまり、兵糧を表すのに、hyourouか、hyoroか、とか、民意がminniか、miniか、とか。統率をtosotuかtousotuかtosotsuかとか。一番短い方法で固定とか、ルールを決めればいいんですけど、ヘボン(これもヘップバーンらしいですが)式で教育を受けた身としては、いかにもsiをshiに間違えそうな感じがします。そういえば最近の小学生はローマ字表記を習わないらしいですね。将来的に文化ギャップが生じる恐れがありありです。

さらに、同音異義語の移動と異動とかは別に表記しないといけない。すると、jinnjiidouとかbusyouidouとか、だんだん長くなっていき、jinnjiidoutyuushibutton_id(人事異動中止ボタンID)とか、イライラすること請け合いです。というより前に、間違えます。絶対。また、似たような内容のもので、a1とかa2とかで表現してもいいですけど、多分、覚えきれなくなって、何だったかな?と参照する手間と、勘違い間違いが生じそう。マーフィーの法則にもありそうですけど、間違えると思ったら間違えます。プログラムを書いていて一番バグ(間違い)が多いのは、変数の処理なので、、、というより、プログラム、特にゲームは変数の処理がほとんど全部なので、これを間違えるとかなり痛い。

昔から、プログラムは英字表記で見慣れていましたし、中1のころ初めて買ったポケコンの変数がアルファベットのAからZまでしか使えなかったころから、最近のSpace War Game で変数a〜zを多用&連用していました(しかも同じものを使いすぎて、しばらくデータを保持しないといけないものに使っていた変数を、別の一時データ保存に使って、生じたバグ潰しにずいぶん苦労しました)。けれども、jinnjiidoutyuusibutton_idでバグ取りはしたくない!(みなさん、どこが間違いかわかりますか?)と一大(^^;A決心。変数を日本語化しようと!

HSPは柔軟なので、変数を日本語化しても全然問題ないんですよ。変数名自体が単なるインデックスデータなんでしょうね。表もプログラムも書き直してあらてめて見てみると、あら不思議(というよりコペルニクス的発想の転換)、非常に読みやすいプログラムになりました。何をやっているか、やっぱり漢字だと一目でわかりますね。プログラム命令は英語なので、いちいちIMEを切り換えないといけないんですけど、それでも論理に対する頭の認識が早くなったので、かえって早くなった感じです。それに、Japanistを使っていると、同じ変数を使う際にも、以前使った変数名がすぐ候補に上がってきて便利です。また、jinnjiidouと書くより、人事異動と書いた方が微妙にメモリ消費量も少ない(前者が10バイト、後者が8バイト)。意外といいことづくめ、かもしれません。

HSPのプログラム命令も、置き換え処理で日本語化すれば、フル日本語のプログラム言語にできそうです。そこまでするとかえって面倒かもしれませんが、プログラムに対する敷居が低くなりそうですね。そうそう、HSPはプログラム作成が容易すぎるのか、肝心の内容がしょぼいと2ちゃんで批判されるプログラムが多いそうですね。Space War Gameもネタに上がっていたようですけど、ボロクソに言われてなくて一安心(^^;A

index

かれーな戦術…?コサックス体験記その2

こう見えて実は、リアルタイムシミュレーションゲームというジャンルをプレイしたのはほぼ初めてだった私、コサックスの綺麗さ早さに圧倒されてしまいました。それにしても強い!のは、今になって理由はわかったんですけど、最初はぼろ負けが多かったです。そのかれーな戦術はこんなの…

まずはとにかく内政。資源は食料、木、石、金、鉄、石炭の6種類。最初は金の鉱脈は金色なのでわかったんですけど、鉄と石炭の違いがわからず、なぜか石炭ばっかり掘りあててました。やっぱりあせるとよくない(^^;チュートリアルである程度わかったとはいえ、建物を造る順番や、必要な資源の順番がわからず、そうこうしているうちに敵軍団が攻めてきて、こちらの防衛が間に合わず、哀れ降伏m(__)m

防備も必要だと痛感して、柵、石壁を周囲に張りめぐらせました。すると、木や石がみるみるうちになくなっていく!維持費もいるんですね(T-T)新しい建物を作ることもできず、まごまごしているうちに壁や柵を敵の傭兵(アルジェリア射手とか擲弾兵とか)が焼き討ちし破壊していく…!防壁の外に出た部隊は各個撃破され、各方面で防壁が破られ…降伏m(__)m

あんまり防壁もつくりすぎるとよくない、ということで、一部だけ防壁作成。西北の領土で、北は海、西はマップ外、南は高山という地形。東だけ防壁を作成し、今度はうまいこといったような(⌒ー⌒)ところがどっこい、建物を建てるとだんだん手狭になってくるは、北から敵海軍が艦砲射撃してくるは、あげくに敵が北の海から上陸し、油断していた国内が混乱するわ…あぁぁ降伏m(__)m

ブリッツシュトラーゼに憧れていた私、要塞防衛戦を堪能したかったのに、ここまで守りに徹するとなんだか士気が下がる。そういえば昔からどんな城でも援軍がこないとなると降伏してしまうということを聞いたことがあるような…士気を上げるために無理に突出して勝利しなければいけない、という気分がよくわかりました(^^;ということで、面倒で経費もかかる防壁を作らず、大砲搭載の塔だけ作成しました。塔の砲撃は強力で、普通の兵隊ユニットだと一撃で吹っ飛ばせます。また、歩兵や騎兵は攻撃できないのです。おおお、強力!ところが、例の敵の傭兵どもは火矢をうちかけ、手榴弾をぶちこんでくる!それを攻撃する味方の部隊、そこに味方の塔のカノン砲弾が炸裂…おいおい、味方を撃つな!(T-T)どうも制御が難しい。それに、塔を作ると敵の攻撃目標が塔になるらしくて、塔をめぐった防衛戦が華やかになりすぎて、他に手が回らなくなる!敵はコンピュータなので、一度に攻撃と生産と輸送を連続して行うのに、こちらは防衛している間は他がお留守になる。だんだん味方兵力もつきてきて…これ以上見ていられない(;_;)降伏m(__)m

そもそも大軍を用意しておいて、それから塔をつくれば間に合うかな〜と思って、大軍を準備。塔作成。防御射撃用のマスケット銃兵も配備。これで簡単には敵の傭兵は近寄れまい。ふふ(⌒ー⌒)おお、敵も遠巻きにしているだけだぞ!ところが、ひゅるひゅるひゅる〜と甲高い音がして、塔が被弾。周りの兵隊も破片にぶちあたりなぎ倒される!なんと、塔の射程外から、迫撃砲で砲撃してくるんですよ!!迫撃砲を守る部隊も強力そうで、手出しすると全面戦争に…しかしほっておいたら塔は破壊されていく!仕方がない、突撃!しかし、どうも敵の方が強い!こちらはばたばたなぎ倒されていく!当初私は、楯を持ったオーストリア歩兵の方が槍しか持っていない槍兵より強いと思っていたんですが、実は槍兵の方が強かった!4対2でも騎兵の援護のある槍兵の方が強くて、哀れ自慢の防衛隊は弱体をさらけ出して、、、降伏m(__)m

このゲーム、大砲は4種類あってそれぞれかなり用法が違いますが、初心者にはなかなか区別がつきにくい。カノン砲は長距離射程と破壊力があり、敵の建物や塔を砲撃できることはもちろん、敵の陸軍も攻撃でき、近距離では散弾(ぶどう弾)で敵をなぎ倒してくれます。一度やってみるとすごいいい感じ!強力な騎馬隊も一撃で全滅させてくれます。逆にやられると、一撃でゲームをやめたくなります。

それから、榴弾砲は、射程は短かく耐久力も弱いし連射もできないんですけど、一撃が強力!地面で炸裂してこれまた敵陸軍をなぎ倒してくれたり、塔を一撃で粉砕するほどです。やられるとやっぱりやめたくなります。高ーく打ち上げられるので、あああ、榴弾や〜みんな逃げろ〜!!チュドーン!全滅、って感じです。戦力を集中しているときにやられると悲惨ですね。

迫撃砲は、建物攻撃専用です。兵隊には撃てますけどあたりません。あたってもいいもんなのに。で、長射程で連射性能に優れていて、さっきのように遠距離から塔や建物を破壊してくれます。安価で製造にも時間がかからないので、こいつのせいでコサックスというゲームは防衛戦争には不向きなんですよね。これを破壊してもそれほど痛くもかゆくもないのに(味方がいない単独の砲は捕獲できます。捕獲しても迫撃砲なら破壊することが多いですね)、こいつの破壊力は強力!結果として味方が出撃し、防衛戦で弱っていったすきに敵の陸軍が侵攻してくる、という感じで。

それから、開発に資金が必要ですけど、複銃身カノン砲。連射できる散弾砲ですね。建物攻撃には向かないし、射程も短い。あげくに味方にもよくあたり、敵に突撃する味方の後ろから攻撃するという間抜けな使い方になってしまう上、動きが遅い!どういうわけかコンピュータが全然使わないので、敵の戦術をまねして上達していた私は、しばらく使いませんでした。しかしこれが重要な武器になることはあとで気づきました。またこれは将来的に…

さて、また長くなってしまいましたが、私って、よく降伏しているでしょ?(^^;やっぱり味方が全滅するまで戦うなんて性にあわない!一億玉砕は馬鹿者のすることですね。重要な戦いで味方が負けたり、味方の主力が破れたら、降伏ですね。我が都市が無傷でも、しばらくすると敵の軍靴に踏み荒らされるところを見たくない…じゃあ戦争すんなって?いや、戦争のゲームですから(^^;負ける戦いはしない、とはいえない(防衛戦で負けまくった(^^;)ですけど負けないまでも敵の侵略には備えて守らなければ!特にこのゲームは、兵隊や馬が悲鳴をあげて倒れ、そのまま死体となって転がり、破壊された建物は火をふき煙が昇り、最後には爆発して残骸になってしまいます、まあ、しばらくすれば消えてしまうんですけど、諸行無常の響きを感じさせてくれます。特にがんばってレイアウトした都市が無残に焼け落ちていくのは見るに忍びない…ううん、戦争の悲惨さを感じさせてくれますね。ちょっと思うのは、敵も降伏してくれればいいのに、全滅するまで戦い続けないといけないのでちょっとしんどい。

最初のころはともかく、それでも全滅戦争をしたことがあります。歩兵養成所で歩兵と指揮官を養成できるんですが、同時に歩兵には鍛冶屋を、指揮官には研究所が建っていないと養成できません。ある戦いで、資源はあるのに主力が打ちのめされ、鍛冶屋も奪われ兵隊を養成できなくなったとき、指揮官を山ほど養成し、指揮官連体で防衛したことがあります。普通の兵より指揮官の方が強力なので、指揮官防衛隊が何度か敵を駆逐したんですが…歩兵養成所の前に大軍が駐屯し、養成するたびに倒されていく羽目になってやっぱり降伏…やっぱりこのゲーム、守ったら負けかも…

index

〔TopPage〕

このページへのリンクはフリーです。
このページについてのご意見、ご質問などは、kr_ryo_green@yahoo.co.jpまでお願いします。
Copyright 2001-2002© kr_ryo All rights reserved.
訪問件数