[PR] | 2025.04.03 09:28 |
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
category : |
カレンダー
プロフィール
最新記事
(10/15)
(06/17)
(01/09)
(12/14)
(06/20) カテゴリー
|
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
| |||||||||||||||||||
PR
1ヶ月以上ブログを放置してしまいました。 本ブログを楽しみにされている方が居たら申し訳ないですが、 去年11月6日の記事の通り、基本的にXOPSネタしか書かない方針としたため、 以降ブログの更新頻度が下がっていく可能性がある点はご了承ください。 ・・・そうは言っても、月一ぐらいは何か書きたいなぁ。 ここ一ヶ月ぐらいはOpenXOPSをちょくちょく弄っていました。 他所には書きましたが、1月下旬~2月上旬に一週間ほど掛けてOpenXOPS の人とマップの当たり判定を徹底的に詰めました。 現行(ver 1.073)は特に出来が悪く、坂道・階段で引っ掛かることが時々 ありましたが、 今回の改良により、本家XOPS並の完成度になったと自負してるので、 かなりマシになったはずです。 少なくとも、坂道・階段で引っ掛かることはなくなりました。 既にOSDNのプロジェクトにはコミット済みです。 それ以外は、以前SATから発表されていたゾンビ攻撃時の処理を実装 していたりしました。 ゾンビの種類ごとに攻撃時の追従性が微妙に違う件ですね。 AIレベルのような概念で、ゾンビの種類ごとにパラメーター(強さ)を 設定できるように設計したので、思っていた以上に面倒くさい修正 になりました。でも結果的に良いものができたのでOKです! こちらもコミット済みです。(R351) あとは細々した修正ですね。 興味がある人は、コミット一覧を見て頂くのが良いと思います(適当 また何か書くXOPSネタが出てきた際には、本ブログを更新したいと思い ます。
久々に・・ではないのですが、(OpenXOPSも弄りつつ)XopsAddonCreator を弄っていました。 大きい話としては2つあります。 1つ目は、テクスチャー単位でのUV座標固定機能(仮名称)の実装です。 XopsAddonCreatorでブロックを編集する際にUV座標を自動補正・設定する機能 がありますが、今までエディタ全体でON・OFFしかすることができません でした。 この度の開発でテクスチャー単位でUV座標を固定(補正を無効にする)ことが できるようになります。 例えば、「0番は地面テクスチャーだからUV座標を補正して、3番は木箱の テクスチャーだからUV座標を保持しよう。」みたいな設定を行えます。 (クリックで拡大) 2つ目として、クロスセクション機能(仮名称)の実装です。 何かと言えば、2D上で特定の位置・階層のブロックを断面表示する機能です。 例えばビルのような階層が何段も重なっているマップ構造だと、水平方向の 2Dビューでは各階が重なって表示され、非常に見にくくなります。 今回開発した機能を使えば、1F・2F・3F・屋上っといった各階層でブロック を表示できるので、マップ構造の確認・把握が非常にしやすくなります。 (クリックで拡大) OpenXOPSのコンソールを用いたレーダー表示機能からヒントを得て開発 しました。 これ、説明文を読むと「ほぉ~」って感じだと思いますが、開発に結構な 工数が掛かりました(汗 正直しんどい(^^; 開発は結構大変でしたが、思った以上に良い機能になったので良かったです。 それ以外には、コピー&ペースト処理がゴミクソ設計だったので、該当部分 の処理を全部作り直したり、その他諸々細かい所を修正していました。 次バージョンの公開はいつになるか分からず未定ですが、何か決まった際 には告知しようと思います。
12月17日に、XopsAddonCreatorのバージョン 1.3 を公開しました。
前バージョンだったver:1.2a(ver:1.2の修正版)は2019年9月に公開 していたので、3年ぶりのアップデートになります。 細かい開発履歴は同梱のマニュアルを読んで頂くにして、主要な 変更点を簡単に解説したいと思います。 ・ポイントの総数・最大数を200個⇒256個に拡大。 >8月24日にSATより発表された仕様に関する対応です。 ・ポイントデータのcsvインポート/エクスポート対応。 >ポイントデータをcsv形式で取り込み/書き出しできます。 ・ポイントダイアログの大幅な改善。 >パラメーターの値を直接入力する機能、履歴機能、パラメーター リセット機能追加。 ・グリッド補正などの操作性/仕様を改善。 >SHIFTキーを押すことで、選択中に追加選択できます。 ・履歴機能の改良。 >ファイル保存も履歴対象に、ひとつ上のフィルダー名も表示する ように。 ・エミュレーターの実装を変更。 >カスタマイズをやめて、純正版を丸々流用する設計に。 ・対象OSとして、WindowsXP/Vistaを削除し、Windows11を追加。 ・その他、細かい機能改善やバグ修正、安定性の向上。 ポイントのパラメーター直接入力というのは、1年ぐらい前に作って いた機能です。 「XopsAddonCreator」の開発 -34 (2021.11.01) 当時の記事の通り、元はマシンギョさんから出てきた声だったのです が、割と良い機能で結構気に入っています。素晴らしい。
ちょっと不意打ちっぽくなってしまいましたが、
9月25日にOpenXOPSのバイナリ版である ver:1.073 をリリースしました。 OpenXOPS公式サイト http://openxops.net/ 前バージョンの 1.070 は今年5月末に出したので、わずか4ヶ月弱でのアップ デートになります。 OpenXOPS立ち上げ時の2014~2015年頃(1.020まで)は結構なハイペース でアップデートしていたものの、以降は基本1-2年に1回程度のアップデート まで周期が落ちていたので、今回の公開は異例です。 本1.073の公開は9月に入った頃から考え始めており、当初から9月末~10月頭 を狙っていました。 本当はもう少しコミット(修正)を重ねてからリリースすることを企んでいた のですが、言うほど弄る場所・ネタが思いつかなかったことと、直近は私生活 が忙しいこともあり、ちょっと早めに出しました。
8月ですね。 XopsAddonCreatorを触りましたが、次の難題にぶつかっています。 ブロックデータとポイントデータ、両者をいかに効率よく処理するか です。 OpenXOPS(ゲーム)は、データを読みっぱなしで良いソリューションです。 あくまで両データはファイルから読み込んでいるだけで、読み込み後はゲーム 側で都合の良い独自のデータ構造で処理すれば問題ありません。 ところが、XopsAddonCreatorはエディタです。データを読みっぱなしで終わる ことは殆どなく、データ自体を編集し 場合によっては元に戻す(Undo)機能 を提供する必要があるほか、ファイルとして書き戻す機能も必要になります。 この『読み込み⇒変更履歴管理しつつ編集⇒書き出し』という一連の処理が エディタの肝であり、OpenXOPS以上に内部のデータ構造が重要になります。 モデリングソフトのようなひとつの形式(性質)のみに特化していれば まだマシ なのですが、厄介なことにXopsAddonCreatorはブロックデータとポイントデータ という、性質が全く異なるデータを2つ同時に扱う必要があります。 ※ブロックデータはモデリングデータに近く、ポイントデータはスクリプトデータ に近い。 ようは、『読み込み⇒変更履歴管理しつつ編集⇒書き出し』という処理パイプ ラインが、同一ソフト内で二重に存在するわけです。 何も考えずに作れば、単純に同じ実装を2個開発して載せれば良いですし、 既に現行XopsAddonCreatorは、2重に実装されていると言っても過言でない 設計ですが、 単純に工数2倍で無駄な開発作業を生むうえ、バグを生みやすく、なんせ柔軟な 設計変更・改版もできません。 あくまで実装としては1つにして、両フォーマットに対応した柔軟な設計を取り 入れるのが理想であり最適解となります。 ですが、現状良い実装案が思いつきません。 C++のコンテナクラスを上手く使えないかと思っており、スタックやキューを 使えないかと企んでいますが、微妙に実装が合わず困っています。 6月の記事では、次期XopsAddonCreator開発における難所の一つに 「不具合のない安定したデータ編集機能の実現」 を挙げていましたが、本件前述の処理・実装がポイントになりそうです。 もう少し良い設計・実装を考えてみます。
※過去のブログ記事は 原則として編集・修正していません。 | ||||||||||||||||||||
△ TOP |