日記(1048)

<前 次>

格言に見せかけて

横の繋がりなんて弱いものさ。ちょっとしたことですぐ崩れてしまう。
だけどいざというときに頼りになるのは縦じゃなく横の繋がりだぜ。

はい、唐突にいったいなんでしょう。
はい、人生の教訓に見せかけて、パネルγのテクニックだったりします。
得点に関しては連鎖よりも同時消しのほうが作りやすく、かつ得点効率も高いので、できるだけでっかいパターンを作りますね。
そのとき、予期せずsmallで消えちゃうことが多々ある。
そうなれば上で揃えていたパターンが落下して横に大きく繋げていたのはボロボロです。
一方、ピンチのとき、パネルは横方向に逃げるので、縦の繋がりはバラバラ。
プレス機の位置を見つつ臨機応変に並べる順番を変えていくことが重要となるわけです。

灰色の高のぼり。
いやむしろ、灰色よ高のぼれ!
はい、そーゆーわけで、パネルが逃げるプログラム、そしてゲームオーバーを作りましたよ。
逃げます、逃げます。逃げます!
本当は処理速度の観点からあまりやりたくはなかったのですが、再帰を用いて作ってみました。
で、横方向に逃げるんですが、逃げ切れなくなると、うきゃー!な顔になっちゃって、ピンチな状態になっちゃいます。
で、ここでも邪魔になるのが灰色パネル。
逃げないし逃げさせません。
つまり、逃げなきゃいけない場所には灰色パネルは置かない。
逃げなきゃいけない場所=下の方→灰色パネルは上へ。

悪あがきしないとみっともないぜ。
変えられる運命をそっくり受け入れるなんて、気が早くないか?
はい、もう最後まで何が起こるかわかりません。
というか、ピンチ時はまったく予測不能のことが起こるといっても過言では・・・・ありますかね。
とにかくピンチになっても諦めず何らかの行動は起こす!
5~6連鎖したらプレス機は完全に元の位置に戻りますからね、そんでもって予測不可能な連鎖が起こりますからね、ホント、気付いたらいきなり元に戻っちゃいます。
それと、消すのも大事ですが、消すためには先立ってたくさんのパネルが必要。
ピンチを打開するためにはよりピンチな状況に追い込まなければいけないというジレンマも。

で、ゲームオーバーになるまで一度やってみました。
3987点。
4000点に後一歩及ばず。惜しいっ!
最初にHUGEを2個作って後はLARGE狙いで。
隙間が残り2マス分を切ってもまだ悪あがき。
さすがに逆転ができないことはもうわかってたけど1点でも多くとりたいので。
隙間が残り2ドットになってもまだ色はわかります。
最後の最後の最後の最後まで粘りましょう。

個人的リンク集に暗号機能を搭載してみました。
まあ暗号とはいってもとても実用には耐えない代物なんですけどね。
まあ家族の好奇から逃れるためならばこの程度で充分ということで。
暗号化と同じ秘密鍵で復号化します。

MIDIB

MIDIを作るアプレットMIDIAを作成中です。
とりあえずEclipseインストールしてアプレットクラスを継承するところまで。

プレス機をちょっと改良しました。
グラフィックの変化と、ピンチ時遅くなる処理(ただし、ピンチになるスイッチが働かないのでノンストップ)。
たくさん同時消ししてもプレス機を押し返せるようにはしたけどあまり当てにはならない。

容赦すること

まだゲームオーバーは作っていないんですが、物は試しということで、プレス機が動く状態でプレイしてみました。
プレス機が迫ってくるという緊張感があるとやっぱり違いますね、HUGEなんて冷静に作ってる余裕なんてない。
それどころかsmallを作るのに必死で、作ったとしても連鎖できなければプレス機はその場で止まるだけ。
やはり経過時間に比例してプレス機の動作速度が上がるというのは安直過ぎたか。
動作スピードが速くなってくると、もう本当に容赦なくぐんぐん迫ってくるのですから、気付いたときにはもうおしまい。バイバイ。
プレス機ということで、物を挟んだら反発力で勢いが落ちる、というのが当初の考えにあったので、これから実装していくつもりなのですが、この勢いが落ちるという仕様にはもうひとつの理由がありまして、それは、「最後の悪あがきで何とかなる」。
そうそう、パネルγの厄介なシステム。
パネルがね、逃げるんですよ。プレス機から。逃げ場があったらの話ですけどね。

2つのゲーム性

