忍者ブログ
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
プロフィール
HN:
[-_-;] (みかん)
性別:
男性
趣味:
プログラミング、XOPS
自己紹介:
中部地方在住です。
最新コメント
[11/30 NONAME]
[11/22 NONAME]
[09/24 NONAME]
[06/10 NONAME]
[01/29 NONAME]
XOPS関連サイト「みかん箱」の運営や、OpenXOPSの開発などを行う[-_-;](みかん)のブログ。近状報告や独り言などを書きます。
Prev Month123456789101112131415161718192021222324252627282930Next Month
OpenXOPSへのシェーダー実装と当たり判定改良
タイトルの通りですが、
OpenXOPS(本流)に対して、DirectX 9.0cのシェーダーを実装し、
人とマップの当たり判定を作り直したコードをコミットしました。


本家XOPSレベルであればシェーダーなんて必要なく、DirectXの
固定パイプラインで十分であり、OpenXOPSでも2014年の立ち上げ
当初から固定パイプラインを使い続けていました。
ただ、DirectXやOpenGLの最新バージョンでは固定パイプラインから
シェーダーに移り変わっており、1月末よりMicrosoft公式による
DirectX SDKの公開が終了したこともあり、
OpenXOPSもシェーダーで動作するコードも仮実装することに
しました。
相変わらずDirectX 9.0cですけれども。
 DirectX End-User RuntimesとDirectX SDK公開終了
 (2021.02.12)

DirectX9.0cのシェーダー自体は、今回新規に作ったものではなく、
2018年6月頃に作ったまま ぬか漬けにしていたものを掘り起こして
使っています。
2020年8月に影を付けるサンプルを作った際のベースになったもの
でもあります。
当時から一部コードは修正していますが。
 OpenXOPSにシェーダーで影を付ける(2020.08.16)

現時点で、2020年8月にやっていた影を付けるコードをコミット
する予定はないですが、今回のシェーダーのコードは色々応用が
効くはずです。
あと、DirectX 9.0cから次期バージョンへの移植をする上でも、
ベースにすることができると思います。
OpenXOPS標準では、今まで通り固定パイプラインでコンパイル
されますが、ソースコード内の定数を変更することでシェーダー
のコードが有効になります。
category : ソフト・ツール開発 comment [0]
PR
DirectX End-User RuntimesとDirectX SDK公開終了
今までMicrosoftの公式ダウンロードページからDirectX9.0c
(DirectX End-User Runtimes)とDirectX SDKが入手できましたが、
今年1月末頃から両者がダウンロードできなくなりました。

これはすなわち、完全に新規のPCや、OSをクリーンインストール
した環境を手に入れた場合、
OpenXOPSやXopsAddonCreatorの開発や実行に必要な環境が、
Microsoftの正規手段では提供されなくなったことを意味します。
 ※対策や回避手段は後述

DirectX End-User Runtimes ※リンク切れ
 http://www.microsoft.com/ja-jp/download/details.aspx?id=35
DirectX SDK (June 2010)  ※こちらもリンク切れ
 http://www.microsoft.com/en-us/download/details.aspx?id=6812

