ユーザ用ツール

サイト用ツール


2026:02:18

2/18日記

プログラム

  • グラフィック自力描画、かなり実装が進んだ。
  • ゲーム開発のリハビリの予定がだいぶいいものになった。(本来ならリリース準備進めなきゃなんだけどね)

  • まずピクセル格納領域の容量を下げて高速化した。
  • これは、単純にメモリアクセスが重かったため、効果が十分にあった。
  • 次に、描画スレッドとゲームスレッドを分割して同時並行で走らせることにした。
  • これで描画周りでゲームフローが阻害されることがなくなったし、描画用CPUコアのL1キャッシュに乗るのが画像データだけになったので動作が早くなった。
  • あとは、描画形式を定めた。今のところ32768色の割当をTrueColorに変換する形で対応してる。
  • 256色というのが一番仮想スクリーンの容量が軽いんだけど、カラーテーブルを決めるのに時間がかかりそうなので、できるだけ今の画素を有効活用したいという考えでいる。
  • なので、32768色の情報を格納する変数を作って、それをTrueColorのデータに変換する関数を作成して、画素を読み込ませることにした。
  • 最初どれが正解かわからなかったので、画素を格納する変数に直接値を代入して色を確認、そこから予定通リデータを変換できるかを確認しながら実装していった。
  • 結局5bitで値を持って、最終的に32bitに変換する形で対応している。これならテーブル持たなくていい。
  • もはやハードウェアに近いところまで(グラフィック描画システムに近いところ)再実装してた感じになった。
  • グラフィック周りは線と円、矩形も描けるようになったので、最低限ベクタスキャンみたいなゲームなら作れそうな気がする。
  • ついでにXorな描画もできるようにしたので、マスク的な演出もできるし、真っ黒を透過色にしたので、透過色で塗ればそこの部分が描画されてない扱いとした。これでちょっとした工夫ができそう。

  • これでようやく画像読み込みも作っていいかもしれない。とは言うもののまず32768段階の値に変換しないとダメなので、データ変換用ツールから画像読み込んで貼り付ける仕組みを作るのには時間かかりそうな気がしてる。

  • 一週間もしないうちにここまで作れるとは思わなかった。
  • 時々アドバイスくれてたそらのちゃんに感謝。
  • あと今回AIに試しにきいてみることもしてみた。
  • たまに嘘のプログラム書かれるけど、ざっくりと処理方法を理解するのに便利だった。
2026/02/18.txt · 最終更新: 2026/02/19 22:19 by machiaworx