2026:02:18
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| 2026:02:18 [2026/02/18 23:13] – 作成 machiaworx | 2026: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