なお、本家XOPSは(エンドユーザー側は)一切影響を受けません。
 ※クリーンインストールした Windows10 20H2 で動作確認済み。
  ....別件でIME周りのバグは出ますけど(^^;
category : ソフト・ツール開発 comment [0]
直近のOpenXOPS開発状況
お久しぶりです。
・・っと言っても、前回の更新からは2週間程度しか経っていないのですが、
ここ最近は高い頻度でブログ更新していたので、なんか久しぶりに書く
ような感覚です。

いきなり本題から外れますが、
1月24日に駄場氏によるOpenXOPSの改造エディションをベースとした
作品が公開されました。
 XOPSアドオン倉庫
 https://sites.google.com/site/xopsaddonwarehouse/openxops
詳細については、後日触れます。

さて、今回は表題の通りOpenXOPSの開発状況について書きます。


OpenXOPSオンラインの方は、メインプログラムの開発を進めていました。
クライアント側の処理はまぁまぁ良い感じなものの、サーバー側の処理は
全体的に再設計と作り直しが必要だと感じています。
オンラインの基本的な設計思想として、出来るだけ処理をサーバー側に
持たせる構造を目指しましたが、短期決戦を目指し設計が甘かったことも
影響し、想定以上にサーバー側の設計や処理が複雑化した結果、各所で
ボロが出始めています。
逆の言い方をすれば、今ならばサーバー側の処理を作り直せるタイミング
ではあるので、作り直すなら今なのかもしれません。

前にも書いた気がしますが、はっきり言ってオンライン版は手間と時間が
掛かり過ぎます・・・。
単発でイベントをやっても十数人程度しか集まらないと考えられる中、
その参加メンバーを楽しませるためだけに作るとなると、割に合わない
のが現状です。
まぁそんな需要の話を持ち出すと、今のXOPS界隈で活動なんてできない
のですが(^^;


OpenXOPSの本流の方は、前々回のブログで触れたRawinputを実装して
コミットしました。
上記ブログを書いた時点では、もっと先々にやるつもりだったのですが、
既に試しに作ったテストコードが手元にあり、ちょっと手を入れれば
コミットできそうだったので、勢いで作ってしまいました。
これでもう「XOPSはマウス入力がクソ」とは言わせないぞッ!

直近は、人とマップの当たり判定に挑戦しています。
もう「n回目の挑戦」っという感じですね。
今まで、本家XOPSっぽい挙動を独自に調査・推定しアルゴリズムを実装
する手法で何度も挫折してきたので、
今回は本家XOPSのアルゴリズムをベースにするスタイルで攻めています。
AIを作った時と同じ手法ですね。
うまく行けば、オンライン版などにも横展開可能なのですが・・・。
どうですかねぇ。もう何度も失敗しているので、今回うまく行くとは思って
いません(弱音


最後に、
本題とは全く関係ないですが、先日リアルの知人が亡くなりました。
 ※XOPSとは関係ない方です。
前日まで普通に会っていたにも関わらず、翌日に聞いた際は言葉を失って
しまいました。20代の若さで本当に突然であり、このご時世でお葬式にも
行けておらず、正直未だに実感が湧いていない節があります。
ご冥福をお祈りします。

人間 明日どうなるかなんて分からないものですね。
私もですが、皆さんも日々を大切にお過ごしください。
category : ソフト・ツール開発 comment [0]
OpenXOPSのコミット数が256件に到達
1月10日、OpenXOPS(本流)のコミット数が256件に達しました。
(256:16進数で0x100)

OpenXOPS自体は2014年7月10日に正式に開発を決定・開始しましたが、
ソースコードの公開は2015年1月10日だったので、ちょうど6年経った
タイミングでの256件達成でした。

 コミット一覧 (all) - OpenXOPS (svn) - OSDN
 https://ja.osdn.net/users/xops-mikan/pf/OpenXOPS/scm/commits

決して狙っていたわけではなく、本当に偶然です。
もし狙っていたら、256件目に『ライセンス文の年号を編集』なんて、
しょぼいコミットは持ってきません(^^;

他所でも言ったのですが、
まさかOpenXOPSのプロジェクトに6年間の期間が掛かり、その間に256件
もコミットするとは思ってもいませんでした。
開発やコミットなどの実作業は私が1人でネチネチやっていたわけですが、
OpenXOPSをプレイして頂いている方々や、本家XOPSとの差異・相違点を
見つけて頂いた方々、OpenXOPSのソースコードを弄っている方々など、
全ての関係者に感謝致します。
category : ソフト・ツール開発 comment [0]
OpenXOPSオンラインの開発状況
例年今頃は、まだ「新年の実感が湧きません」とか言っていた気がしますが、
今年は不思議とすんなり新年を実感しています。
なぜでしょうか・・・自分でもよく分かりません。
新年の挨拶で書いた通り、例年と違う過ごし方をしたことに関係があるので
しょうか。
むしろ、今年は例年よりも年末年始っぽい特別な過ごし方をしていない
(通常の連休のような過ごし方だった)ような気がするのですが。


OpenXOPSオンラインですが、現時点の開発状況について簡単にまとめて
みます。
っとは言っても、手元で開発進捗の一覧やTodoリストが完全な形で揃って
いるわけではない(※非常に良くない)ので、半ば思い付きでダラダラ書く
だけなのですが。
category : ソフト・ツール開発 comment [0]
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

※過去のブログ記事は 原則として編集・修正していません。
 各記事の内容は投稿時のものであり、現在では異なる場合があります。
 最新の情報は、関係する内容について書かれた 最新の記事をご覧ください。

TOP