|
運び出した荷物を検出するための床を、暫定的に緑地にして、そこを通ったら消すテスト。
処理自体は難しくもなんともないわけですが、入れたことによって派生する複合問題が、何か入れようと検討し始めた時点でむくりむくりと次々頭をもたげるわけで、実装つーのは寝た子を起こす行為ちゅうことです。
結局は出口床を検出した時点でnpcを止めておけば、まとめて検出されても順次BASIC側で処理すればよくなるということにした。つまり勇者がもってたじゅらくださんこの写真集とかが順次値段とともに表示されます。
---
アセンブラ内部の自前データ形式があって、読み出すにはあるテンプレートがあり、結局それを参考にコードを書く。これってクラス派生じゃないの??というわけでお釈迦様の手の上という。結局アセンブラの不満をCに、Cの不満をC++に、なわけですからね、当たり前っちゃあ当たり前なんですが、それで失われるものもあるわけで、つまりまートレードオフっちゅうことです。初動忘れずにね!という。古きには古きのよさがあり、新しきには新しきの快感がありつーことで、バランスをとるわけですがな。
npcの動きが見えるように軌跡を水色で表示するテスト。通称npc-tail
残念ながら水色の動きが目に付き、npcの動きが逆に埋もれてわからなくなったので、これは採用しないと思う。徐々にパーティクルが消えていき、キレイなんだけどなあ。。
--
ちなみに、実装したてはコードが正しく動いているか確認しやすいよう、fontを数字にしときます。
こんな感じ
昔は最終的にBASIC上でDATA文にしたので、内部ワークエリアはマシン語の最後にまとめていた。
しかし今やバイナリファイルなので、まとめる必要がなくなっていることに気付き、
内部データエリアを、npc-tailルーチンの真後ろに置いたんですが、
これがまあ「クラス変数」状態なわけですよ。孫悟空ビックリ
npcがターゲットに向かっている途中で違うモノを押してしまい、
結局すべてが部屋の隅に集まる、みたいな問題の解消のため、迂回モードm=2を追加。
背後サーチルーチンm=1に便乗し押さずに迂回、
動ける方向を発見し次第、索敵m=0に戻す
まずはBASIC上での動作を検証し終わる。
やはりBASICでのテストは早い!アセンブラのラベルを行番号にしているので、
BASIC修正>アセンブラ、が結構すばやい(以下参照)
またアセンブラに落とすことも念頭においた書き方もある。例えば AND 3など。
帰りの電車内でアセンブラ化を終わらす
--
夜のスタジオで、24ビートなるものの模索。
最終的に汗をかいたのでイケそうな感じ。汗をかいたら成功である。
まだ速度が遅いしビートが残っている。ビョーという感じにならないとイカン。
トイレで「やはり軌跡でゴマかさないでズレでやるべきだなあ」と思い立ってしまう。実装する仕組みと、動いてる絵が見えちった。
さっそく実装の検討。
ただズレ移動表示させるだけなら簡単至極だが、npcもプレイヤーも、マルチpushというシステムの上で動いているので、ズレてる途中で押されたらどうすんの?とかなかなかイメージができなかった。
しかし
ズレている表示状態2キャラ分をまるごと押せるブロックと考えたら、既存のシステムに吸収できるっちゅうことに気付いたことは大きい。
システム的には例外処理(表示しない、ズレ用の予備アドレスをGRPDT内に持つ)を入れないといけないのでちょっと難しい。
先にズレfontをさくっと作る。デルビンダスイージーでは計算でこのズレを持っているが、考えずに10分で。
2ドットずつ、4方向。不満なら後日計算で。今大事なのは速度。
迂回モードのマシン語化終了。コード書くよりデバッグに時間がかかってる。
かなり苦しんだがmolitorなどを使いメモリ上のm値を調べたり徹底した調査でようやく。
ただまだなんかフリーズしたりする。
弱い筋肉が死に、強い筋肉が残った、そういう日常になりつつあり。
--
ズレ移動のマシン語化ほぼ終了!
移動後に残ってしまい、画面がnpcだらけに!(笑)
こういうバグは
消す場所の不具合で特定が楽なので
できたも同然、目に嬉しいバグとなるわけです。あまりに面白いと採用されたりし
--
ただ、問題はズレに使うfontは 2キャラx4方向x3ズレ=24font も使う上に色は1つしか指定できない。
現状、
敵npc
味方npc
というように色で分ける予定だが、
ズレ時にも色を2色使うと、倍の、48font消費してしまうのでムリ。
移動し終わったら色が出るというのもヘッポコだしなー
ズレ移動のデバッグがようやく終了。移動の根幹エンジン部分は「かなり古い地層」なのでちょっといじると、このところめったになかったフリーズだの暴走だのが発生していた。けっこう忘れてるんだあちこち。読み直して「・・なるほど!」と感心したりしてる始末だもん
このところ、このサラチ移動関連について盛り上がりがあったので、一段落するまで疾走した次第。
こういった盛り上がりは、たくさんの積み重ねの上にあるので、機会を逃さないようにしている。
明日から通常営業であります(笑)この勢いで他も火をつけてまわるぜ!年賀も早々にできそうだ!
--
私の最近の行動方針は
「一度持ったら置くまで離さない」
である。
--
例えば皿か何か手に持つ。
それはどこかに持っていく予定なのだが、持っていく途中で何か別の用事が出来てそちらの方を片付けるため手に持っていたそれを横に置く。そして用事を済ませ、またそれをもつ。効率を考えまとめようとする
しかし、
何かを再度持つには、
どこにあるか探し、識別し、どう持つかを決定し、そして持つ、というアクションがある。
つまり
途中で一度放すと、それら持つときのアクションが再度かかる。つまり2度手間がかかる。
プログラムの場合は、組んでいるときは気付かないが、様々な「一時記憶」がある。
一旦作業から離れて別のことをすると、それらが消え、再度調べたりしてそれらの記憶を再インストールする手間が膨大にかかり、忘れている個所で同じ間違いを何度もし時間を浪費する。
これはアイディアやイメージなども同じで、
何かを思いついたとき、絵として見えたものや言葉になったもの以外に、その源泉となる様々な要因が同時に、無意識下に存在している。それらの意識化できた部分だけが絵とか言葉に見え、その瞬間が「思いつく」という現象として現れただけで、まだ言語化されていない膨大なものが併存しているのだ。
なので、その一部分の言語化されたモノだけをメモしただけだと、しばらくしてそこに集約していた無意識部分が拡散し忘却されてしまい、メモは無意識下の象徴から、単なる文章に墜ちてしまう。
すぐ言語化する作業を続ければ、無意識化の集約が成果物として形になる。
つまり、物事は、
一度持ったら終わるまで離さない、が最も効率がよいのである。
--
ここ最近は
一度持ったものは離さないようにしているため、
ふと反射的に離そうとしてしまったとき意識が止め、
なんか手にキューッとくっついているような感触がする(笑
npcのズレ移動を入れたが、この移動は2ドットづつで、これまでのキャラ単位(=8ドット)と違う概念だ
つまり
あと、1ドットづつ、4ドットづつ、8ドットづつ、というバリエーションができる。
つまり速度の違いという概念が生まれるのだ。これはすごく面白い。
時間がなくなったら真っ赤になって凶暴化し暴走!とかできる。
これらは4種類あるので、識別のためさらに
最低2ビット要る。
その2ビットを、npcの内部データに持たせないといけないのだが、
さらに
先日の敵味方の種別用に 1ビット要るので
合計3ビット
現状、
内部データは GRPDTの可変データのエンドデータに紛れ込ませてあり、その空きbitが残り2ビット。
つまり
1ビット足らないのだ!これは結構大問題で、
1ビット空けるには通常格納しているアドレスをシフトさせると可能でシステム的に美しく閉じることができるのだが、これがまた根幹のエンジンからなにから大改造になるので、結構うんざり。改造による誤作動も結構起きそうなのでそれもうんざり。HDDがテラの時代に、たった1ビットで困ってるというパラドックス
しかし
ここは閉じておかないと手を離すわけにはいかない個所。まいったなーとにかく一旦閉じたいと体が文句を言っているんですよ、今。ブーブーブーブー、次に行かせろと。わかったってば!
---
夜、
年賀の絵が見えた。尾根をひた登る竜城壁トロッコ電車。
テーマは
「NOW THE FUTURE」
未来と現在の距離がゼロになる
ビットを空けるのは不可能とし、別途npc用のfont保持エリアを設けることにした。もともとnpc自体特別処理なんだから特別に保持してもいいでしょ、ねえ!という感じ(笑)
システム上でやれば、ちょっと増やすだけで勝手にあれこれやってくれるから手間的にもメモリ的にも効率がいいんですがねえ、まあ時間とのバランスで。
---
先日の「手を離さない」(→HP)だが、
今回のサラチRPGなんかは思いついたのが2004年、と8年も前。
それからずーっと離さないで持っているんだ!と気づいた。
そういう意味では、
たくさんの疑問もなすべきこともずーっと離すことはないんですよ私の場合は。。
それらは年単位、脳内で電子の水がまんべんなく撒かれているのです。
年賀イメージがやっと固まった。側面図。
先頭にボディが城壁なドラゴン列車、
後続に、
function(貯水、畑、キッチン、食糧庫、洗濯etc = 自給自足)を持つ列車が連結されるという
ゲーム的な面白いイメージ。
先日決めた絵からサッパリ進まず。
最大の問題は、側面図から立体へ、どうしても起こせなかったこと。横からはビューチーなんだがなあ!
ドラゴン城壁内部はどういう構造になっているのか、納得行く構造がなかなかイメージ出来ない。
---
散々悩んで日々が過ぎ、
しかし、
夜中にふと思い立って机に座り、描いたらすぐ描けた。まったく違う絵;
2:33
ちょっと自己模倣かなあと思っていた図案だが、まあ王道かなと。
---
寝て起きて、ペン入れ
差別化ということで、竜の肌にウロコをビッシリ書く事に。結局情報量なんですよ。
ウロコ描写ルールの模索。
結局四角でもイケることがわかった。
適用した。ポリゴンラインのようなガイドで、表層の起伏がだせることも発見。
ウロコは青に。
絵の具を配合し、さっと塗ったときに、
ウロコの線が水を弾き、たくさんの池化し、
その結果、
ウロコそれぞれに濃度差が出、それがウロコのような配色を生んだ。これはキレイだ。。
しかし
この現象の再現が大変難しい。
だが、
「時間を理由に質を落とさない」
という今の方針に従い、
結局、青を110枚塗るだけで9時間以上かかった。
イスの色が決まるまでそうとうかかった。
イスだなあと思えるような色。たかが色だがその先に質感が感じられるか?
と同時に
周囲とのバランス。
また、
他の小さな竜2体に塗ったときの記号性も見越す必要があった。
---
ルーカに「なぜ最初にすべての色を決めてから塗らないのか?」
と聞かれて、そういえば何故なんだろうと説明しているうちに気付いたのだが、
先ほどの青のウロコ配色のように、塗ってから発見できることがあり、それを期待しているのもあるのだが、
それまでに塗ってきた状況において、それらをだいなしにはできないわけで、その緊張感と決定の重さ、
それがよりよい色決定を生むのではないか、ということなのだ。
適当に色を置いて、パレットで切り替えていい感じのを探す、のだと、これもいいしこれも悪くない、というものが大量に生まれて困ったりする。しかも、それらは全体の配色としての快感であって、個別の物体のリアリティは軽視されがち。つまり本気度がケタ違いなのだ。
---
これは、実は
いつも私がやっている、
最初のラフ下絵を「年賀ハガキ」に直接ペン入れする
ということにも見られる。
これが、失敗してもいい普通のケント紙に書くのとではエラい違うのだ!
この下書きをするまでのイメージ作りと覚悟、
失敗できない、という状況で次の一手を慎重に吟味し間違えないよう一歩踏み出す感覚は、
最近すこしずつ遊んでいるPS3デモンズソウルなんかにも見られる心地よい緊張感だ。
ハードディスクの容量が増え、いくらでも保存できる、いくらでもundoできる、モノが溢れ使ってすぐ捨てる、そういう状況は明らかに本気度を失っているんだと私は思う。一瞬一瞬の判断を大事にしなくなっていく。だから取り返しがつかない環境が無いなら作るっつーことです。
返せば今の時代は、
転げ落ちるといくらでも落ちていく、そういう時代なんだということ。
人類が長い間蓄積し積み上げてきたものが、今ものすごい勢いで分散し平らになっていっているつーことです。宇宙全体の温度が絶対ゼロ度に向かう、それとまったく同じ現象が。文明を発展させてきた思想工夫をもつ人種が、その上で享受するだけで保守しない圧倒的大勢によって淘汰されていく。これこそがローマやマヤなど優れた文明が滅びたそれそのものではないか、となんとなく思いを馳せつつ除夜の鐘が鳴り響き始めた。
|
|
|
このページでは私の成果、発見のみ記述しております。
|
|