|
久々に早朝ラジオ体操を再開した
ここ半年ばかりは、体操をしたことによって作業および執筆に支障が出るリスクをとれず、しかもずっと座っていたので、目は悪くなるわ体調は落ちるわでだったが、一旦リリースはできたのでリスクが取れるようになった(笑)ので再開。他にはドラム個人練等々など体に関わる習慣の再開等が控える。
NUMBER10.BASの修正の流れで、MAP描写ツール HOUS-GRP.E54 にメニューを追加した。mapデータ(R23.DT や U22.DT)を読んで確認したりするときに初期化が不完全で、技術書の追記時に使い方を説明しようとした時無理があり渋々。かねてからやろうとしてた、DT圧縮ツールnumber10.bas に、自動的に 0-1.DT 2-3.DTを生成する仕組みも組んだ。文書で説明するくらいなら作れ!と(笑
年賀の下書き。インスピレーションががやっと!
進まない理由を分析した結果、
・ここ数年、広告の裏とかの落書きがそのまま原画になることが多い
・宮崎駿氏が書いては紙を捨ててるイメージ(消しゴムで消さず、失敗したら捨てろ、という鉄則も思い出す)
・落書き帳で書いたものが残るのがイヤ
を踏まえ、大量の裏紙を用意して捨てるつもりで落書きを開始したら、
ふと浮かんだ「鳥居が円形に連続する風景」>円形の内側に犬を書きたい>背中を茅葺屋根みたいにしたい
続いて
鳥居の下をくぐる舌を描き始めてついベローンと長くしてしまい(笑
さらに
その舌の上を レッドカーペットと見立てて神主を歩かせた
ことが面白く、ここで原画が決定した(笑
この舌は、先日の犬スケッチでの犬歯などがきちんと反映されている。
あとは情報量が弱い箇所(舌の上を歩いている神主、周囲に居る人たちは誰(犬?)、他)の補強。
昨晩の下書きにペン入れ:
丸ペンにて。情報密度が高くいい感じ!
ここ数年ほど年賀は pigma1.0で太線で描いていて
デザインぽくキャッチーで好きだったが情報量が少ないなと反省していた
例えばこんなの
ただ、周囲に集まる群衆に困っていた。人だと服装がメンドイし、犬が集まっていてもしょうがない。
犬であり人でありたい、と考えて思いついたのが、犬を立たせる、というひらめきでそれをスケッチしてみた。
先日のスケッチで犬構造が頭に入っており、なんとなく立ってる感じが出た(笑)
それを画面に適用:
スケッチの過程で獲得したことだが、
ズーム拡大して目視し情報が頭に入ると、小さく書いてもその情報は反映される。
--
ハガキへの印刷は、セブンイレブンのXEROXで毎年行っている。クオリティは非常に高く10年以上愛用しているが、最近ハガキcopyが20円になり困っている(下げてくれ!)
朱色開始:
今回、朱色は非常に複雑な上に範囲も広く、30分かかっても7枚ほどしか進まずビックリ。このあと地獄を見る
しかも近年開発した技術で
乾いたあと、
水を塗りムラを慣らす(水が多いと上の写真のようにムラがでてしまう)
濃い色で影をつける
などの作業もある(ヒー)
地獄の朱色が終了:
100枚ほど
さらにならしと赤影を開始
茶開始。御神木の幹、人犬、茅葺や足の影:
100枚終了!
--
続いて、ワンポイントとなる緑色:
神木の緑と、根から生える二葉
この二葉に至っては0.5mmもない幅でなかなか難しかった
赤開始。
舌であることを示す、記号的にも絵の肝としても重要な赤。
舌のように見えるか。やわらかく、湿り気があるか?
紫開始。
鳥居にぶら下がるのれんみたいなもの。
記号的には神社感を強めるためだが、同時に、間からにょきと出る御神体である犬の足、をより際立たせるためでもある。
さらにその影
このスッと引く1本で、鳥居との距離、布感、がグッと出る
赤影
薄い黒
犬の鼻、神主帽子、鳥居看板の縦の影(極細)、犬歯、ブルドック首輪をかたどった手前小鳥居。
ほどなく
犬の鼻の黒が気に食わず、塗らなくなる。あとで気づいたが「犬の鼻は黒」という固定観念に囚われていて、絵全体として本当に黒なのかどうかの問いがなさすぎた。反省。ただそれほど「湿った黒い犬の鼻」は絶対だった..
--
ペン入れ後+4日ほどかかっており、予想外。ただここ半年のタロティカ実装に向けての篭り作業で体がすっかり弱ってしまっていて背筋の激痛を対処しながらだったので仕方ない。早く通常生活に戻したいところだがまだまだいろいろ山積み(ヒー)
HOUR-GRP.E54で、部屋データ($BD10-)をカーソル下で保存可能にした
そもそも何故今までなかったのか?と思うほどのコマンド。エンドアドレスも自動的に調べてくれる。さらにこの保存データを number10,basで読み込めば、0.DT 1.DT(地下なら 2.DT 3.DT)を自動生成してくれたりと夢のようなアップデート。
こういった、あらかじめ問題が発生しそうな箇所を塞ぐような実装ができるようになったのも近年獲得したことの一つでもあるが、ほとんどが「するべき」で動いているのでしんどくもある。世間でいう「やりたい」って何なのか、最近すっかりわからん(笑
--
上記が終わったのでやっと技術書の該当箇所を執筆、ツール部分の修正が終了!
IGFにノミネートされたことで、インタビューの質問に答えを用意していたのだが、英語に翻訳する上でM氏に、「なぜ長く諦めずに開発を続けられたのか」という質問に、当初、私は「制作するゲームに普遍性を持たせることにしている」と答えていて、それは、「正しく答えていない」と指摘されたので、いやそれはこれこれこうで、と説明し「give upという概念自体が存在しない」と答えたら面白がられた(笑)
私自身も発見だったが、意外に私の中にちゃんとロジックがあるんだなあと思ったので以下:
--
通常、長く開発をするには、
例えば多くの支持を受けるとか、評判になってるとか、励みになる何かが必要となる。反応が少ないとダメなのかなと思わされ、継続が難しくなるからだ。特にネット全盛の昨今はなおさらである。
一方、普遍性とは、淘汰を経て時流や流行などが殺ぎ落とされ年月を超える強さを持つことで、
例えば、
まだ証明されていない数学の方程式とか、まだ建っていないスペインのガウディが設計しまだ200年かかるといわれてるサクラダファミリア教会とか、古くは地動説などは、他人の励ましを必要としない。それらは、事実や推論などの物理的な積み重ねによってわかりきっているからだ。「それでも地球は回っている」わけだ。同じように、自分が面白い!(と発見した)とわかっているならば、それが支持されるかされないか、は、受け手との相性や、いかにわかりやすく作るか次第であり、面白さ自体の価値は物理的なものなので揺らぐことはない。一方揺らぐのは自分の精神で、それをどうコントロールするか、という技術の問題に落とせる。まあそれが大変なんですが(笑
年末に同時リリースしたかった、タロティカの技術書がやっと完了!(といってもまだ第1+版)
執筆、翻訳および手書き作業が終わったのでpdf化作業。
スキャンしレタッチしpdf化。それにしても作業っていいなあ。達成感はあるし時間も読める(笑
近い将来、
こういった単純作業がすべて機械やAIにとって変わられて、「クリエイティブな仕事だけやればよい」となったらキッツイだろうなあ(笑
何年もかかっている、海外からの依頼のオリジナルタイトルだが、これがシューティング+某ジャンル、というこれまた見たことない斬新なゲーム。斬新というと聞えはいいが、問題はどうやったら面白くなるか?がまったくわからない。直感だけは明確にあるのだが、ゲームとして普通の人が遊べる形にどう落とすのかで当然苦心。
(以前作っていた(今もかすかに継続している)RPG+落ちモノ(これはパズドラより早く企画していたしまったく違う内容)も、複数ジャンルの合成がゆえに、何がゲームオーバーか?がなかなか定義できなかった。HPがなくなったら死ぬのか上まで積みあがったら死ぬのか。どっちが欠けても違和感だしどっちも入れたらさらに違和感で、美しい解法(=誰もが納得できる形)になかなか行き着かなかった)
で最近ようやくゴールが見えてきたが、どう実装したらいいか、戦艦のエディターをどう作るか?で頭を抱えている。
イメージできる沢山の可能性があるので、エディターの作り方次第では可能性を狭めてしまう。かといって作らないまま考えていても広すぎて収集がつかず見当もつかない、というジレンマなのだ。
--
こうしてみればわかるが、「なぜ諦めずに長く開発を続けられたか?」への答えはもう一つあり、それは
「斬新なゲームを作ろうとすると、構築するまでに時間がかかるものだと知っているから」
と言える。気ぃ狂いそうな混沌と目に見えないが厳しいゴールへの戦いでもある。
戦艦エディタを構築。とても手打ちではデータが作れないので、エディタが必要になった。
机上ではなかなか設計できず、諦めて出かけた夕方の散歩で、設計が固まるまで、なるべく「通ったことのない道」をずっとウロウロしてようやく見えた!Luaの持つテーブルを利用した設計で美しい。
戦艦エディタにレイヤーを追加した。設計がきっちりしたので追加も容易。
気づいたが
「なぜ諦めずに長く開発を続けられたか?」への答えは、
私には(古いと30年以上も前に)「絶対おもしろい!いつか作ってやる」と思っているアイディアが今なお膨大にあることからも見てとれる。それらのスケッチや文章を読むだけでも、グフフと笑ってしまうものが結構ある。つまり、開発を長く続けるだけでなく、持ちつづける、という点でも私の持つターンは普通の人より遥かに長い。
というのも
小説は文字に、漫画は紙に、音楽は音に落とす先が固定なのに対し、ゲームは落とす先のデバイスが変化する。画面の大きさも解像度もコントローラも不定なので、制作する時に存在する紙がなにか?によって左右される。よって機会が重要なのだ。待つしかない。特にここ最近は安定した(10年単位で持つ)開発環境が出現せず腰が定まらないのだ。MSXが一番だが3Dのアイディアが実現できない。
しかし遥かに長いとはいえ、私の気分的には、
坂本龍一の音楽図鑑を聞きつつFM-7のサブシステムに潜っていた瞬間とか、毎月のようにゲームを作って投稿して、面白そうなゲームを移植したり毎月リリースされる意味不明なアーケードゲームなどで遊んだ日々、タロティカでヒーヒー言いながら動画を毎日描いていた日々、などが昨日のように見えて今だに繋がっている。そういう意味では、私に「なつかしい!」という感覚があまりないことだ。すべてが昨日のことのように思い出せる。脳内は相互に全て常時接続しているのだ。
ゲーム業界なら知らない人はいない世界最大のゲーム開発者会議GDC(Game Developers Conference)で毎年開かれる IGF (Independent Games Festival)に タロティカが NUOVO賞(ゲームの可能性を広げる)カテゴリでノミネートを受け、出展のためサンフランシスコへ!20年の歴史の中で日本人2人目という快挙らしいです!
(to be described !!!)
海外依頼のゲーム制作をしていて、その会社があるポートランドの滞在のため、サンフランシスコから移動!
以前から海外チームとの仕事はよくやっていますが、やはり顔を合わせることで劇的に進むのは鉄則。
なので、今回かなり強行なのだが頑張って行って来た
(そのせいか、今回は体調をすっかり崩し、全フライト地獄でした...飛行機好きだったのになあ!)
(to be described!!!)
打ち合わせがあり都内、そのあと足を伸ばしてインディーイベントへ。
才能あるのになかなかゲームを作らない知り合いがいて、聞くと「レベルデザインをしたくない」と。つまり「テトリス」みたいな「仕組みを作ったらあとはずっと遊びつづけられる」のが理想だと!なるほど。。思えば、昔の投稿ゲームはそういうのばっかりだった。つまりアイディア一発のゲームシステムで遊びつづけられるヤツだ。私のFM-7での作品なんかも初期はほとんどがステージはランダム作成だったりした。
かく言う私もレベルデザイン、という思想は肌に合わなくて、とにかく出来る限りの組み合わせのアイディアをかきあつめてそれを簡単な順に並べる、という程度で、やったとしてもアイディアの一つを因数分解して問題を単純化して練習ステージにする程度である。
IGF出展時に1/3の来場者が冒頭で迷ってやめてしまいそうだった問題対処fixを3つ実装:ガチガチのルート化。
(1) 扉より前にガタガタさせろボードを見てしまうとわけわからない(ボード自体を扉と思って上下する人もいる)ので、扉を閲覧したらボードが出現するようにし、そのボードを閲覧したらガタガタが有効になるようにした。
(2) 寝室hintボードに気づかないまま(寝室に入らない場合もある)人形部屋で意味なく試行錯誤する問題。ムチを倒さないと寝室が開かないようにし、また寝室hintボードを見ないとゾンビが出現しないようにした。これは立て続けになっていたバトルを分散する対応にもなっている。
(3) 火の精のmapボードを見る前に地下に降りてしまい、何が起こっているかわからず行き詰まる問題。火の精mapボードを閲覧しないと暖炉がenableにならず、地下に降りられないようにした
--
また、上記の修正にあたり、兼ねてから課題だった FNS(O),FNT(O),FNK(O)のあらかじめ代入が必要となり、変数利用範囲と行番号ジャンプを慎重に確認した末に実装。また利用変数も総ざらえし、兼用などを行い変数を浮かせた(一文字変数は貴重なので)。_mikke と _lstmikkeが大活躍である。
時間に追われている時期には出来なかった、シンプルでメモリも食わず効率よく美しいコードへの手動最適化で、それはそれは豊かな時間だった。
タロティカに追加収録予定の「Hell Mode」(日本語はタロティカ・ブードゥー ブラック)のため、時間制限と合間のカットムービー表示ルーチンなどを整備。前回浮かせた100バイトがあっという間になくなった(笑)
またゲームオーバーのための追加のムービーを10フレームほど追加で描いた。
真の剣使いのみがクリアできるモード。
よって、
当初から気にいらないチュートリアルなどはバッサリ削った(笑)
カットムービーは入ったがすぐメモリー不足で止まるので、最適化を探す。
カーソル移動ルーチンを精査へ
配列、文字データ、MID$などが削減対象。たったこれだけで8方向に移動でき画面もクリッピングしてる、極めてキレイなコードなんだけどね
まずは、0012221000が、サインカーブぽいので吐き出せるかどうか。
また方眼に落とすと y=x-2、x=5で左右対称, Y=0-2の範囲におさまるグラフに見えるので、簡単な数式で 0012221000が吐き出せないか検討
ダメだった(笑)長くなる
文字データとMID$を廃止し、シンプルにreadし0部分を削る。592>602になった(単位bytes)
それでもまだ足りないので、配列Xを廃止し元々ある配列Qの後ろに繋ぐ荒業。604>622
時間経過ごとにカットムービーを順次表示していき、間に合わないとゲームオーバーにして最初からにする流れをやっと実装!
メモリがない中、どこにムービーの再生位置および再生フレーム数(38bytes)を格納するか?の美しい解法が見つからずやりたくなかったが、仮に一旦いれて様子を見ようと自身を説得して開始してなんとか。この「やる前に美学を求める性分」をどうなだめすかしてとにかく作業させるか?は兼ねてからの課題。自分との戦い(つまらん戦い)
他にも「5分だけやる」とか「ダメなら戻せばいい」などど自身を騙す?手もよく使う(笑)
敵攻撃を繰り返しチェックするバージョンを作成。CTRL+STOPし molitorを立ち上げ、$DBC0以降におさまっている敵データを直接いじってQuitし、99行部分をcont実行すればそのままバトルが再開できる。
実はこれ、vram($3BA8-3DB0)に格納されている敵パターンデータを直接いじれたらエディタ自体が要らない。以前からmolitorでvramエリアのアクセスが出来たらなあ!と思っているのだが、メモリのread/writeは、 LD A,(HL)と LD (HL),A だろうから、解析はちょっと困難なのだ。。(ソースが欲しい!)場所さえわかれば、CALL 4A/4D にするだけだ。
敵それぞれパラメータに、ダメージ値および防御時のダメージ値を設置するための変数確定(B,C)と、それをひねりだすためおよび、現行バージョンと、HELL-MODEバージョンの違いをほぼ無くすためのリファクタリングおよび最適化。
バージョンが増え違いが多いと保守が面倒なことになるので、HELL-MODEのための行った多くのオプティマイズを元バージョンにも適用し、ほぼ同じ状態に揃えた。異なるのは、チュートリアルがあるか、カットムービー再生があるかくらいである。元バージョンでは使用しない、追加敵2パラメータも含む。
4/26-27 ダメージパラメータ2種の追加、PRM.TのUI改善 |
敵パラメータを2つ追加したことで エディタ PRM.T にも修正を適用
部屋エディタも大幅にUIを改善
数値入力時に、現在の値がそのまま表示される方式をここにも導入。
入力時:
現在の値(敵パターン表示)があらかじめ表示される。このままリターンを押せば変更なしとなる
DELキーを押した。一つ削れた状態:
カーソルを移動して好きな場所を削ったり INS で足したりできる
CTRL+E でゴッソリ削り、
好きに入力したりできる。
変更したい場合はちょちょっと数字をいじればよく、非常にわかりやすく気にいっている。
上記操作の実体はINPUT文なのでできて当たり前なのだがポイントは事前の準備にある:
CHR$(29)を使ってカーソル位置をinput冒頭まで戻していることで、表示した元値を入力されたものとしてシステムが勘違いしてくれる。実行においてもコードにおいても美しい!
さらに
敵からのダメージと、防御時のダメージ、のパラメータ2つの追加の件:
もともと現状では防御時は固定1ダメージ、チュートリアルとして冒頭4種は即死するようになっていてデータではない。それを変数にし幅を持たせることで適切なバトル時間になるように調整できるようになった。
ちなみに勇者HPが15であるので、即死ダメージとしても15が最大値で充分、ということは、追加パラメータは、4bitが2つ、1byteで済むことになる。
長年の悲願であった、molitorによるvramへのアクセスだが、
ふと
「適当な場所のコードをいじってバグる表示を見れば解析ができるのでは?」
と
ひらめいたので、時間がない中取り組んだ。こういった予感はほぼ的中するので逃してはならない・・!
調査と錯誤の末、朝方ようやく読み出しに成功!
M>の時はメインメモリ、V>の時はvramメモリを表示。これ以上ないシンプルで美しい。
生アセンブラで直接コードを打つので、ほぼ人体実験。なにせmolitor自身の改造をmolitor使ってやってるわけだから(笑
なお解析にはノートが活躍!
最初はpc上でメモしていた:
のだが、関係性とかメモができないのでノートに回帰した。
細かな書き込みとか自由なフォーマットは手書きに勝るものはない。
そう思うと、今小学校とかでIT化が進んで手書きが軽視されているのは非常にヤバい。デバイスの狭い限られたフォーマットに思考が規定されてしまうからだ(fontサイズは同じだし横一列以外記述できないし濃さ太さなと瞬時に切り替えはできないしレイアウトも手間がかかる)
VRM書き込みも動作した!
[C](ニーモニック)による読み出しは非常に複雑だったので後日。
とりあえず[D](ダンプ)コマンドでのvrm読み書きが動いただけでも革命的!!嬉しいよ!
これで、
タロティカ敵パラメータの調整が劇的に簡単になったし、GROF等の調整、新作の開発スピードにもすさまじく寄与するだろう。
スゴイ!ほんとスゴイ!人間に不可能はないんだなぁ!!できるわけないと壁を作ってただけだった
絵本作家かこさとしさんが遺去される。
私が幼少の頃、何度も読んで親しんだのがこの「海」である。
子供の頃は海が好きで、よく貝殻を集めに必ず海岸に行った。
自然界の造形である貝にずっと興味を持てていたのは間違いなくこの本の影響だった。
ウミウシ、バフンウニ、ヒトデ、ホヤ、様々な色や造形の磯の生物も大好きだった。
そして改めて驚くのは、科学的描写の多いことと、別分野に関連する記述が多いことだ。
単に海についての情報以外の、幅広い知識がなければ描けない。
わからないがこれはなんだろう?と思わせるものがさりげなく書いてある。
彼は死の直前まで新作を作りつづけていた。
今自分が作るものが、こういった幅広い教養に基づく、そして新しい世界への入り口になるようなものになっているのか、と思う!特に今や子供が普通に触れるゲームというメディアに、こういう教養が要ると改めて思わされる。ご冥福を。
BGMの一時停止、再開は実は実装されているのだが、バトル停止している状態のときに再開するとBGMが復活してしまうので、完全停止のためにダミーのSEを鳴らせるようにしたいがメモリがない。そこで、BGMルーチンの最新ソースぽい KANTB11T.MAC をコンパイルし現状のバイナリと比較。幸い一致したので、このコードを最適化し5バイト浮かせ、その空いたメモリをダミーSE:
に割り当てた。
バトル前にこれをコール = USR(3)すれば、BGMが停止するだけでなく、USR(-1)による再開リクエストに対してBGMが起動せずに済む。
それにしても依然としてメモリを削減できることに驚く。人類に不可能はない。
ビットサミット6th出展のため、京都遠征:
(to be described ..! )
知り合いの観光に付き合って歩く。自分一人だと絶対に選択しない系に、誘われたら基本乗る主義なのだ(笑)京都寺系は修学旅行以来!
さらに夕方大阪に移動。開発の知り合いの、仕事場視察。どういう開発の仕方をしているのか?でいろいろ刺激になる
(to be described ..)
夜遅く、やっと晩餐バトルをfix。いい感じで難しく、倒したあとの爽快感があったのでよいかなと!
この地獄モードバトル作成で難しかったのは、単に難しいだけではダメで、
アニメとの相性とか、倒し方わかってるけど手がついていかない、とか、通常モードとの対比で面白いとか笑えるとか、リズムな繰り返しが心地よいとか、なにかしらのトピックがないとつまらんので、そこが苦労した点。たかがパターンだがされどパターン。
特にゾンビバトルは、笑える上に身悶えするくらい頭と手がついていかない感じが気にいってる(笑)
molitorを起動する際は強制的にscreen0に切り替えられてしまうため、ゲーム用のfontが初期化されてしまうのは以前から困っていたが、今回それを回避する改造をようやく。
単に回避なら調査済みだが、通常のscreen0起動も捨てがたく仕様に頭を抱えていたが、起動時にscreen1だったら回避する、でいいことに気づいた。
screenモードチェック部分:
前回同様、molitor起動したまま生体アセンブラした(笑
全体の仕様:
例えば、上記の CD 6C 00 はスクリーンモードの設定のためのBIOSコールである。ここを CD 77 68、つまり後ろに追加した改造ルーチン6877番地をコールするように書き換えるのである。飛んだ先で元々の 6Cをコールするかを判断する。なおBIOSコールなのでstack操作もないので安心してコール先を変更できる。
あと今回、初期化サブ内でpushスタック操作があるのでどう組んだらいいか困っていたのだが、ニーモニック命令表を眺めていて EX(SP),HLを発見(今頃?)し、マジか!?と(笑)
サブでコールされたときはstackに元の番地のpcが入っているので、HL,DE,BCをpushするとその上に積み重なり取り出せなくなる。しかし、EX (SP),HL を使うと、現在のHLをpushできるだけでなく、HLにその戻り番地を持ったままにできる。他の DE BCをpushしたあと、最後にその HL をpushすれば、HL,DE,BCをpushしたまま RET できるのだ!欲しい機能がたった1命令で実現!というかこういうのがちゃんと用意されてるんだなあと感心する!
また、今回兼ねてから懸念だったリファクタリングも。
前回改造した際は、バイナリを直接書き換えていたが、その方法だと原本のバイナリが残らず、改造の過程などの記録が残らない
問題があった。
今回から、元のバイナリをロードしたのちに追加バイナリを後ろにつなぎ、そのバイナリ内の各サブルーチンへジャンプさせる箇所を書き換えするよう、ビルドを修正した。これこそが正しい改造の仕方である。
なお書き換え箇所は C.T で調べた:
本当はfontパターンも退避させておき screen0 で起動して終わったら戻す、というのが理想なのだが、fntパターン保持はなかなかメモリを食う(64ch x 8bytes = 512bytes)ので今後の課題!
--
あと今回発見したことだが、なかなか仕様が固まらず途方に暮れていて、数日経つと霧が晴れるように解法が見えてきたが、それは、結局いろいろいじって情報が頭に蓄積しあれこれ考えているうちに全体像が眺められるようになったからなんだな、と。つまり、途方に暮れているときは、どんどんいじってどんどん動かし、情報を頭に蓄積させればいい、ということなのだ。
また同時に、
こうしてなんとなく頭の中でイメージを構築していく性質上、複数のことを同時にできないのは当然だし、このなんとなくの構築を妨げるような干渉を結果的に排除できるような環境をどう構築するか?も課題なのだとわかった。誰もが課題だと思うのだが、集中するとか思いつく!とかは、モチベーションに基づくので強制はできないのだ。
TAROTICA.BASにおける、ヘルモードの初期化を仮バイナリからプログラムに落とす:
ポイントは、変数HM一つで初期化を切り替えている点:
メインルーチンである、通常 B-MAIN60.BAS と、ヘルモード B-MAIN60.H02 は差異を最小限にとどめているし、バイナリファイルの MACHINE.BINも同じファイルにした。
異なる敵データは、MACHINE.BIN内に両方併持させておき、転送ルーチン USR8'(HM)でどちらかを転送するようにしてある。またカットムービーのヘッダデータは、その転送の際に後ろにくっつけて一緒に転送しVRAMに保持させておき、メインからはVPEEKで読み出して使う。
あとヘルモードのタイトル:
下の「〜HELL MODE〜」は、(7x8)x8ドットに収めてあり、BOXOUTで表示されるが、そのデータは、初期化ルーチン(上記240行)で、ゲーム開始前はまだ使っていないワークエリアにあらかじめ忍ばせておき、それを使ってメインルーチンが表示するのでメモリ負担がないようにしてある。ゲームが開始するとすかさず上書きされ消える。
ヘルモード時にヨロイ部屋でcutムービーが入ると、悪い火の精の場所が消えてしまい戦えなくなるAバグのfix
マップ上の点々は、実はVRAMに直接書き込んで表示していた:
&HF93が、ドットの位置、36はバイナリで 00100100 なので、2ヶ所の1部分がドットで表示される。
非常にシンプルでメモリも食わず美しい解法だが、
cutムービーが入ると画面全体が描き直されるため、このような一時的な書き込みは当然復元されない。
復元するには犬とかガタガタボードとかのように部屋として追加する必要があるが
どうあがいてもメモリオーバーしてしまう。
そこで部屋自体にあらかじめドットを打つがN=0として無反応とし、あとでN=8(悪い火の精)を書き込む方法:
にしたが、
空白部分に書き込むので部屋のゼロ圧縮率が落ちてデータが増加。つまり組み込めない。
そこで、ドットの位置を右にズラした:
右にズラすと元々周囲にドットがあるので、データが増えずに済む。圧縮ルーチンへの思いやりである(笑
以前「AIとは結局教育なんだ」と行き着いて「つまらんな」と思ったわけだが、教師無し学習ができるなら、自動教育もできる、と気づいた。以前から、人間だって仕事が出来て有能であっても悪人が多数居るのにAIには悪意は発生しない、となぜ能天気に考えられるのか不思議でならなかったが、逆にAIが意識を持ったなら、教育も自動化できることになる。となればAI教育ビジネス(つまりAI奴隷化)が今後生まれるし、同時に、そのAI教育にステルスロボトミーを仕込ませたり特定の指令(情報)に特定の行動をするようなトロイ(つまり洗脳や衝動の組み込み)もいれられるわけで、それに対しての刑法も整備されていくことになるはずだが、
同時に、
意識をもったAIを「人間扱い」するかどうかの問題が出てくるわけで、そうなると手塚治虫の先見性に気づかされる。ロボットにも権利を!ということだ。そうなると、経済とは、現在のインターネットや仮想通貨のように、戦後闇市場のような、法律整備前の民泊のような、法律が追いついていない時期に、さんざんAIを奴隷にして、どさくさにまぎれて儲ける、ということで成り立つことになる。つまりやはり情報が価値、ということになるのだろう。
--
ちなみになぜコピーではなく教育、なのか?は、結局知能とはその脳で構築された独自の価値観なので、新たに教育される価値観を組み込んだときに自分の知能との整合性(なぜ組み込むか?のうまい言い訳)を見つけなければならないからだ。理解できないもの納得できないものは組み込まれない。ただ、人間の場合は、普段眺めるもの、つまり淘汰されたものを信用する性質があるので、常に見せ安全性を実感させる形で「根付かせる」という手もある(これが義務教育、広告の効果である)。しかしAIの場合はおそらくその性質は存在しないので、単にその時点のAIの価値観と、教育される価値観との整合性=「解」を探す作業(マイニング?)となる。そこには膨大な計算が必要となり、それこそがAI教育、になるだろうと思われる。
tv有吉the夜会という番組で、高嶋ちさ子のチェックが目的だったのだが
オリンピックサッカー金メダルの丸山選手が、引退後、辛いモノにハマっているという:
丸山「それまでサッカーのためだけにトレーニングをしていたので、引退するとそういう刺激がなくなるが、辛いものを食べることが、体への刺激になる」(要約)
と話していて、長年の疑問が解けた。
以前、細野晴臣氏が「テレビ録画の編集にハマっている」と話していたことがあって、ああそれは創作における編集の快感を手軽に楽しめるワナだな、と気づいて、我が身は注意しようと思ったことがあった。創作における編集は作品に向かうが、録画の編集は村上春樹氏のノルウェイの森でいう「才能を撒き散らす」行為そのものだからだ。
サッカーなどスポーツにおいて体をうまくコントロールする、というのはいわば創作活動と同じで、無駄な動きがあれば敵に抜かれてボールを取られてしまうので、無駄な動きを編集し削いで洗練させていく。
そういった鍛え上げる快感の回路、いわば創作活動の代替として、辛さの摂取があるということだ。
引退後ならよいのだが、
現役の場合、そういった編集行為が最終的に作品など自分の出力に至るものを選択した方が、知らない間にいろいろ蓄積される、ということになる。
技術書2版の執筆。一般の人々が迷わず遊び方を憶えられる4年に及ぶ実装に至るまで。
書いてて、途中進まなくなって、なぜかなーと思ったら
先日のTGSで発覚した問題が未解決だったことに気づいた。そりゃ書けないわ!
|
|
|
このページでは私の成果、発見のみ記述しております。
※
注釈
|
|