近況ログ 2017

ふとイラストを書こうと思い立ち、せっかくだから左手の操作をキーボードでするのをやめてゲームパッドでやりたいなと思ってしまった。

つまりゲームパッド入力をキーボード入力に置き換えるツールが必要ということ。
ついつい最初はHSP3で自作しようとしてしまったものの、世の中にはそういうツールがあるんだったということを思い出して探してみました。 いくつかあったので適当にダウンロードして調べてみました。せっかくなので結果をまとめてみます。

JoyToKey
http://joytokey.net/ja/overview
この分野で一番有名で高機能なツール。シェアウエアだが機能制限はないので実質カンパウェア。他のツールで出来ることはこのツールで全てできる。
欠点:欠点らしい欠点がない。

JoyAdapter
http://www.vector.co.jp/soft/win95/util/se069688.html
DirectInputやDOSプロンプトにも対応。
欠点:1ボタン=1キーが基本。(但しマクロで1ボタンに複数キー割り当て可能。)
配布ファイルがLZH形式。

JoyKey
http://www.vector.co.jp/soft/win95/game/se164612.html
コントローラー対応ソフトでコントローラーを使えなくする機能がある。
欠点:Vista以降では使えない。Win10ではGUIによる設定変更ができない。(INIファイルを直接書き換えるしか無い。)
配布ファイルがLZH形式。

JoyNext
http://www.vector.co.jp/soft/win95/util/se116503.html
予め指定しておいたプログラムが実行されると、そのプログラム用のジョイスティック設定を自動的に呼び出すオートロードが可能。
欠点:別途ランタイムの入手が必要。1ボタン=1キーが基本。
配布ファイルがLZH形式。

MultiplePad
http://www.vector.co.jp/soft/winnt/util/se349929.html
動作に対してゲームパッドのボタンを割り当てる方式。他のツールとは逆の手順。
欠点:任意のキーの組み合わせを設定できない。

JoyToKey以外は更新が止まっていました。 またJoyToKey以外は機能的に選択する意味がない状態でした。 まさに独走状態で、後発ではこれに追いつけないでしょうし、これ以上に一体何の機能をつける余地があるのかと…。付加価値での勝負も難しいと思います。 凄いですね。私もいつかこんなツールを作ってみたいものです。

 誰得モジュール行列計算モジュールに機能追加。 「PCM入出力プラグイン for HSP」で遊んでみたかったので音声関係の機能追加しました。 さて、マイクで遊ぶぞ。

 mod_Matrix作ってる間にグラフ プロット モジュールでバグがいくつか見つかったので修正しました。 このモジュールはHSPでは面倒だったグラフ描画が簡単にできるモジュールです。 開発中のゲームの数値変化を可視化するなどの用途に使えると思います。 グラフづくりという無駄な作業が軽減されることで、ゲームの開発が捗る…かも。

 また誰得モジュール作ったよ。
 自分でも使う予定がないのについ知的探究心からやっちゃいました。

 ということでこちらです。
行列計算モジュール
 昔作ったd3module用の座標変換命令のmD3Matrixモジュールとは違い、 任意サイズの2次元行列を計算できます。 単純な足し算、かけ算以外にもsin、cosや行列の連結、抽出、コピーなどよく使いそうな命令をいくつか用意しました。

 ついでにFFT(高速フーリエ変換のこと。ファイナルファンタジータクティクスじゃないよ。)も実装してみました。CPUに計算させるのでデータ量が多いとさすがにアレですが、そこそこ使えそうな速度が出てると思います。 だからって何に使うのか私もわかりませんが。(´・ω・`)
 音を視覚化するアプリとか、逆FFT使って音を作ったりするのも面白いかも?

 時間かかるけど、データ数が2のべき乗じゃなくてもちゃんと計算(離散フーリエ変換)できるのでそういう特別な用途で計算してみたい人には需要…あるのか?

生存報告

2017/05/27

気がつけばもう5月も終わり。 何も手についていない…これは…まずい。

 去年、日付計算が必要でHSPでの修正ユリウス日の計算方法を調べてゲームに使用していました。 前回プレイからの経過日数が取得したい程度だったので、フリューゲルの公式をint関数で記述して使っていました。 現在の日付付近というか近代付近の計算だったのでたまたま何の支障もなく使えていました。

 それがいけなかった…。
 Excelの日付関連の計算機能をHSPに実装するの簡単なんじゃないか?などと安易に考えてしまいました。

 本格的に作り始めてから間違いに気づくなんてよくあることです。 修正ユリウス日の計算結果が合わない。ネット上で公開されているツールや計算結果と一致しない!どうなってんだこれ!!
 床関数をintで簡易処理していたので、マイナス実数値の処理結果が違ってたんですね。
 さらにマイナス値の乗除の扱いがHSPの¥と違っていたのが原因でした。
 Wikipediaの説明も記述が紛らわしくて勘違いしてしまってたし!(y,m,dの扱いが統一されてないし説明もない!)

 ということで、真面目に実装していったところExcel関数の移植まで体力持ちませんでした。 その代わり紀元前の計算も正常取得できるしっかりしたモジュールが出来たと思います。 よろしければお使いください。

修正ユリウス日換算モジュール