適当にガチャガチャやっててもそれなりに遊べるゲーム性と、狙ってやりこむゲーム性、両立させたいのですが、連鎖に関しては、狙って消すよりでたらめに出しまくって消しまくっていたほうが効率がいいんですよね。
適当にガチャガチャ、は、ピンチのときにこそ陥りがち。
狙ってやりこむ、は、比較的余裕のあるときに。
だからして、適当にガチャガチャ、はピンチ回避に役立ち、狙ってやりこむ、は高得点につながる、という風にすればちょうど良いバランスとなる(はず)。
だから、連鎖をするとプレス機を押し戻し、同時消しや大きなパターンで消すと得点が高い、ということにして、パターン固有の押し戻し係数は廃して連鎖の得点を下げる、いや、連鎖については充分得点が低いからいいけど。
HUGEの得点が高すぎる気がしたけどあれでいいや。
smallも、無視できる得点にしてもなんら支障はない。
プレス機の動きの部分も作ってみたり。

思わぬ壁

とりあえず現状でどの程度動くかどうかの確認のために他の人に少しプレイしてもらったのですけれども、ものすごく重いとの報告をいただいてしまいました。
で、状況を見る限りはどうやらDirectDrawの描画処理で遅くなっている模様。
GDIで描画しているプロトタイプを試してもらったところそこそこの速度が出てくれたそうなので、描画エンジンとして、DirectDrawのほかにもGDIによるものを用意しようかと思っています。

Relative

連鎖に対応しました。
コンボは、消え方にかかわらずコンボ継続時間中に次のパターンがそろったら発生して、コンボ数に応じて点数が入ります。
連鎖は、消えたパネルの上にあるパネルでコンボが続いた場合に発生して、連鎖の数だけ基本得点が倍増します。
連鎖数を画面上に表示する演出ができれば連鎖に関する基本的な処理は終了。バランスとか調整しなきゃならないけど。
コンボ終了後にBGMが止まるバグは、コンボ精算の音を出すタイミングを調整すると発生しなくなりました。それでも消えたら御免。
消しBGM&コンボ精算が、今までは常にフルパワーでうるさく鳴っていましたが、たいしたことのない消し方のときはグレードダウンするようにしました。
DirectXのヘルプを見るとものすごく難しそうなことが書かれてあって尻込みしていたのですが、DirectMusicがメッセージベースであることから、MIDIを再生してリセットせずに曲を切り替えたら前のMIDIの設定を受け継いだまま次のMIDIが鳴り始めるのではないかと思って試してみたところ、本当にそうなってくれました。
だから、特定のチャンネルの音を消すだけのMIDIとか、必要なとき以外は音量が0のMIDIとかができてきちゃいました。
ゲームバランスはまだまだ模索中…
適当にやっていればそれなりに消えてくれるけど、でたらめにやっていたら対して消えてくれない、そして頑張って連鎖を組んだりたくさん消したりしたらどかんと点数をあげたい、そんなバランスにしたいのですが、今の状況だと狙いすぎるとかえって不利な状況になってしまうような気がしています。

漢字の変遷について

パネルγのページを更新しました。
大体消しパターンと消し方が自分でつかめてきたので消しパターンのページを作ってみました。
他にもあったりしますがまああれはまともには作れないし、フリーウェアによくある、作りたいので作ってみたというやつだったりするので基本的には非公開です。
あとは、妙な消し方をしてみたスクリーンショットとか。
なにしろ消している間にも、消えている途中のパネルも、お構い無しに入れ替えられちゃうんですから、できちゃうんですね、あんなのが。
連鎖のアルゴリズムも考えようかと思ったのですが、ちょっとややこしかったので今日のところは断念しました。

ちょっと学校のレポートの途中経過でも。
2000字以上書かなければならないのでパソコンで書くと4KB分必要なのですが、適当に口語で書いてみたらあっさり超えちゃいました。
もちろんこのまま出すはずはありませんが、これだと真面目な文体にして少し補足説明を加えれば充分かなと思ったり思わなかったり。

