SVX日記
2004-07-23(Fri) 作業お休み(その2)
あづーい。あまりに暑くてやってられん。つーことで、今日はストックネタを出すのである。そう、先日レビューした「Namco TV Classic 5 in 1 Games」の続きである。では、どうぞ(やりなげ)。
ラリーX
これはオリジナルと同じ横画面なのだが、なんとレーダー画面がない。厳密に言うとレーダー画面はあるのだが、メインのコース画面の上にドットがオーバーラップ表示されているのである。そのため、若干レーダー画面が判読しづらいのが残念である。ニューラリーXではないので、車はエラがない形状であり、ラッキーフラッグも存在しないが、なぜかレーダー上でスペシャルフラッグが点滅している。コースに関しては詳しく覚えていないのでオリジナルとの比較はできないが、特に違和感を感じるほどのヘンなコースではない。ニューラリーXではないため、袋小路的が多いのもオリジナルに準じている。レッドカーの動きに関しては若干追いかけがキツい感じだが、代わりといってはなんだが相互にブツかってマゴつくことが多く感じる。このヘンは私の感覚なのでなんともいえないが。チャレンジングステージもちゃんとあり、燃料切れになるとレッドカーが動き出す。スタート直後に下に移動すると、レッドカーをスリ抜けるワザも再現されている軽快なBGM、効果音に関しても十分にオリジナルを再現している。レーダーの件はあるが、移植度は高いといえよう。
ディグダグ
先の2機種と同じくTV画面が横長であるため左に寄っている。画面右側はスコアと残機、クリア面数をあらわす数字が表示される。オリジナルでは地表に花が咲くことでクリア面数表示がなされていたが、地表部分が非常に狭くレイアウトされているため、省略されている。オリジナルでは地層が微妙に波打っていたが、本機ではまったくの水平。面が進むと地層の色が変化するのはオリジナル通りだが、変化の仕方は異なるようである。ベジタブルはちゃんと出現する。敵はちゃんとプーカとファイガーの2種類。しばらくすると目変化して地中を追ってくるし、面が進むと一部屋に2匹入っているし、残り1匹になると逃げ出すのもオリジナルどおりである。BGM、効果音に関しても十分にオリジナルを再現している。歩きを止めるとBGMが止まるのもオリジナルどおりである。ハイスコアBGMも存在する。しかしながら、ファイガーの炎は薄い土の壁を通り抜けるのに、ポンプのヤリは届かないという点がオリジナルと異なる。また、自機の当たり判定が微妙にデカい、(連射しにくいボタンではあるが)ポンプ連射により敵を倒すスピードが速い、敵の速度が速いなど、オリジナルとの量的な違いが目立つ。これらの要素が合わさった結果、かなり難易度は高くなってしまっている。表面的な再現度は高いのだが、残念なことに移植度は低いといえよう。
ボスコニアン
ラリーXと同じような画面構成を持つ本作だが、レーダー形状も踏襲している。つまり、メイン画面の上にドットがオーバーラップ表示されているのである。バックが明るいラリーXと異なり、レーダーは見やすいが敵弾と混同することがある、レーダーに縁がないためどこでループするのかがわからないのが残念である。そして、あまりに大きなオリジナルとの違いが、本作は8方向スクロールが可能なのにもかかわらず、本機のレバーは4方向レバーということである。恐らく、単なるハードウェア的な問題であって、機器内部で動きを制限しているプレートを外せば、ソフトウェア的には8方向に移動が可能と思われるが、これのせいでかなり遊びにくくなっている。とはいえ、他の4作は4方向レバーのおかげで遊びやすいのも確かなので、微妙な問題なのだが。基地の配置に関してはオリジナルと異なるようであるが、これはさほど問題ではないだろう。基地は中心が開いたときに弾を打ち込む方法と、周囲の6個のモジュール全てを破壊する方法の2種類の破壊方法がとれるのもオリジナルどおり。ステージ開始時にじわっとスクロールが開始したり、面が進むと基地の中心が開くと同時に円錐状の敵ミサイルが発射されたり、リーダー機を伴うフォーメーションアタック、スパイシップを逃すことによるコンディションレッド、敵ミサイルが周囲のアステロイドや機雷に勝手にブツかって破壊するのも再現されている。ただ若干、機雷爆発時の当たり判定持続時間が短いようである。BGMはコンディション変化に伴ってめまぐるしく変化し、効果音に関しても十分にオリジナルを再現している。4方向レバーの件はあるが、移植度は非常に高いといえよう。
2006-07-23(Sun) クルクルイッペイ・完結編
わしゃ骨の髄からの「Linux野郎」かつ「CUI至上主義者」なのでオーサリングもGUI環境では行わない。ImageMagickのconvertコマンドで極めてロジカルに一発処理するのである。
wbel3-co:/home/mitsu/gif_anime/master $ for i in RIMG*.JPG; do echo $i; convert -crop 600x900+397+23 -geometry 200x300 $i ../shrink/$i; done
wbel3-co:/home/mitsu/gif_anime/shrink $ convert -delay 100 -loop 0 -adjoin RIMG1234.JPG RIMG1235.JPG .... RIMG2467.JPG RIMG2468.JPG Anime.gif
2008-07-23(Wed) Fedora9、iiimecfチューン
つーわけで、emacsである。オイラのemacsとの付き合いは電脳倶楽部から始まった……と、一見意味不明ながら、これでピンときてしまう、オイラと同じ「その筋」な人は決して少なくないに違いないと思うので、あえて説明は略す。
そりゃ、別にemacs上でフツーにATOKを起動したって日本語は打てる。んが、その場合、2ストロークキーを使う際、イチイチATOKをオフにする必要が生じ、実質、使い物にならない。キーボードの上に何層にもバラ撒いてある大量の機能を体で使いこなしてこそemacsを使う価値がある。決してマウスなんかでメニューを触わってはイカんのである。
# tar xvfz IIIMECF-0.75.tar.gz
# cd iiimecf
diff -c lisp.org/iiimcf.el lisp/iiimcf.el
*** lisp.org/iiimcf.el 2007-12-09 08:54:54.000000000 +0900
--- lisp/iiimcf.el 2008-06-05 12:54:41.000000000 +0900
***************
*** 284,289 ****
--- 284,305 ----
(defvar iiimcf-keycode-spec-alist
`((13 10 0)
+
+ (11 37 65535) ; Ctrl + k
+ (12 39 65535) ; Ctrl + l
+ (14 40 65535) ; Ctrl + n
+
+ (21 117 65535) ; Ctrl + u
+ (9 118 65535) ; Ctrl + i
+ (15 119 65535) ; Ctrl + o
+ (16 120 65535) ; Ctrl + p
+
+ (2 38 65535) ; Ctrl + b
+ (6 32 65535) ; Ctrl + f
+ (7 27 65535) ; Ctrl + g
+
+ (1 36 65535) ; Ctrl + a
+
(32 32)
,@(mapcar #'(lambda (x) (list x x 0))
(iiimcf-numseq 1 31))
# emacs -q --no-site-file -batch -l iiimcf-comp.el
# mkdir /usr/share/emacs/site-lisp/iiimecf
# cp lisp/* /usr/share/emacs/site-lisp/iiimecf
;; .emacs
;;; uncomment this line to disable loading of "default.el" at startup
;; (setq inhibit-default-init t)
;; enable visual feedback on selections
;(setq transient-mark-mode t)
;; default to better frame titles
(setq frame-title-format
(concat "%b - emacs@" (system-name)))
;; default to unified diffs
(setq diff-switches "-u")
;; always end a file with a newline
;(setq require-final-newline 'query)
;;; uncomment for CJK utf-8 support for non-Asian users
;; (require 'un-define)
(global-set-key "\C-h" 'delete-backward-char)
(global-set-key "\C-z" 'scroll-down)
(global-set-key "\C-u" 'undo)
(global-set-key "\C-]" 'call-last-kbd-macro)
(menu-bar-mode nil)
(column-number-mode t)
(setq blink-matching-paren nil)
(setq default-tab-width 4)
(setq default-fill-column 64)
(setq text-mode-hook 'turn-on-auto-fill)
(setq make-backup-files nil)
(setq auto-save-default nil)
;; ATOK X3 for Linux
(setq iiimcf-server-control-hostlist '("unix:/tmp/.iiim-mitsu/:0.0"))
(require 'iiimcf-sc)
(setq iiimcf-server-control-default-language "ja")
(setq iiimcf-server-control-default-input-method "atokx3")
(setq default-input-method 'iiim-server-control)
(define-key global-map "\C-j" (lambda ()
(interactive)
(if current-input-method (inactivate-input-method))
(toggle-input-method)))
(define-key global-map "\C-o" (lambda ()
(interactive)
(inactivate-input-method)))
(setq iiimcf-UI-input-method-title-format "<ATOK:%s>")
(setq iiimcf-UI-preedit-use-face-p "window-system")
前回との差は、IMの起動キーを「Ctrl+J」でオン「Ctrl+O」でオフに変更したこと。結局「変換」で通常のATOKのオン/オフ、「Ctrl+変換」でemacsのATOKのオン/オフ、などとやってると、なまじ操作が近い分、混乱を招くだけであった。そこで、思い切って、オンとオフのキーを分離し、指の方を慣らすことにした。
んが、イザ使い始めると問題発生。全角の記号である「■★…」等が半角扱いになって表示が乱れてしまう。表示上の問題だけであれば、何とか我慢できないこともないが、この文字を出そうとするとiiimecfがコケてしまうからキツい……■だぁって使いたいぃ〜、●もぉ出したいぃ〜、きらっ★ 流星にぃ〜♪……てな感じで打てなければ戦争が終わらない。
どうも、emacs22からはMule-UCSというUTF8を扱うモジュールが不要になり、代わりに内蔵のutf-translate-cjkというモジュールを使うようになっており、それで起動が速くなった反面、微妙な動作の違いが問題として表面化しているということらしい。
結論から言うと、以下の設定を.emacsに追加すればいいらしい。出典はココ。
(utf-translate-cjk-set-unicode-range
'((#x00a2 . #x00a3) ;
(#x00a7 . #x00a8) ;
(#x00ac . #x00ac) ;
(#x00b0 . #x00b1) ;
(#x00b4 . #x00b4) ;
(#x00b6 . #x00b6) ;
(#x00d7 . #x00d7) ;
(#X00f7 . #x00f7) ;
(#x0370 . #x03ff) ; Greek and Coptic
(#x0400 . #x04FF) ; Cyrillic
(#x2000 . #x206F) ; General Punctuation
(#x2100 . #x214F) ; Letterlike Symbols
(#x2190 . #x21FF) ; Arrows
(#x2200 . #x22FF) ; Mathematical Operators
(#x2300 . #x23FF) ; Miscellaneous Technical
(#x2500 . #x257F) ; Box Drawing
(#x25A0 . #x25FF) ; Geometric Shapes
(#x2600 . #x26FF) ; Miscellaneous Symbols
(#x2e80 . #xd7a3) (#xff00 . #xffef)))
ブログ等、ブラウザでは基本的にプロポーショナルなフォントで文章を読むので大きな問題はないが、メール等では閲覧環境が等幅であることも少なくなく(我がmaveもそうだ)、その場合の読みやすさに配慮して、オイラは半角英単語の左右には半角スペースを入れることにしている。んが、IMをオフにしないと半角スペースが打てない環境だとすると、これはやってられないほど面倒である。個人的には大問題だ。
前回はTERATERMとiiimecfの両方の改造によって、どうにかこの動作を実現したが、今回はどうしてもダメ。相当の時間、iiimecfのソースをイジっては、試行錯誤を繰り返したのだが、ニッチもサッチもどころか、ヨッチもゴッチも(以下略)いかないったらない。
結局、またもやオープンソースの強みを発動してしまった。やや、究極の手段だが「作者の方に相談する」である。状況を説明し、どうにかヒントだけでも、とお願いしたところ、結局、ズバリの修正方法を教えてもらってしまった。方法は以下。
diff -c lisp.org/iiimcf.el lisp/iiimcf.el
*** lisp.org/iiimcf.el 2007-12-09 08:54:54.000000000 +0900
--- lisp/iiimcf.el 2008-06-05 12:54:41.000000000 +0900
***************
*** 565,570 ****
--- 581,587 ----
(char (logior (lsh (car kchar) 16)
(cdr kchar)))
key)
+ (if (and (= 1 mod) (= char 32)) (setq kmod '(0 . 0)))
(cond ((/= (car kcode) 0) nil)
((setq key (iiimcf-iiim-keycode-pre-translate
(cdr kcode)))
(global-set-key [?\S- ] 'iiimcf-server-control-keyforward)
作者の方によると、実装方法としてあまり美しくないということで、本家の開発ツリーにはこのパッチは取り込まれない可能性があるそうだ。いうなれば「iiimecf先生のパッチが読めるのはSVX日記だけ!!」という状態といえよう。うっしっし。
ただし、これにはまだ続きがある。言ってなかったが、オイラはemacsを-nw付きで常用している。つまり「別にGUIウィンドウを開く」のではなく「端末画面内にそのまま表示」させているのである。これで何か問題があるかというと、実はかなりの問題があって……
……のであった。これでは、如何にiiimecf側で対処してもらっても、どうすることもできない。当初は、どうにかShiftの押下を伝える方法があるのではないか、と軽く考えていたのだが、どうやらどうにも無理らしい。
……やっぱ、ヤブサカっすわ。フォントが複数使えるエディタは「マルチフォントエディタ」だが、これじゃ「まるっちいフォントエディタ」である。そもそもオイラは、アンチエイリアスフォントが今ほど一般的でなかった頃からの、筋金入りのOsakaアンチエイリアンである。今さら、ビットマッピンガーには戻れないのだ。決して。
……などと、ボヤくヒマがあったら、情報収集だ。同じコトを考えているヤツは大抵いるハズなのだ……と、あったッ!! XftGnuEmacsだ。
2009-07-23(Thu) 「JS-1V」プレステ対応完了
これにより「内蔵した5種のゲーム」「Wiiクラシックコントローラ」「USBジョイスティック」「USBマウス(パドルによるX軸操作)」「プレイステーション」の5機種対応ジョイスティックが完成したわけだ。いや、見かけはチープだし、反省点も多いが、なかなか有意義な工作であった。
しかし、プレイステーションに対応したものの、いまひとつ「ジョイスティックであること」を最大活用できるソフトが思い浮かばない……と、あった、コレだッ!! グラディウスッ!! ……って、また、グラディウスかよッ!! しかも、そりゃプレイステーションというよりMSXやがなッ!!
んが、懐かしくやってみると、結構、骨のある作りで、骨のステージで頓死してからは、グダグダ進行。要塞ステージでは、懐かしの復活パターンを復活させてしまったし……うーむ、これを機に、グラ2からパロディウスまで制覇してみようかしらん。そういえば、パロディウスだけは未クリアだしな。
とかなんとかいいつつ、レイストームやGダライアスを引っ張り出してきたり、グラディウス3で「うままう」したり、ダイヤルでチャンピオンシップスプリントやキャメルトライしたり……しばし、ゲーム熱が復活……しかし、どうにも、極めようとまで思えるような熱意は湧いてこない。むしろ、アルカノイドでコンティニューしまくるというぬるま湯プレイの方にしっくり間を感じてしまう……ハッ!! これって当時忌避していた、100円タワーおっさんそのものではないかッ!!
こーなったら、いっちょ若返りのため、いつしか苦手科目に位置づけてしまっている弾幕系シューティングにでも手を出して、苦手の克服に挑戦してみようかしらん。