忍者ブログ
カレンダー
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
2015新年
あけましておめでとうございます

ブログに来て頂いているXOPS関係者の方々には、昨年の後半から、OpenXOPSの
一件で、大変お世話になりました。
直接プロジェクトにご協力頂いている方にはもちろんのこと、バグ・不具合の報告をして
頂く方々にも心より感謝いたします。
また、常日頃から応援のエールを送って頂けるたくさんの方々、ありがとうございます。

今年もよろしくお願いします。


新年早々ですが、昨年を時系列で思い出してみます。

去年の最初(1・2月)は、殆ど自宅でPCが触れないほど多忙な状況で、ブログの更新
どころか何もできませんでした。わずかに空いた時間で「Bullet」(物理エンジン)を触り
つつ、C++のクラスを用いてプログラムする手法を試していました。
過密スケジュールのピークが過ぎた3月ごろからXopsAddonCreatorの改良作業に
注力していました。同時期に「XOPSサーチエンジン」の閉鎖を決定しました。
7月頃から OpenXOPS一筋 といった感じです。
OpenXOPSの件で、C++のクラスを活用したプログラミング、オープンソースを前提と
した開発、独自ドメインの取得、ニコニコ動画への動画投稿 など新たなことに挑戦でき
ました。
今年の後半は、突然起動不能になったメインPCを復旧したり、Yahoo!メールの障害に
巻き込まれたり、XOPS関係ではInvisible Alpaca(IA)に声を掛けていただいたりと
色々なことがありました。