甲骨文字、これは文字通り亀の甲羅や牛の肩甲骨などに刻まれる文字であります。
亀の甲羅とはいっても、踏んで猛スピードで飛ばすような甲羅じゃありません。
しかしなぜよりにもよって字を書きにくそうな骨なんかに字を書いたのか。
それは、祭政一致の政治で、儀式の際に神からの預言を残すためなのです!
はい、骨というと、宗教的なにおいがぷんぷんしますし、保存も利きます。
まあ要するに神聖文字ですな。
そして、甲骨文字とほぼ同時かやや遅れて登場するのが「金文」であります。
これは、神々と祖先に生贄と供え物を捧げるための神聖な器具、青銅器に掘り込まれたものでありまして、大体十文字未満で書かれ、文章というよりは、その青銅器で祭られる祖先神の名前やそれを作らせた人物の属する氏族のエンブレムなどが記されているのです(授業の配布プリント)
その意味で言うならば、この時代の文字はどちらかというと記号的な意味が強いものでした。
そうです、これから漢字が文字としての体裁を持ってくるのです。
それが、秦の時代から使われだした「篆書」です。
実はこの篆書、秦の皇帝の偉大さを称える文字なのです。
だから、これまでのいかにも時代遅れな象形文字みたいなものでなく、皇帝らしくかっこいい字体なのです。
さて、それと時期を同じくしまして、中央集権体制としまして、郡県制が敷かれました。
そうすると、郡やら県やらがたくさんできてきて、情報伝達が大変!
だから、口頭による情報伝達でなく、確実に情報を伝えて、証拠を残せる文書での行政になるわけです。
しっかあーし!
いちいち亀やら牛やらを殺して骨を得なければいけない甲骨文字やら青銅器の壷やら皿やらに書かなければいけない金文だとか、皇帝様専用のかっこいい篆書などは問題外なのであります。
そして時代は、骨や壷や石版から、竹簡・木簡をメディアとして使う時代と変わってゆきました。
(とはいえ竹簡・木簡自体は甲骨文字の時代からあったそうですが)
そのころは王様やら貴族並みの大金持ちではない貧乏小役人、言ってみれば地方公務員も普通に字をかけなければいけない時代。
軽くて安くて石や骨ほどにはかさばらない、そして何より文字を書きやすい木や竹が当たり前となったのです。
そしてもちろん字そのものも彫ったり鋳込んだりするよりも、筆で書くのに適した字となるわけです。
その字は、それを書く地方の小役人が「隷」と呼ばれたことから、「隷書」と呼ばれています。
大篆というのは、始皇帝様のかっこいい篆書と貧乏小役人のお手軽隷書の共通の祖先であります。
(プリントには詳しくかかれてなかったから後で本を読んで補足しておこう)
この隷書では、大篆を改良し、象形文字っぽく書きたいように書いていた部分を整理し、わかりやすく体系化しました。
だからこそ馬鹿小役人どもにも普及させることができたわけですね。
結構完成体に近かった隷書ですが、それで終わりなら現在の楷書が登場できないというものです。
ついに出ました!今でも通用する草書と楷書!
さて、隷書は漢の時代まで愛用されていたわけですが。
隷書の地位を揺るがす大事件!
匈奴とかから異民族が攻め込んできたんです。
馬を乗り回す強敵の騎馬民族、漢民族は勝てなかったので逃げた。
北から攻め込まれたので南に逃げた。
南には川があるので馬には渡れない。
隷書を脅かすもうひとつの存在、それは紙の発明でした。(それまでは木や竹)
かさばらないとはいっても厚さが1cm近くもある竹簡に比べて、1mm未満の脅威の薄さの紙はあらゆる方面の人々から喜ばれました。
しかも、竹簡のよさであった、軽さ・安さも紙のほうが一枚上手。
保存性は竹簡にはかないませんが、それらを補って余りある長所が紙にはあったのです。
しかし、そんな紙にも決定的な弱点がありました。
そう、そうなんです!破れやすいんです!弱くてデリケートなんです!
だから、強くてバリケードな竹簡に書く感覚で紙に字を書くとビリっといっちゃいます。
紙の普及のためには、竹にガリガリ書く方法から、紙にサラサラ書く方法に移り変わる必要があったのです。
それこそが「草書」。
サラサラサラサラサ~ラサラ書けるミミズのような字体です。
紙にも優しいミミズの字体「草書」により、問題は解決されました。
強いて問題があるとすれば、漢がそのころ北方民族に負けていたことでしょうか。
それで開き直ったのか何なのか、貴族たちは戦いなんてくだらんとか考えるようになりました。
それで貴族たちは明けても暮れても文化やら芸術のことやらを話し合うようになりました。
戦争やら行政やらは二の次三の次です。
で、その矛先は草書や隷書に向けられました。
「草書や隷書はイナカくさい。もっとナウい字体はないのか」と。
そしてまた、貴族趣味以外にもナウい字が必要とされた背景があったのです。
それが「科挙」制度。
まあたぶん、楷書みたいにきっちりした文字でないと公正さは保てなかったんでしょうな。
こうして現在の漢字の完成体「楷書」ができ、千年以上もたった今でも使われ続けているのです。

<前 次>