| [PR] | 2026.02.03 07:14 |
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
| category : |
カレンダー
プロフィール
最新記事
(10/04)
(10/15)
(06/17)
(01/09)
(12/14) カテゴリー
|
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
| |||||||||||||||||||
PR
本当に長くブログを放置してしまって、すいません。 前々から話している「OpenXOPS」のプロジェクトについて、検討の最終段階として 実際に模擬的な開発をやっています。 (クリックで拡大) 4年前の「偽XOPS」の記憶を取り戻したり、ある程度信用できる開発工数・時間を見積 もるためにやっていましたが、気が付くと本番に流用できるレベルのものになっていし まいました。 合計作業時間は40時間ほどです。 外見だけだとまだまだですが、内部では描画周りを中心に、ごく一部を除き一通り実装 してしまいました。本家XOPS作者のお二人には失礼で申し訳ないですが、現行XOPSの 描画周りは特別難しい技術は使われておらず、ごく一部分を除き概ね簡単です。 さらに言えば、この程度の描画処理を行えない(書けない)レベルだと、ゲームとして XOPSを作るのは不可能です。 OpenXOPSで最も難しいと推測されるのはAI周りで、次は当たり判定全般です。 この2点は、現状XOPS界で解析作業が殆ど行われてないにも関わらず、ゲームバランス を決める極めて重要な部分です。本家XOPSを再現する上で、決して手を抜くことができ ず、気を緩めることが出来ない部分になります。おそらく、このAIと当たり判定は最後 まで苦線を強いられ、地道な改良作業が続くでしょう。 なお、現状はAI周りや当たり判定の具体的な処理まで、やっていません。 あと、もう一つ。外せない重要な要素があります。 Doxygen(ドキシジェン)を活用した、ドキュメント作成です。 (クリックで拡大) ソースコードをオープンソースで公開し、加えて他の方々に利用してもらうことを考える と、見やすいソースコードを書くことはもちろんのこと、ドキュメントの整備も必須です。 ソースコードを書き換えるたびに別途ドキュメントを書き直すのは、手間で苦痛以外何物 でもありません。 Doxygenを利用すれば、ソースコード内に書かれた特定の書式に合わせたコメントを自動 認識して、ドキュメントを自動生成してくれます。VC++のビルド設定に自動的に実行す るように仕込んでおけば、もう完璧です。 Doxygen自体は殆ど触ったことなく、今回ぶっつけ本番で実戦投入しました。独特(?) のコメント記述スタイルに慣れるのが大変でしたが、一度慣れればとても便利です。 OpenXOPSに限らず、今後ある程度規模の大きいソフトウェアを組む時は、率先して使う べきかと迷うレベルです。 あー、完全にやり過ぎましたね。。 あとは、AIと当たり判定周りを試してみて、ある程度見積もりが取れ次第 一度作業を 中断し、再検討する作業に入ります。 ※決して、正式にOpenXOPSの開発が始まったわけではありません。
自分で決めた人生の選択について、果たして正しい判断だったのか 考え込んでしまうのですが、某氏とメールで話している時に、 『未来の事は分かりませんし、どの選択がより良かったのかは 未来になっても分からない事だと思います』 と言われ、なんか納得してしまいました。 さてさて、XopsAddonCreatorの開発ですが、コツコツとバグ潰し をしつつ、改良を重ねています。 ここ数日で行った大きな改良は、ブロックテクスチャの透過処理に 対応させたことです。 (クリックで拡大) ※ マップは「Korean Zombie Mode 1.84 (Multiplayer)」に収録 されているものをお借りしています。 画像を見ての通りですが、現行バージョン(画像・左)はテクスチャ の透過処理に対応していないため、うまく処理されず、意図しない 悲惨な描画になってしまいます。 今回の改良(右)によって、より本家・XOPSの動作に近い自然な 描画がされるようになりました。 画像でお借りしたマップは、照明の下が明るくなっているのを透過 処理を行ったテクスチャ(PNG形式)で再現しているのですが、 今回の改良で綺麗に表示されるようになりました。 ってか、現行バージョンの表示が酷過ぎますね。よくこんな仕様で どっからも苦情がこなかったな~ とか思ってしまいます。 なんか久しぶりにブログに画像を貼った気がするのですが、どうも 2ヶ月ほど前に、開発ネタで動作速度の比較グラフを貼っていました。 やっぱり画像貼ると華やかで良いですね。今後はもっと色々な画像を 貼っていこうかなぁ。
「OpenXOPS」のプロジェクトについて、既に始めているわけではなく 依然として正式に始めるかどうか、迷っている段階です。 事前検討の一環で、「SourceForge.JP」を触ってみました。 自分が不慣れなだけに、ローカルな作業部屋を立ち上げるのが非常に 大変で2時間くらい掛かってしまいましたが、無事(別件の)ソース コードの公開を試すことができました。 まだ不慣れで細かいことが良く分かっていません。こんな力量・理解 では使えないので、しっかり訓練を積んでおきます。 XopsAddonCreatorは、ぼちぼち弄っています。 ここ数日で作った大きな部分は、ファイル関連付けの自動設定機能です。 オプション設定画面から、ブロックデータ(.bd1)とポイントデータ (.pd1)の関連付け設定をワンクリックで行える機能を開発しました。 表向きにはオプション設定の項目にありますが、実際はソフトウェア側 を設定しているのではなく、PC・OS側の設定を書き換えています。 個人的な好き嫌いを言うと、レジストリ操作をするソフトウェアは作り たくなかったのですが、関連付けを自動で行う機能は一定の需要がある ことが分かったので、仕方なく実装しました。 なんか、これもこれで思った以上に面倒で、時間食ってしまいました。 機能自体は完成したので、次期バージョンに載せるつもりです。 次期バージョン(Ver:1.1?)の公開ですが、近いうちにやりたいと 思っています。 約束はできませんが、遅くとも6月中には公開したいですね。何も不具合 が出ずに順調に行けば、6月上旬に公開できるかもしれません。 繰り返しますが、約束はできません。過度な期待はしないでください。
色々なものに対して決断の時が迫っているのですが、平常心を保つためにも コツコツとプログラムを書いています。 ここ最近は「OpenXOPS」のプロジェクトについて、細部の検討を重ねたり、 関係する方々に連絡を取ることを試みたりしていました。 4年前の偽XOPS(fxops)のノウハウを元にすれば、技術的には決して不可能 ではありません。現時点で最も問題(検討事項)になっているのは、『プロ ジェクトとして新規に立ち上げ、そんなものを開発して需要があるのか』と いう点です。現状のXOPSの過疎化状態から、開発する価値を見出すのは困難 であることは事実です。 XopsAddonCreatorの開発は、細部の改善を中心に行っています。 ・・・が、一点ほど信じられない不具合が見つかりました。 エクスポート機能で、Xファイル形式(.x)への出力が行えない不具合を抱え ているようです。ファイルメニューからエクスポートを選択しても、ソフト ウェアが全く反応しません。 一般公開する前のバージョンでは、正しく動いていました。公開するver:1.0 になる直前、一部作り直した際に不具合が生まれたのだと思います。 十分に動作チェックをしたつもりだったので信じがたいのですが、それしか考 えられません。 時期バージョンから修正し、エクスポート機能も使用できるようになります。 なお、現バージョンでXファイル形式(.x)へのエクスポートをする手段はあ りません。使って頂いている方々、本当に申し訳ない。 マニアックな開発ネタですが、XopsAddonCreatorをVC++で開発していると 、同ソフトウェアでファイルの参照・保存ダイアログでOSごとフリーズする ことがあり、非常に困っています。 色々原因を探していると、以下の条件が重なると6分の1くらい確率で発生する ことが分かりました。 ・VC++上からdebugモードで実行する。 ・GetOpenFileName() または GetSaveFileName() を呼び出す。 ・ウイルスバスターが起動している。 この条件がすべて揃うと、6分の1くらいの確率で発生します。手元の他のPC でも同じ不具合が発生するので、メインPCだけの問題ではなさそうです。 もしかすると「OS:Windows7」というのも関係あるかも。 この条件だけ見る限り、世の中で相当の人が同じ問題で悩んでいそうですが、 ネットで探してみても、なぜか殆ど事例が出てきません。 ようやく見つけたのがこれ ・ Twitter - yshhrknmr Win7 & VC++ で ... 誰か詳しい人教えてください!
ここ数日前まで、またプリント基板作ってました。余り物の板に余った 部品をはんだ付けしただけですけど。 今年3月下旬頃に言っていたC++のオブジェクト指向で何を作るかっという件 で、とりあえずBulletで適当に新しい物を作るとか言っていましたが、最近 やっていないことに気が付きました。ソースファイルの更新日から推測するに 最後に触ったのは4月上旬で、もう1ヶ月近く開発してないことになります。 正月ごろからあんなにやり込んでいたのに、何かを機会に一気に冷めた感じ です。何でだろうか。 ってか次はどうするんだっていう・・・。 XopsAddonCreatorの開発の一件は、今回「PFコンバーター」ならぬものを 作ってみました。 「パラメーター設定ファイル」という、XPE+時代の概念を引き継ぎ採用され ているファイルがあります。ポイント編集時に表示する人・武器・小物の名前 や、3Dビューに表示するモデルデータをカスタマイズするための設定ファイル です。XopsAddonCreatorの説明書には書かれていない秘伝の書き忘れた 機能です。 改造パック集の制作者の方々が、ご自身のパックに合わせたパラメーター設定 ファイルを用意するには、各人・武器・小物の設定パラメーターを手動で入力 して作成する必要がありました。間違いが起こりやすく、非常に面倒極まり ない作業です。 今回開発したPFコンバーターを使用すると、既存のXOPS本体(EXEファイル) から各設定データを自動的に取得し、パラメーター設定ファイルを半自動で 生成してくれます。 膨大な値を手入力しなくても、先にEXEファイルが出来上がっていれば、面倒 な作業を大幅に削減できます。 PFコンバーターは次期バージョン(Ver:1.1?)から収録する予定です。
※過去のブログ記事は 原則として編集・修正していません。 | ||||||||||||||||||||
△ TOP |