今年も今年で、様々なことを経験しそうです。
 ってより、来年の今ごろがまったく想像できません  (え?   いや本当に。
新年が明けた最初から、とある件(XOPSとは無縁)で決して平和とは言えないスタート
になってしまいましたが、今年も頑張っていきます。
category : このブログについて comment [0]
PR
開発もしつつ、ドキュメントも整備しつつ
大切なこと・・なのか分かりませんが、忘れないうちに最初に書きます。
年末年始は、諸事情で日頃使っているPCが使えません。
他の手段でメールぐらいは見れるかもしれませんが、返信は難しそうです。
このブログでの新年のご挨拶も数日遅れます。 予めご了承ください。


OpenXOPSの件で、「標準の ~(ミッション名)~ が動かないじゃないか!!」とご指摘を
もらうのですが、非常にありがたいです。
こちらでも動作を一通りチェックしているはずなのですが、やはり確認漏れが出ているようで。
この時点で意図的に機能を変えているということは基本的になく、デモ版同梱の「本家XOPS
との相違点.txt」に書かれていないことは、忘れているか気が付いていないかです。
他にもありましたら、遠慮なくご指摘ください。

標準ミッションに限らず、現在でも入手可能なものでしたら、addonでも構いません。
技術的に改善できるかどうかは別としても、どんな機能・仕組みのaddonが動かないのか把握
したいと思います。
連絡の際は、使用しているバージョンもお知らせください。よろしくお願いします。


既に色々な動作不良の報告を頂いているので、この場で回答します。
(本当は、OpenXOPS公式サイト側でアナウンスした方が良いんだろうかね・・)
category : ソフト・ツール開発 comment [0]
OpenXOPS デモH を公開
OpenXOPSのソースコードを公開するタイミングですが、実は12月上旬の時点から
クリスマス(24・25日)の公開を狙っていました。
・・・っが、作戦失敗です。。
一言「間に合わなかった」といえばそれまでですが、もう少しOpenXOPSの完成度を
高めてから公開することにしました。  (詳細は後述)

クリスマスに何か公開しようと、とりあえず デモH を公開しました。
『いつものデモ版アップデートじゃねーか』と言われてしまうと返す言葉がないのです
けど、大きな改良点として、AI周りと当たり判定が概ね仕上がりました。
そして、ついに致命的な問題点が全てなくなるっという記念すべきバージョンです。

ソースコードの公開を目論んでいたクリスマスに、デモ版を公開するだけだと寂しい
気がしたので、公式サイトで2015年1月~3月頃のソースコード公開を目指している
ことを公言しました。 嘘ではなく事実ですよ。あくまで予定ですけど。
OpenXOPSの予定について、具体的な日程を含めて発言するのは初めてだと思い
ます。今まで「近いうち」「そのうち」としか言っていなかったので。

まぁ、新しいデモ版の公開と、ソースコードの公開予定の決定・公言を合わせて、
クリスマスプレゼントってことで、許してください ><

さてさて、肝心のソースコード公開を遅らせた理由ですが、開発目標を一段上げた
ところ、案の定間に合わなかったためです。
OpenXOPSでは、サウンドを再生する処理はnine-two氏が作られた ezds.dll を
そのまま利用していますが、DirectSoundでの再生処理も記述して、コンパイル時
に切り替えられるようすることにしました。
そのDirectSoundのプログラムがクリスマスに間に合わなかったわけです。
なぜ、そのようなことを突然したかと言うと、色々経緯があるのですが、また次回
説明します。


OpenXOPSとは全く関係ないですが、Invisible Alpacaの親睦戦に初参戦してきま
した。12月25日の夜に行われた第八回で、使用Packは「FCS」でした。
xopsplayer の名前で30分くらい遊ばせてもらいましたが、思っていた以上に楽し
かったです。 照準が出ないのがちょっとアレでしたけど。
そして、プレイしていたらカール食べたくなった (笑

後、当ブログの前回の記事に非公開コメントを書かれた方、ご指摘ありがとうござ
います。確認しておきます。
category : ソフト・ツール開発 comment [2]
当たり判定とサウンド処理周りが完成
なんかとんでもない時間ですが、ブログ更新です。眠いでござるよ。
あー今年は年賀状とかどうしようか。

12月14日にnine-twoさんのサイト(SECEF EVISOLPXE)が更新されましたね。
相変わらずのnine-twoさんで安心しました。 (?
XOPS2は「この通り順調です」って、本当に順調と言えるかどうか分かりませんけど。

マルウェアと誤検知されるというのも外せない情報ですが、個人的にはそれ以上に
OpenXOPSに関して言及して頂いたことが嬉しい限りです。
 サイトを直接目にした時、思わず着ていた上着を破ってしまいました <おいおい
あまり自信はないですが、2006年頃から今までnine-twoさんのサイトにて、特定・個別
のユーザー活動に対して直接発言し、リンクまで貼って頂いたことは、恐らく前例がない
と思います。 多分、OpenXOPSが初です。 やったー!



OpenXOPSの開発ですが、念願だった当たり判定と、何度も言っていたサウンド処理
周りが概ね完成しました!

当たり判定は細かい調整が必要なものの、かなり良い感じです。
生存時の人とマップとの判定・計算は、本家XOPS通りの動作を再現できていると思
います。
これで、急勾配の山登り・登山がし難くなった上に、マップの斜面(階段など)を上がる
速さも改善されました。
MIFファイルの「追加判定」を有効した際の処理が、まだ書けていませんが。

サウンド処理周りも、1ヶ月以上煮詰めていた管理アルゴリズムを実装し終え、快調
に動いています。結果的にはサウンド再生周りを、ほぼ全面的に書きかえる作業で
大変でしたが、非常に満足しています。
分かりやすい改善点として、AIが銃声や着弾音に反応しなかった問題点も、これで
全て解消されました。
内部の構造としては、(今回の作り直し作業で)移植性が圧倒的に上がりました。
細かいデバック・テストが出来ていないので、その辺をこれからやります。


最近ブログに書いていた「AI」「当たり判定」「サウンド」は、良い感じに仕上がりました。
本家XOPSとの相違点は、細かいものまで数えれば山ほどありますが、とりあえず
これでソースコードは出せるレベルになったと思います。

ライセンスは予告通り、このまま修正BSDライセンスになりそうです。

ソースコードの公開場所どうしましょうか。
一応SourceForge.JPとか使うつもりでしたが、使い方を覚えるのが面倒ですね。
今年夏ごろにSourceForgeのアカウント取ったんだけど、使い方全然覚えてないorz
もしかしたら、全部1個にZIP圧縮して、公式サイトにそのまま上げるかもしれません。

細かいことは、決まり次第 また公式サイトにて告知します。
あぁサイトで公開中の「OpenXOPS技術解説書」も今回の開発に合わせて、また
書き変えないと。面倒くさいなぁ。


<2015/01/14 追記>
独自に調査してみましたが、過去に数回ほど特定・個別のユーザー活動に対して直接
発言し、リンクを掲載した前例がありました。 (2006年頃にXCTなど)
失礼しました。
category : ソフト・ツール開発 comment [2]
OpenXOPSの当たり判定を仕上げる
ブログの更新をさぼってしまい、すいませんでした。
そして、前々回『関東はそんなに寒くないぜ★』と言ったら、急に寒くなりやがって。


10月15日の時点で『当たり判定は やる気がない』と言ってしまいましたが、
色々考えた結果、当たり判定にも手を付けることにしました。
むしろ、当たり判定以外は概ね良い感じに仕上がっている中で、当たり判定
だけ雑な作りと言うのもどうなのかと思ったからです。

ただ、このブログでも自作偽XOPS(fxops)時代から散々書いていた通り、当たり
判定は非常に難しく悩ましい問題です。
自作偽XOPS時代は、基礎的な知識が全くなく何も分かっていない状況で、参考
文献のソースコードに頼っていたりと、かなり滅茶苦茶なことをしていました。
何年も経った今では当たり判定の実装も慣れてきており、OpenXOPSでは無事に
一発でそれなりのプログラムを書き上げることができました。
ただ、本家XOPSと比べると分かる通り、やはり不満が残る計算です。

これ以上自力で考えるのは現実的ではないと考え、素直に諦めて最終手段です。
 ・・・本家XOPSのプログラム担当 nine-two氏に直接聞く・・・

そりゃ当たり判定に関わらず、nine-two氏に最初から全て聞くのが一番手っ取り
早くて私は楽ですが、ご本人に多大なるご迷惑をお掛けするので、直接質問する
というのは、最後の切札に留めると決めていました。
最終作戦の実行です。 本物を作られたnine-two氏に直接連絡を取って、当たり
判定について聞いてみました。

nine-two氏もお忙しい中、本家XOPSで使用しているアルゴリズムについて、非常
に詳しく教えて頂きました。本当に助かりました。(ありがとうございます。)
ブロックの外側・内側の判定を駆使するのが最大の胆で、移動先がブロックの内側
である場合、移動元から見て面している面に接触したと判定する手法です。
 (詳細な計算方法は、近日中にOpenXOPS公式サイトの「OpenXOPS技術解説
書」に載せます。)
『うわー その手があったか!』 言われてみれば、確かにそれで判定可能です。
そのアルゴリズムを教えて頂いた時、思わず言葉を失ってしまいました。感動した
のと、その計算方法を思い付かなかった自分の未熟さという二重の意味で。
ちなみに、この手法はnine-two氏が独自に考案されたようです。
何て言うか「流石」の一言に尽きます。 やはり足を向けて寝れません。


OpenXOPSとは関係ない別件ですが、久しぶりにXopsAddonCreatorを弄りま
した。 XopsAddonCreatorを利用して頂いている方から、コピーandペースト時
のバグを指摘して頂いたからです。
バグ自体はあっさり直ったのですが、そのバグを1個直すだけでバージョンアップ
するのも もったいない(?)ので、他にも小さな新規機能を付けられないか模索
中です。
category : ソフト・ツール開発 comment [2]
[39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49]

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

TOP