Knowledgeゲーム制作に関するプログラミング等を主に書き溜めていきます。どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。05:00実際のプログラミングで最初に着手したのはサウンドドライバでした。これは昔、サウンドを最後に組み込んだところ、ある程度ゲームが出来た後でサウンドを組み込んだら、CPUパワーを一気に20%近くも持っていかれて、ゲームが全体にもっさりして大変な目にあっという反省から、以後はサウンドドライバから作るようにしています。サウンドサウンドドライバを作ろうと、PCG8100の仕様を調べて愕然としました。初期型だったため、1音しか発音しないハードだったのです。音量変更という概念はありませんでした。これではトレモロは実装できません。発音周波数の値を入れたらその音程が鳴るわけでは無く、なにかしらの計算を元にした値を入れないと目的の音は出ず、おまけに私は作曲の能力は無いときました。いうか、当時の私はどうやって音程を決めてたのか。困った、困りまくりました。高速に切り替えて、なんとなくトレモロっぽい効果を出す事にしました。していたので、音程周波数の出し方が分からないと嘆いていたところ、フォロワーさんから音程計算式を教えて頂きました。これが一番大きかったのですが、私は音楽は作れないので誰か助けてーとツイートしたところ、プリンセスメーカーの作曲で有名な梶原正裕さんが「私が作りますよー」と手を上げてくださった事です。これは本当に大きかったです。してほしいと依頼されました。以下、意訳も入ります。3連符必須に頭を抱えました。割り切れる数値にしないといけないのです。これに当然のように付点指定が入ります。付点とは、簡単に言うと音長のカウンタ値を3倍して2で割った長さにする事です。いう数にまつわる処理が多いのです。関連する処理は苦手だったりします。Tick値(カウンタ値)を曲毎に変更したいときました。L1長さを変更可能にしないといけない。それ以上に問題があって、既に完成していたサウンドドライバは、以下の問題を抱えていたのです。ドライバの開発に着手しました。既存のドライバから以下の機能向上を目標にしました。梶原さんの要求仕様は全て盛り込むその上で出来ればエディタ上で仮演奏させるMML処理部と発音部を完全に切り離す毎回呼び出される処理なのでもっと高速化ずっとメモリに常駐するのでもっと省メモリむちゃくちゃですよね...。達成するために仕様切りから始めました。策定した仕様は大まかに以下の通りです。2週間で出来てしまいました。この超高速開発の裏には、梶原さんの的確なバグ報告の賜でもありました。ご自身もドライバ作成されているので、内部構造的な指摘も多数頂き、殆どのバグは瞬殺(修正に1分かからないとか)出来たのは大きかったです。どこまで当初目標を達成出来たでしょうか。データの圧縮に関しては、内部の閾値に関しても梶原さんのアドバイスが効きました。開発は終始楽しく進める事が出来ました。原画デザイン1980年当時は私もそれなりにドットを打てましたが、近年の専業化により私如きのドット絵では、なにより私自身が納得できない状態でした。これが私のドット絵だったりします。ヘッタクソでお恥ずかしい限りです...。探索したところ、この絵が目に入ったのです。制作者はボマーンさん。彼が作ったドット絵がこちらです。本当に素晴らしいですよね!その後、ボマーンさんが本業の執筆で忙しくなったため、ボマーンさんが手招きして引き込んだのがしおQさんでした。ボマーンさんの数多いタイトルから季節柄こちらをチョイス。タグクラウドAILZ80ASMAndroidBASICC#C言語C言語講座DIYJsonMarkdownMZ80CNASNewシティヒーローPC6001PC8001PC8001mk2PCG8100PS2RPGVS2022VSCodeWindowsXperiaZ80お祝いお買い物ちらつきアイテムアセンブラアルゴリズムエミュレータオーダリングテーブルガスレンジガス器具ゲームゲームデザインゲーム制作ゴルフサウンドシリアライズタスクトレイツールテストデザインデバッグデータ圧縮データ構造トレーニングパソコンミニパーツフリーフリーズプログラミングプロジェクト管理プロトタイプ宣言ポインタマップエディタメモリ空間モニターアームラズパイリスト構造リフォームルーターループレトロPCレトロPC開発でカセットにデータを記録する環境を作ります。sapm防止のため手入力してください。リンで利用することは禁止いたします。各記事に直接飛んでくるのはOKです。何かございましたら、上記メアド宛にお気軽にお問い合わせください。レトロPCゲーム制作に使って頂く分には、ドンドンご自由にお使いください。