どのタイミングでそうなったのかわからなかったのですが、表題の通り VS2019 で新規で UWP プロジェクトを作成して実行してもエラーで実行できませんでした。Windows を再起動してもダメ。
とりあえずネットで探して以下のページで紹介されている内容で対応しました、
]]>調べてもあんまり情報がなかったのでとりあえず一番簡単な方法で Microsoft ストアに公開できる手順をまとめてみました。Desktop Bridge を使っていますが、2~3年ぐらい前に比べると簡単に行えるようになってるみたいです。
ただやってみた感想としては100%そのまま移行できるというわけではなく、いくつか修正が必要な場所が出てくるところがあります。特にプログラムの実行場所がユーザーフォルダでもなく Program Files でもなく UWP のインストール場所になるので、プログラムの配置場所に依存するコードを書いてたりするとそのまま動かなかったりします。インストールしてのデバッグ実行は可能なので公開前には動作確認を行った方がよさそうです。
------------------------
]]>
ゲーム「リトルセイバー」の開発も佳境に入り2月に公開を予定しておりましたが、予想以上にゲーム制作のほうに時間が取れなかったのとテストに時間がかかっていることもあり、2月の公開が難しい状況となっております。そのため、ゲームのリリースは3月にずれ込む見込みとなってしまいました。ゲームの公開とプレイを楽しみにされていた方申し訳ありませんでした。
とはいうものの何もせずにそのまま3月に流してしまうのも申し訳ないので、本来完全版と体験版のリリースを同時に行う予定でしたが、先に体験版のみをリリースしようかと思います。
体験版の公開日については2月ぎりぎりの28日をめどに公開を予定しています (とはいっても平日にとれる作業時間が皆無なのでこれも厳しいと言えば厳しいのですが…)。体験版の中身については1月に仙台コミケで配布した体験版CDからいくつか修正の入った Ver 1.01 版となります。Ver 1.00 と同様最初のいくつかのステージが遊べるようになっているのとイベントシーンなどが省かれたものとなっています。主に戦闘などをメインに遊べるバージョンとなっております。注意点としてはセーブデータは完全版のほうには引き継ぐことはできません。
完全版のリリース時期についてはもう2~3週間ほど先になるかと思います。申し訳ありませんがそれまでもう少々お待ちください。
]]>なんとなくメモ書きです。
リトルセイバーは MonoGame で制作しているのでフレームワーク的には他の環境でも動くようにはなっているのですが、一部 C++ でごり押ししているところがあるのでその部分は環境ごとに実装しないといけないようになっています。
今のところリリース対応プラットフォームで確定しているのは「Windows 10 (UWP)」と「Windows 10 Mobile (UWP)」のみなのですが、ほかの環境にもリリースしたいなーという思いはあります。
とりあえず対応環境ごとにリリースするかを希望、期待値を込めて数値にしてみました。数値が高いほどリリースする可能性は高くなってます。
プラットフォーム | 期待値 |
---|---|
Windows 10 (UWP) | 100% |
Windows 10 Mobile (UWP) | 100% |
Windows 7, 8.1, 10 (デスクトップ) | 90% |
Windows(?) (Steam) | 20% |
Android | 20% |
iOS | 0% |
Xbox One (UWP) | 80% |
Windows Vista 以前 | 0% |
Windows Phone 8.1 以前 | 0% |
その他コンシューマゲーム機 | 1% |
Linux | 1% |
macOS | 0% |
Silverlight | 0% (開発版のみ) |
上記の数値はなんとなくで決めているのでリリース後の状況に応じて変わる場合もあります。
Xbox One は理論上動くはずなのですが、まだ実機を持ってなく未確認なので80%。
Steam は詳しく調べていないので 20% ぐらい。リリースできるプラットフォームを指定できるのかな? Windows デスクトップと同じ動作だったら問題なさそう。ただ個人でポイとリリースできる場所ではないようです。
1%のものは動かせたらいいなーぐらいの思いだけど、情報としては全くの未知の領域。
mac 系は現行の開発環境から明らかに開発環境を増やさないといけないのが分かっているので、PCとかあんまり増やしたくないという思いでリリース予定はありません。
すでにサポート対象外の環境にはリリースしない予定なので 0% です。
]]>以前公開していた同ゲームで「エイッとウォーズ」があったのですが、Windows 8 のころにリリースしたまま何もせずにしていたところ、ストアでの公開が停止されてしまいました。
レポートでは「App Policies: 10.1.4 Active Presence」のポリシーに引っかかっているとのことでしたが、復活させるにはメールでのやり取りを行わなければならないためめんどくさそうだったので別ゲームとしてリリースしなおしました。
Windows 8, Windows Phone 8 向けはそのままリリースされてそうだったので、今回新たに UWP 版で作り直しています。なので Windows 10, Windows 10 Mobile 両方で遊ぶことができます。ゲーム内容は以前と違うところはありません。ソースコードもほぼ100%流用することができました。ただ、セーブデータについては完全に別ゲーム扱いになっているので引き継ぐことはできません。ご注意ください。
以下のページからインストールするか、ストアで「エイッとウォーズ!」で検索してインストールしてください。引き続き無料で遊べるゲームとして公開しています。
]]>通常 Keyboard.GetState メソッドでキーボードの状態を取得すれば現フレームの段階でのキーの押下状態を取得できます。一度に複数のキーを同時に押しても問題ありません(キーボードの配線によってはキー同時押下の上限はあります)。
しかし、UWP10 のプロジェクトを作成し、Windows 10 の環境で実行すると、押下状態を瞬時に取得することはできず、段階的に1キーずつ取得されるような動作になってしまいます。しかも、しばらく押したままにして離すと、一定時間押下中判定のままになってしまい、その後これまた段階的に1キーずつ放すような状態の取得を行います。
ちなみに UWP8.1 のプロジェクトで同じ処理を行うとまったく問題はありません。
参考にその動作を録画してみたので、実際に見てみるとわかると思います。最初が UWP8.1 のプロジェクトでそのあとが UWP10 のプロジェクトでの動作です。
この件についてコミュニティで探してみると同じような報告があり、どうやら MonoGame 3.6 での Windows 10 用の実装に問題があるようです。3.6 リリース後に修正したとの書き込みがあり、とりあえず修正したものを使いたい場合は開発ビルド版を使ってくださいとのことですが、ダウンロードページでそれをダウンロードしようとしてもファイルが見つからないようでした (リンクミス?)。
とりあえずは現状で我慢するか、開発版を探す、UWP8.1 を使う、3.7 を待つのいずれかになりそうです。私はずっと UWP8.1 版を使っていたので気づきませんでした( ^ ^;)。
]]>JSON のエスケープ回りで仕様に沿っていない文字があったのでそのあたりを修正しました。変換実行のタイミングで文字を解析するため、変換後のJSONテキストはバックスラッシュかユニコードのどちらかでエスケープされるようになっています。混在したまま出力することはできません。どちらでエスケープするからは設定で変更できるようにしました。
また、設定項目が少し増えてきたので、ボタンを押して設定を表示する形に変更しました。モバイルだとテキストエリアが結構狭かったので若干広くなったかと思います。
あと多言語対応もしました。Ver 1.00 でしていると思ってたのですが、たまたま英語環境で実行してみたら日本語のままだったことに気づき、確認してみたらまったく対応されてませんでした。してると思ってたので公開している国を242か国すべてにしていたという…。
ストアで公開しているので、ダウンロード・インストールはそちらで行ってください。使い方などについては以下のページに乗せています。
]]>