ユーザ用ツール

サイト用ツール


2026:02:18

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
2026:02:18 [2026/02/18 23:13] – 作成 machiaworx2026:02:18 [2026/02/19 22:19] (現在) machiaworx
行 3: 行 3:
 ===== プログラム ===== ===== プログラム =====
   * グラフィック自力描画、かなり実装が進んだ。   * グラフィック自力描画、かなり実装が進んだ。
-  * ゲーム開発のリハビリの予定がだいぶいいものになった。+  * ゲーム開発のリハビリの予定がだいぶいいものになった。(本来ならリリース準備進めなきゃなんだけどね)
  
 ---- ----
行 10: 行 10:
   * 次に、描画スレッドとゲームスレッドを分割して同時並行で走らせることにした。   * 次に、描画スレッドとゲームスレッドを分割して同時並行で走らせることにした。
   * これで描画周りでゲームフローが阻害されることがなくなったし、描画用CPUコアのL1キャッシュに乗るのが画像データだけになったので動作が早くなった。   * これで描画周りでゲームフローが阻害されることがなくなったし、描画用CPUコアのL1キャッシュに乗るのが画像データだけになったので動作が早くなった。
-  * あとは、画形式を定めた。今のところ32768色の割当をTrueColorに変換する形で対応してる。+  * あとは、画形式を定めた。今のところ32768色の割当をTrueColorに変換する形で対応してる。
   * 256色というのが一番仮想スクリーンの容量が軽いんだけど、カラーテーブルを決めるのに時間がかかりそうなので、できるだけ今の画素を有効活用したいという考えでいる。   * 256色というのが一番仮想スクリーンの容量が軽いんだけど、カラーテーブルを決めるのに時間がかかりそうなので、できるだけ今の画素を有効活用したいという考えでいる。
   * なので、32768色の情報を格納する変数を作って、それをTrueColorのデータに変換する関数を作成して、画素を読み込ませることにした。   * なので、32768色の情報を格納する変数を作って、それをTrueColorのデータに変換する関数を作成して、画素を読み込ませることにした。
   * 最初どれが正解かわからなかったので、画素を格納する変数に直接値を代入して色を確認、そこから予定通リデータを変換できるかを確認しながら実装していった。   * 最初どれが正解かわからなかったので、画素を格納する変数に直接値を代入して色を確認、そこから予定通リデータを変換できるかを確認しながら実装していった。
 +  * 結局5bitで値を持って、最終的に32bitに変換する形で対応している。これならテーブル持たなくていい。
   * もはやハードウェアに近いところまで(グラフィック描画システムに近いところ)再実装してた感じになった。   * もはやハードウェアに近いところまで(グラフィック描画システムに近いところ)再実装してた感じになった。
   * グラフィック周りは線と円、矩形も描けるようになったので、最低限ベクタスキャンみたいなゲームなら作れそうな気がする。   * グラフィック周りは線と円、矩形も描けるようになったので、最低限ベクタスキャンみたいなゲームなら作れそうな気がする。
-  * ついでにXor演算もできるようにしたので、マスク的な演出もできる。+  * ついでにXorな描画もできるようにしたので、マスク的な演出もできるし、真っ黒を透過色にしたので、透過色で塗ればそこの部分が描画されてない扱いとした。これでちょっとした工夫ができそう
  
 ---- ----
行 24: 行 25:
   * 一週間もしないうちにここまで作れるとは思わなかった。   * 一週間もしないうちにここまで作れるとは思わなかった。
   * 時々アドバイスくれてたそらのちゃんに感謝。   * 時々アドバイスくれてたそらのちゃんに感謝。
 +  * あと今回AIに試しにきいてみることもしてみた。
 +  * たまに嘘のプログラム書かれるけど、ざっくりと処理方法を理解するのに便利だった。
2026/02/18.1771424026.txt.gz · 最終更新: 2026/02/18 23:13 by machiaworx