ゲームクリエイターになる登竜門として、ゲーム学科がある専門学校に進む人はそれなりに多いです。夢を追い求めるのは結構ですが、だいたい最初の1年で現実を突きつけられて、夢は夢としてちょっとコンピュータに強い一般職として、ゲーム業界以外に就職していく人は本当に多 ...
カテゴリ: Programming
素数算出と実行速度の差
某所で素数を列挙するプログラムを見かけて、自分も作ってみようという気になりました。また、ついでに C言語、C++、C# でも同じように作成して、そのコードの違いや実行速度の差を検証もしてみました。私の当初の予定では、圧倒的に C++ が高速だと思ってました。さて、その ...
ALG データ圧縮の考え方
データ圧縮する際に最初に考えるのは「まとめる」事と同じ表現をより小さい値に「置き換える」事です。一箇所指定したら、周辺にドドドッと配置してしまえば、それだけでかなり省メモリです。座標系が1024x512だと座標系はデータが大きいですが、前回のデータからのオフセッ ...
80mk2 1200baudで読み込ませる
PC-8001 シリーズの中で唯一 mk2 だけが 1200baud でのカセット読み込み機能を有しています。ですが、折角の 1200bayd 読み込みは、N80-BASIC では使用されず封印されています。今回はその 1200baud を使って、様々なゲームを読み込ませる手法について解説します。 ファン ...
プログレスバーの工夫
プログレスバーとローディングアイコンを合体させたのが、今回の XeGrader のスライムです。プログレスバーはどこまで読み込んだかが分かるのは良いのですが、カセットだと時間がかかりすぎるので、バーの動きが少なくて、暴走してても気が付きにくいです。ではと、ローディ ...
Z80 除算アルゴリズム
乗算に続いて今回は除算、そう割り算です。割り算はA÷Bだと、AからBを何回引けるかという計算なので、単純にA-Bを引けなくなるまで繰り返すと答えが出ます。これまた簡単です。この処理も乗算の時と同様に、最大で256回ループする可能性がある(1で割れば…ですが)ので、こ ...
Z80 乗算アルゴリズム
乗算って、例えばA×Bってのは、AをB回足したのと同じだから、単純に掛ける数の回数で掛けられる数を加算すると、これで答えが出てしまうんです。簡単ですよね。 ただ、この処理系だと最大で256回ループしてしまうので、それを何とか減らしたいワケです。今回はこの乗算につ ...
BEEPで音階を奏でる
PC-8001mk2でゲームを制作する上で、避けては通れない問題、それがBEEPを使った音楽再生です。この機種は音を出す方法が 2400Hzという固定の周波数しか出せない BEEP のみなのです。まあ、カセットのリレーを使ってカチカチと音を出せなくはないのですが、それはとりあえずこ ...
80mk2 ゲームの制約と効果
現在、80mk2 専用で開発を進めているゲームですが、実は当初 60mk2 で全ての面が同時接続状態の広範囲で動ける内容で作ろうと考えてたモノでした。ところが 60mk2 ではあまりに荷が重くて挫折。今回ターゲットを 80mk2に変更してCPUパワーは上げたものの、あの時の反省と教訓 ...
80mk2 フォントのサイズ削減
このフォントデータの無駄に気が付いたので、データの削減を行うことにしました。この状態ではデータのサイズは 84バイトです。文字のサイズは 4×7ドットです。横4ドットは PC-8001mk2では 1バイトです。そのため、1文字のデータサイズは 7バイトで、それが 12種類あるので ...








