ブログ

  • 7月1日(木)0:12

     『DENiM』に,マリオの生みの親の宮本茂さんが出てた。

     もう7月。1993年も半分が過ぎた。

     ああ,はかない。

     夏至は6月21日だった。昼は短くなるばかり。

     最近は雨の日が多い。

     8月15日までに完成するのだろうか。

     あと1ヶ月半。試験もある。

     幸せってなんだろう。

     どうなったらもっと幸せだろう。

     ハッチを6発で倒せるようにした。

     ハッチから出てくる敵をやった。

     草野郎をミサイルでもちゃんと倒せるようにした。

    >・以前、「動きが違う!」と言った敵のアルゴリズム
    >
    > X軸方向に関しては、一定のスピードで移動する。
    >
    > Y軸方向に関しては、自機のいる方向に動く。動きには慣性がついている。

     一応そうなってるけどなぁ。たぶん本物よりY方向の加速度が大きいのかもしれない。

    16:01

     途中でぐるりと一回転する奴をやった。

     石床の落下速度はもっと遅い方がいいのかな。

    16:59

     ハッチが開くようにした。

  • 6月28日(月)3:29

     バージョンの新しいのを持ってる方が古いのを持ってるより偉いのだろうか。そんなことはないと思うが「コレクター」の考えは違うようだ。「バージョンいくつ使ってる? え,もう X.XX が出てるよ」。嗚呼。

     TITLE.SYS 作成用ツール MT をディスク(BIN)に入れておくので,頑張ってね>AFX。

  • 6月27日(日)0:08

    ソースを見直して若干の高速化を施した。

    MAPED で,画面上の数字チップをゲットすると,その姿がわかるようにした。

    メニュー上の数字のゲットを右クリックでも出来るようにした。

    1:26

    3面の柱のプロトタイプが進化した。ほとんど本物そっくり。泣きたいくらい美しい(笑)。

    とりあえずハッチが出るようにした。

    68000は,

    D0~D7 :8つのデータレジスタ 32bit
    A0~A7 :8つのアドレスレジスタ 32bit
    PC  :プログラムカウンタ 32bit
    SR  :ステータスレジスタ 16bit

    のレジスタを持っている。

    move という命令を使って,

    move.l #1,d0

    を実行すると,d0 レジスタに1が入る。

    .l とは,サイズが 32 ビットということだ。

    .w なら 16 ビットであり,

    move.w #1,d0

    は,d0 レジスタの下位 16 ビットに1を入れる。

    move.b #1,d0

    なら下位8ビットだ。

    .w , .b の場合,対象外の上位ビットは変化しない。

    #1 の # は,即値(イミディエート)すなわち,1という値そのものを意味する。例えば # がない,

    move.l 2,d0

    の場合は,メモリの2番地の内容を d0 レジスタに入れる事を意味している。2 はアドレスを意味しているのだ。

    move.l #1,d0
    move.l #2,d1
    add.l d0,d1

    add 命令によって,d1 レジスタに 1 + 2 = 3 が入る。add 命令は,d1 = d0 + d1,一般的には,第2オペランド=第1オペランド+第2オペランド,を行う。

    MAPED で,両ボタンを押さないと終了しないようにした。

    敵の点数をすべて100点にした。

    14:32

    砲台のアニメーションが完成した。美しい。

    16:35

    「或いは歩み,或いは立ち,或いは座り,或いは臥し,身を屈め,或い
    は伸ばす,──これは身体の動作である。

    身体は,骨と筋とによってつながれ,深皮と肉とで塗られ,表皮に覆
    われていて,ありのままに見られることがない。

    身体は腸に充ち,胃に充ち,肝臓の塊・膀胱・心臓・肺臓・腎臓・脾
    臓あり,

    鼻汁・粘液・汗・脂肪・血・関節液・胆汁・膏がある。

    またその九つの孔からは,つねに不浄物が流れ出る。眼からは目やに,
    耳からは耳垢,

    鼻からは鼻汁,口からは或るときは胆汁を吐き,或るときは痰を吐く。
    全身からは汗と垢とを排泄する。

    またその頭(頭蓋骨)は空洞であり,脳髄にみちている。しかるに愚
    か者は無明に誘われて,身体を清らかなものだと思いなす。

    また身体が死んで臥すときには,膨れて,青黒くなり,墓場に棄てら
    れて,親族もこれを顧みない。

    犬や野狐や狼や虫類がこれをくらい,烏や鷲やその他の生きものがこ
    れを啄む。

    この世において智慧ある修行者は,覚った人(ブッダ)のことばを聞
    いて,このことを完全に了解する。何となればかれは,あるがままに見
    るからである。

    〈かの死んだ身も,この生きた身のごとくであった。この生きた身も,
    かの死んだ身のごとくになるであろう〉と,内面的にも外面的にも身体
    に対する欲を離れるべきである。

    この世において愛欲を離れ,智慧ある修行者は,不死・平安・不滅な
    るニルヴァーナの境地に達した。

    人間のこの身体は,不浄で,悪臭を放ち,(花や香を以て)まもられ
    ている。種々の汚物が充満し,ここかしこから流れ出ている。

    このような身体を持ちながら,自分を偉いものだと思い,また他人を
    軽蔑するならば,かれは〈見る視力が無い〉という以外の何だろう」

    (『スッタニパータ』,中村元訳)

    「電脳空間で,肉体を離れた歓喜のために生きてきたケイスにとって,
    これは楽園追放だった。それまで腕っこきカウボーイとして出入りして
    いたバーでは,エリートは,ゆったりと肉体を見下す風があった。体な
    ど人肉なのだ。ケイスは,おのれの肉体という牢獄に堕ちたのだ」

    (ウィリアム・ギブスン,『ニューロマンサー』,黒丸尚訳)

    18:05

    2面の細胞野郎が出るようにした。

  • 6月24日(木)21:56

     部室で,噴火口と噴火をやった。ミサイルを1発にした。

     今,ミサイルで赤砲台を倒したらカプセルになるようにした。石像にミサイルが当たったら,ミサイルを消すようにした。

    22:28

     飛び上がる赤い奴と飛び下がる赤い奴が出るようにした。

    22:42

     赤いタンクが出るようにした。

  • 6月21日(月)18:27

     例によってノーマルショットでだけだが,2面の道をふさいでる BG を消せるようにした。

     3面の柱のプロトタイプが出来た。

    20:29

     ソースを見直して若干の高速化を施した。

    ☆「68000 プログラマーズハンドブック」(青本) 技術評論社

    ☆DOS コール, IOCS コールを解説した本(XC のプログラマーズマニュアルなど)

     があれば,アセンブラでプログラムが書ける。

    ☆「Indide X68000」 ソフトバンク

     を加えれば,ハードを直接いじることが出来る。

    ☆「プログラミング言語C第2版」 共立出版

     を加えれば,Cもばっちりだ。

     あとは,グラフィックや音楽の出来る人を見つけてくるか,自分で修業すれば,大抵のゲームは作ることができる。

  • 6月20日(日)17:42

     パソケ32に行ってきた。そんな画像を見てて面白いか?

     あんな所でグラ2を売りたくはないな。

     コナミとか電波とかOh!Xとかの,「わかる」人達に見てもらいたい。

     ゲームプログラマーってのは,なんか寂しい職業の気がする。

     石像の縦の間隔をつめてみたが,画面の縦幅が広いせいか,しっくり来ない。縦1列に2体ずつにしてみるか。スプライトと敵数をくうが,仕方ない。

    22:52

     縦に2体ずつにした。具合いがいいがキャラ落ちする。一体で10枚はきつい。きついが仕方ない。どうしよう。

     うまくいかないので非常に悩んだ末,特殊プライオリティによって,パワーゲージとスコアのプライオリティを最も高くすることが出来た。

     パレット番号の最下位ビットが特殊プライオリティ領域か否かの判別に使われるため,実際に表示される色は最下位ビットが0の偶数パレットだったのだ。

     偶数パレットを全部黒にしておいたものだから,グラフィック面は何も表示されず,ただ長く苛立たしい時が流れた。

     で,256 色モードにしなければならない。色が足りないのだ。256 色モード2画面のうち,1面をゲージ&スコア,1面を星や背景,に使う。

     ゲージとスコアは奇数パレットで書き,しかもそのパレットとそのパレット-1の色は,同じ色にしておかなくてはならない。星や背景は,偶数パレットで書かなくてはならない。

     セガの体感ゲーム開発者が「イタリアの高級スポーツカー」をセガに買ってもらってたそうだ。テスタロッサだろうな。

     僕もフェラーリとは言わないからホンダ・ビートが欲しい。トゥデイ・アソシエでもいい。「愛と,冒険と,おつかいに」。いいコピーだ。買ってね>AFX 。会社(ってなんだろう)の経費で落とせばいいからさ。

     いいコピーだが,画一化された人生,というものも感じる。みんなそれぞれの役(ロール)を演じて(プレイング)いるだけ,自分で規定した(もちろん他からの影響もある)自己像を生きているだけだ。

     駄目な奴だと思われ続けて,自分でも自分が駄目な奴だと思い始めたら,もう駄目な自分という人生を送るしかない。それをくつがえすのは困難だ。意識の深い部分にまでネガティブな自己イメージが染み込んでしまったら,それを変えるのは難しい。

     だからいつも,明るく楽しい気持ちでいなければならない。否定的な自己像など,一瞬だって抱いてはいけないのだ。

  • 6月19日(土)9:18

     草野郎がちゃんと爆発するようになった。ノーマルショットじゃないとだめだが。

    20:11

     3面の石の落ち方が本物そっくりになった。ちゃんと途中で止まる。「石の下に BG があるかどうか」を判定しているからだ。従って,石の下に何かあると石は落ちない。現在は,石を落下させるために,柱を消してある。

     落下音は,今までは最下段まで石が落ちたら鳴らしていたから,今は鳴らない。「石が落ち始め」て,「何かの上に乗っかったら」,音を鳴らすようにしなくてはならない。

     「石が落ち始め」たのを確認しないで,ただ「何かの上に乗ったら」鳴らすと,初めっから鳴りっぱなしになる。ガンガンいって道路工事状態になるんじゃないだろうか。ガンガンじゃなくてガガガガガってなるか。

     3面で砲台が点滅するのは何なんだろう。石の落下判定が重いからと思っていたが,そうではなさそうだ。

    20:58

     石の落下音がちゃんと鳴るようにした。美しい。

     4面の氷石が飛んでくるようにしたが,まっすぐ水平に飛んでくるので間が抜けている。

     氷火山の噴火口がどれかわかんない(^^;。わかるようにしておいてください>AFX。飛んでくる氷石と噴火口から吹き出す氷火山弾のスプライトは一緒なのかな。

  • 6月17日(木)4:23

     草野郎って何発で死ぬのかな。今は10発で死ぬようにしてある。あと,草野郎に弾を当てると,音がしたような気がする。

     レーザーは自機の普通の弾何発分に相当するのだろう。1発と同じかな。貫通するだけで。

     石像が弾を吐く音,草野郎が伸びる音を出すようにした。これらの音や3面の石の落ちる音は,優先度を高くした方がいいかもしれない。

    20:53

     MAPED で使用するスプライトとパレットのファイル名を,MAPED.SP,MAPED.PAL に変えた。

  • 6月14日(月)0:27

     結局, UP LASER の高速化を少しだけやった。バグはあるのかないのかわからない。

     あと2ヶ月で完成するのだろうか。しないだろうな,たぶん。

    15:13

     石像のコードを後ろに回して,敵の種類に余裕を持たせた。現在 GRA2 では,約100種類の敵を扱っている(含むダミー)。後ろに回したことによって,石像に当たり判定がなくなった。

     3面の落下する石を少しやったが,フクザツなので頭がパンクして諦めた。だが,そのうち出来るだろう。

    16:13

     赤砲台が出るようにした。普通の敵は死んでもカプセルにならないようにした。途端にゲームの難易度が上がった(笑)。

    19:46

     落ちる! 3面の石が落ちる! 柱を壊さなくても落ちる!(笑)

     石の落下音が小さい。BGM ももう少し大きくして欲しい。ゲインが小さいと印象が薄くなってしまう。

  • 6月13日(日)15:47

     MAPED のバグを取った。

     草野郎(下向き)も伸びてきて弾を撃ってくるようにした。

     さてこれから,

     敵と敵弾あわせて32個までしか出現できないのを64個までにする。

     3面の石を落下させる。

      ai_m2.txt(辞書)の末尾は,ヴェノム[人名]だった。

     デモのニューバージョンが手に入った。宙図のところがいい。ちゃんとヴェノムが逃げて侵攻してくる線が表示されるようになっている。

     わたりんのドキュメントは最高に面白い(^_^)。 「時はソーメンのように冷たく流れている」は名言だ。詩を感じる。

     敵・敵弾あわせて64個まで出現するようにしたら,ついに「処理落ち」が発生するようになった。かっこいいぜ(笑)。

     処理落ちとは,表示期間中の移動処理が,帰線期間の始まるまでに終わらないことだ。

    1:移動処理(表示期間)

    2:帰線期間だったら表示期間を待つ

    3:表示期間だったら帰線期間を待つ

    4:表示処理(帰線期間)

    5:goto 1

     プログラムは以上のような構造をしているので,処理落ちすると,3でむなしく表示期間中なにもせず空きループになり,スピードがガクッと落ちるのだ。

     アーケードのグラディウスでは処理落ちが頻繁に発生していた(ダッカーが出たくらいで起きてた)が,それと似たような状況になっている。

      MPU の余裕表示をやめてみてまだ処理落ちするようなら,敵数を64じゃなくて48ぐらいに減らしてみる。

     くそ,やめてもまだ処理落ちする。まるで沙羅曼蛇だぜ。

     各敵の移動ルーチンで,破壊していいレジスタは保存しないようにして,少し高速化してみた。しかし,まだ処理落ちする。

     レーザー関係を撃つと処理落ちするので,レーザー関係を高速化してみる。それでも落ちるなら,減数手術だ。

    23:10

      500K ばかり NCS-NET のログを読んで疲れた。江藤さんは腎不全で亡くなったことがわかった。

     もう頭がよく働かないので,レーザー関係の高速化は諦めて,減数手術を行った。処理落ちは起きているのか起きていないのかわからない程度になった。

     ただ,2面の草野郎が「キャラ落ち」する。弾の量が多いからだろう。減らせばなんとかなるはずだ。

     弾数を減らしてOKになった。

      UP LASER の敵との当たり判定にバグがあるようだ。左端で画面から消えようとする石像が壊れた。