忍者ブログ
カレンダー
03 2024/04 05
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
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

category :
PR
某装置を制御する仕掛けを作る
XopsAddonCreatorを触るつもりでいましたが、完全に別件で とある所で
使うため、某装置を制御する仕掛け(ソリューション)を作っていました。


「某装置を制御するソリューションって何ぞや?」って話ですが、PCを用い
て、ディスプレイの入力信号を受け取り、出力装置を制御する系(?)です。
もう少し詳しく書くと、HDMIの映像信号をUSB接続のHDMIキャプチャーで
受け取り、制御PCで映像を判定した上で、Arduinoを使って仮想キーボード
として出力するお話です。まだ実験段階です。
別に無理に隠すことはないものの、いつ誰が見るか分からないので、
一応これ以上の詳細は伏せておこうと思います。
ハードウェアとソフトウェアが絶妙に混ざっているため、このブログ記事の
カテゴリもどうするか悩みました(^^;

こういうハードウェアとソフトウェアが融合した仕掛け作りは、昔から自分の
得意分野だったりします。
発想・原理としては結構単純なのですが、今まで形にしたことがないタイプ
で、所々に罠・癖があったりと結構大変でした。
過去形で語れる話ではなく、現在進行形なのですがw
category : ソフト・ツール開発 comment [1]
「XopsAddonCreator」の開発 -34
ハードウェアネタでやっているFPGAについて、デバック用にUARTを実装
したり等してましたが、
改めて作業時間を思い返すと、殆どXopsAddonCreatorを弄っていました。


某氏・・名前を隠さずに言えばマシンギョさんが、
『XopsAddonCreatorのポイントパラメーターを、キーボード入力で直打ち
 できるようにしてほしい。』(意訳)
との旨の声を上げられているのを発見し、その対応をしていました。


(クリックで拡大)

画像だと全然伝わらないと思いますが、こんな感じでポイントダイアログ
にて、キーボードで直接値を入力できるようになりました。
もちろん、今まで通り[A-Z][S-X][D-C][F-V]のキーによる値の
カウントアップ・ダウンも行えます。

技術的には、特段難易度が高い実装ではありません。エディタとしては
もちろん想定されていない仕様ではありましたが、たまたま(?)実装
可能な設計になっていたので載せれました。
ただ、難易度は高くないですが、結構面倒くさかったです(^^;
エディットボックス(入力ボックス)が使えれば一番良かったのですが、
カウントアップ・ダウンのキー対応は残しつつ、数字のみの入力に縛る
必要があったりと 色々制約があったため、
入力処理部分はフルスクラッチで作っています。。。
もっと良い方法があったような気もしますが(汗

なにか不具合・不都合が見つからなければ、次期バージョンより採用・
実装予定です。


あと、直接は関係ないですが、サブ ウインドウ周りの処理を一新する
べく、作り直していました。
サブ ウインドウとは、エディタメインのウインドウ以外に出現するもの
です。(例:前述のポイントダイアログやオプション設定画面 など)
今までのソースコードでも一応動いてはいるものの、かなりクソなソース
コードだったので、書き直していました。
まだ合格点には達していないですが、当初よりかはマシになりました。

全体的にクラスを用いた設計に書き直しています。
経験者であれば分かると思いますが、Windows APIのウインドウ
プロシージャをクラスで設計・実装するのは、結構トリッキーで面倒
くさかったです。
その辺の基本的なところは何とかなったので、あとはマルチスレッドで
動いている部分の処理をどうするかだな・・・。どうしよう。。


全然関係ない別件ですが、
先日、諸般の事情でApple Store(家電量販店などの一角ではなく、独立
した実店舗)に行ってきました。
特に日頃からApple製品は直接使っておらず、Appleには特別思い入れも
ないのですが、店のデザインや雰囲気の作り込みに関心しました。
うまく言語化して表現できないですが、Appleのブランディングって凄い
なぁ・・っと思いました。
category : ソフト・ツール開発 comment [0]
「XopsAddonCreator」の開発 -33
10月になりました。
僅かに汗ばむことはあるにせよ、かなり涼しくなりましたよね。
これからは寒くなる一方ですけど。

実はこのタイトルで書くのは、約5年ぶりだったりします。そんな前だった
のか・・・。
 「XopsAddonCreator」の開発 -32(2016.07.18)


ここ直近は XopsAddonCreator を触っていました。
なので、今回は XopsAddonCreator について書きます。

現在公開しているのはVer:1.2aですが、それの次期バージョンに該当する
ものを作っていました。
今になって急に作り始めたわけではなく、かなり前から体感で半年に1回
ぐらいのペースで軽く触ってはいましたけども。
残念ながら「次期バージョンの目玉機能はコレだ!!」みたいなものは、
言うほどありません。
細かな機能追加や、仕様改善、バグ修正が入るのみになる予定です。

その中でも一番大きいのは、pd1ファイルのCSVファイルへインポート(参照)
・エクスポート(保存)機能でしょうか。
pd1ファイルが「,」(コンマ)で区切られたCSVファイルとして読み書き
できるようになります。
これの何が便利かと言うと、pd1ファイルとして編集していたポイントデータ
が、エクセルで開けるようになるのです。
例えば、複数のポイントの値を一度に書き換えたいとか、半透明テクスチャー
を使っている関係で、描画順序を変更するべくデータ順を並び替えたいとか、
一気に全体の位置を変えたいとか、そういう時に
 CSV形式でエクスポート→エクセルで編集→CSV形式でインポート
みたいなことが可能になります。
しかも、ファイルメニューから、インポート・エクスポートを選ぶだけの超簡単
操作です。
この機能は、使う人は使うのではないでしょうか。

それ以外には、
ポイントダイアログにて、ポイント新規配置時に設定・表示されるカレント
パラメーターを [BackSpace] キーで[0][0][0][0]に設定・リセットできる機能
とか、
一部から声のあった、.x形式のモデルファイルへのエクスポートする際の倍率
を設定する機能とか、
そんな機能を追加予定です。 ※実装自体は終わっている。

あとは、ちょっと癖のあった一部操作を僅かに改善したり、
いくつかあったバグを修正したり、って感じです。


XopsAddonCreator自体は、かなり完成度が上がってきており、十分満足
しています。
・・・嘘です。不満だらけです(笑

皆さんが使われる分には、比較的作り込まれた完成度の高いソフトウェアに
感じるかもしれませんが、それは見かけ・外見だけで、中身は相当ボロボロ
です。
元々 現行バージョンは、2012~2013年頃に作った初版がベースになっていますが、
当時は自身が使うプログラミング言語をHSP⇒C言語へ移行した直後であり、
C言語でそこそこ規模の大きい本格的なソフトウェアを作る経験が皆無だった
ことも災いし、基本設計もクソもヘッタクレもない状態で作られています。
ソースコードだって、誰かに見られることは一切想定しておらず、「動けばOK」
で作っているため、とんでもない状態です。

・・・いや、これでも当時は自身が持つ最高技術を投入して、ほぼゼロから必死
に頑張って作ったんですけどね。。。 当時の俺、よく頑張ったぞっ!

このブログでも何回か言ってる通り、全面的に作り直したい気持ちもあるには
あるのですが、今から取り組むと それこそ年単位になるのは明らかであり、
そこまでリソースは割けないな っと思っています。
作り直しに向け、部分的に書き直したコード類も存在するのですが、途中で完全
に放置してますし。

まぁそんな感じですが、次期バージョンとして最低限展開できるレベルまでは
作っていきたいです。


現状公開時期は未定です。気長にお待ちください。
category : ソフト・ツール開発 comment [0]
OpenXOPSを小改良する など
ここずっとFPGAでギガビット・トランシーバーばかりやっていましたが、
直近2週間ぐらいは、OpenXOPSやっていました。


既に本流へはコミットしましたが、マップの当たり判定を改良したり、
発砲時の腕の反動の計算を改善したり、リロード処理を改良したりしました。

マップに当たり判定は、完全にバグ修正です。
XOPSにおける人とマップの当たり判定は、僅かですが地面・床に埋まる
ことが多々あり、移動時に抜け出すようなアルゴリズムなのですが、
OpenXOPSにおける当たり判定の実装にバグがあり、0番目のデータの
ブロックの上面が人が登れない傾斜が付いている場合、移動時に抜け出す
処理が機能せず、地面・床に僅かに埋まり続けるバグがありました。

腕の反動計算については、小改良ですね。
今までのOpenXOPSでは定速で腕を動かしていましたが、本家XOPSの挙動を
解析する限り、腕の動きまでリニアに変化するようなので、同様の処理を
実装しました。
にしても、何やってるんだよnine-two氏。。芸が細かすぎだろ(^^;

後は、OpenXOPSの派生プロジェクトにも手を入れました。
こちらは小改良・・・に留まるレベルではなかったのですが、まぁ後日
ネタにする機会があるときに説明します。


近状の開発ネタとしては以上です。

やはり、ソフトウェアもソフトウェアで、弄ると楽しいですよね。
あえて名前は挙げませんが、某所で とある配信者が
『作っているゲームが、自分の意志でちょっと処理・命令を変えるだけで、
 ゲーム上で自分の思い通りに動作が変わるのが、非常に楽しい。』
と語っている(※意訳)のを観て、強く共感しました。
ソフトウェアに限った話じゃないですが、やっぱり自分の思い通りのモノが
作れるって、すごく楽しいことなんですよね。

さて、そろそろFPGAのネタに決着を付けなければ。。
category : ソフト・ツール開発 comment [0]
OpenXOPS for Android 発表について
3月6日、「OpenXOPS for Android」と称した新しい試みを発表しました。
名前から想像できる通り、OpenXOPSをAndroid OSに移植する試みです。


(クリックで拡大)

今までXOPSはWindowsゲームでしたし、OpenXOPSもWindowsゲーム
でした。
今回のAndroid OSへの移植によって、XOPS自体がAndroidスマートフォン
や同タブレットでプレイ可能であり、いつでも・どこでもXOPSでプレイ
することができる、画期的なソリューションのデモになると思います。
category : ソフト・ツール開発 comment [0]
[1] [2] [3] [4] [5] [6] [7] [8] [9]

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

TOP