====== ハイハイスクールアドベンチャー WIndows版 ====== ===== 概要 ===== 様々なプラットフォームに移植し続けているハイハイスクールアドベンチャーですが、待望の(?)Windows版の登場です。 [[ハイハイスクールアドベンチャー SDL版]]を作った勢いを買って、Windowsネイティブ版を一気に作り上げました。 開発は Visual Studio 2022 Community Editionを使い WPF版として実装してあります。 {{ ::hhsadvwin:hhsadvwin.png?400 |}} ===== 遊び方 ===== インストーラを作ってないので、[[https://github.com/wildtree/HHSAdvWin.git|GitHub]]から一式を取り出したら、VIsual Studioでビルドし、AppData\Local\HHSAdvWin を $env:LOCALAPPDATA\HHSAdvWin にまるっとコピーしてから実行してください。 そのうち気が向いたらインストーラを作るかもしれません。 ===== もろもろのこと ===== ==== 移植 ==== Windows版は、ほぼ[[ハイハイスクールアドベンチャー SDL版]]からの流用でできています。 このゲームの実装に当たっては、ダブルバッファを使って、任意のピクセルに点を打ったり、打たれた点の色を読み出したりできるかどうかが鍵なのです。 SDL2版を作ったときに、もうこれでWindows版っていっていいんじゃないのか?と思ったのですが、SDL2-CS.dll, SDL2.dll, SDL2_ttf.dll, SDL2_image.ddl, そして SDL2_mixer.dll ととにかく依存するライブラリの多いこと。 遊ぶための手順が多いのと、そこら辺からDLLを拾ってくるリスクを考えると、やっぱりネイティブ版を作った方がいいのではないか? そう思ったので、Windowsのビットマップイメージに対して、ダブルバッファでの読み書きが可能かどうか AIに尋ねたら、できるよ、というので、実験コードを作って、思ったように動くことを確認し、一気に移植しました。 そもそも、SDL1番も C#で開発しており、SDL2にべったり依存している部分以外はそのまま流用可能なので、移植にかかった時間は非常に短かったといえます。 SDL2に依存していた描画、サウンド機能、そしてイベントループはすべてWPFのそれで置き換わっています。 さらに、SDL2版では実装がめんどくさすぎてさぼっていた、設定画面を含む、ダイアログなどの様々なウィジェットを利用可能。 実装難易度はSDL2比でずっと低かったです。 最初からこっち作っとけよって感じでした。