SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|05|06|

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方向レバーの件はあるが、移植度は非常に高いといえよう。

  画像の説明

  まとめ

総じて多少の難はあるが、ナムコ公認だけあって非常にレベルの高い製品だと感じた。次は「パックランド」「ギャラガ」「ドラゴンバスター」「マッピー」「ゼビウス」の5本で作って欲しいものである。


2005-07-23(Sat)

  PCの設定して、昼寝


2006-07-23(Sun) クルクルイッペイ・完結編

  昨晩、夜通し撮影したイッペイの寝相だが、朝方、デジカメで画像を確認して吹き出してしまった。こりゃ、面白いわ……というわけで、早速、Animation-GIFにオーサリングしてみることにする。

  わしゃ骨の髄からの「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

  でもって、チョコチョコとPhotoshopで落書きして、以下のコマンドでAnimation-GIFに変換!!

wbel3-co:/home/mitsu/gif_anime/shrink $ convert -delay 100 -loop 0 -adjoin RIMG1234.JPG RIMG1235.JPG .... RIMG2467.JPG RIMG2468.JPG Anime.gif

  完成したのが以下のAnimation-GIFである。予想以上に一晩中ゴロゴロと転がり回っていることが判明した。以上。

  画像の説明


2008-07-23(Wed) Fedora9、iiimecfチューン

  つーわけで、emacsである。オイラのemacsとの付き合いは電脳倶楽部から始まった……と、一見意味不明ながら、これでピンときてしまう、オイラと同じ「その筋」な人は決して少なくないに違いないと思うので、あえて説明は略す。

  言うまでもなく、emacsは至高の環境である。んが、ガンガンと日本語を打つには、チューンが必須である。そもそも、ATOKを導入しておきながら、emacsからロクに使えないのは罪である。

  そりゃ、別にemacs上でフツーにATOKを起動したって日本語は打てる。んが、その場合、2ストロークキーを使う際、イチイチATOKをオフにする必要が生じ、実質、使い物にならない。キーボードの上に何層にもバラ撒いてある大量の機能を体で使いこなしてこそemacsを使う価値がある。決してマウスなんかでメニューを触わってはイカんのである。

  ここは、emacsに備わっているIMインタフェイスに、直接ATOKを接続しなくてはならない。そして、そのためのiiimecfである。

  iiimecfに関しては、以前にTERATERM環境から快適に使えるよう、いろいろチューンした経緯がある。今回はそれを下敷きにしつつ、もう少し向こう側まで、細かいチューンを進める。

  まずは、iiimecfをダウンロード。前回は0.73を導入し、その環境は現在も現役であるが、今回は、いくつかの不具合が修正されている0.75を利用させてもらう。まずは展開。

# 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

  emacs-22.2-4.fc9だと、多少、コンパイルエラーが出るが、私が使った限りでは、特に問題は出ていない。そのままインストール。

# mkdir /usr/share/emacs/site-lisp/iiimecf
# cp lisp/* /usr/share/emacs/site-lisp/iiimecf

  個人設定である「.emacs」に設定を加える。

;; .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のオン/オフ、などとやってると、なまじ操作が近い分、混乱を招くだけであった。そこで、思い切って、オンとオフのキーを分離し、指の方を慣らすことにした。

  それと、TCPでなく、既存のunixドメインソケット経由でiiimdに接続するようにした。これで、別途iiimdを立ち上げる必要がなくなった。

  また、preedit-use-face-pにwindow-systemを与えた。これをすると、変換中の状態が色で表示されるようになり、断然見やすい。これはTERATERM経由でも有効だ。

  んが、イザ使い始めると問題発生。全角の記号である「■★…」等が半角扱いになって表示が乱れてしまう。表示上の問題だけであれば、何とか我慢できないこともないが、この文字を出そうとすると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)))

  これでほとんどの記号が問題なく扱えるようになる。一部ダメだった記号があったような気もするが、忘れた。忘れる程度の記号ということなので問題ない。たぶん。

  と、記号の問題が片づいたところで、ラスボスの登場である。それは、IMがオンの状態だと、Shift+Spaceで半角スペースが打てないという問題。

  ブログ等、ブラウザでは基本的にプロポーショナルなフォントで文章を読むので大きな問題はないが、メール等では閲覧環境が等幅であることも少なくなく(我が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)))

  でもって、.emacsに以下を追加。

(global-set-key [?\S- ] 'iiimcf-server-control-keyforward)

  作者の方によると、実装方法としてあまり美しくないということで、本家の開発ツリーにはこのパッチは取り込まれない可能性があるそうだ。いうなれば「iiimecf先生のパッチが読めるのはSVX日記だけ!!」という状態といえよう。うっしっし。

  ただし、これにはまだ続きがある。言ってなかったが、オイラはemacsを-nw付きで常用している。つまり「別にGUIウィンドウを開く」のではなく「端末画面内にそのまま表示」させているのである。これで何か問題があるかというと、実はかなりの問題があって……

  Shiftキーが押されていることがemacsに伝わりゃしねぇ

  ……のであった。これでは、如何にiiimecf側で対処してもらっても、どうすることもできない。当初は、どうにかShiftの押下を伝える方法があるのではないか、と軽く考えていたのだが、どうやらどうにも無理らしい。

  こーなると、emacs -nwを使うのをアキらめるしかない。これに関して言えば、決して「GUIウィンドウで使う」にヤブサカでないのだが……

  なんじゃこのまるっちいフォントは!?

  ……やっぱ、ヤブサカっすわ。フォントが複数使えるエディタは「マルチフォントエディタ」だが、これじゃ「まるっちいフォントエディタ」である。そもそもオイラは、アンチエイリアスフォントが今ほど一般的でなかった頃からの、筋金入りのOsakaアンチエイリアンである。今さら、ビットマッピンガーには戻れないのだ。決して。

  emacsの「伝統を大事にした実装」は素晴らしいと思うが、反面、UTF8といい、フォントといい、取り込むタイミングがちょっと後手に回っている感じだよなぁ……

  ……などと、ボヤくヒマがあったら、情報収集だ。同じコトを考えているヤツは大抵いるハズなのだ……と、あったッ!! XftGnuEmacsだ。

  というわけで、次回はFedora9、××チューン最終回である。


2009-07-23(Thu) 「JS-1V」プレステ対応完了

  というわけで、無事「JS-1V」の最後の対応予定機種である、プレイステーションへの対応を完了した。併せて、USBマウスのクリック操作も可能にした。

  画像の説明

  これにより「内蔵した5種のゲーム」「Wiiクラシックコントローラ」「USBジョイスティック」「USBマウス(パドルによるX軸操作)」「プレイステーション」の5機種対応ジョイスティックが完成したわけだ。いや、見かけはチープだし、反省点も多いが、なかなか有意義な工作であった。

  しかし、プレイステーションに対応したものの、いまひとつ「ジョイスティックであること」を最大活用できるソフトが思い浮かばない……と、あった、コレだッ!! グラディウスッ!! ……って、また、グラディウスかよッ!! しかも、そりゃプレイステーションというよりMSXやがなッ!!

  画像の説明

  んが、懐かしくやってみると、結構、骨のある作りで、骨のステージで頓死してからは、グダグダ進行。要塞ステージでは、懐かしの復活パターンを復活させてしまったし……うーむ、これを機に、グラ2からパロディウスまで制覇してみようかしらん。そういえば、パロディウスだけは未クリアだしな。

  とかなんとかいいつつ、レイストームやGダライアスを引っ張り出してきたり、グラディウス3で「うままう」したり、ダイヤルでチャンピオンシップスプリントやキャメルトライしたり……しばし、ゲーム熱が復活……しかし、どうにも、極めようとまで思えるような熱意は湧いてこない。むしろ、アルカノイドでコンティニューしまくるというぬるま湯プレイの方にしっくり間を感じてしまう……ハッ!! これって当時忌避していた、100円タワーおっさんそのものではないかッ!!

  こーなったら、いっちょ若返りのため、いつしか苦手科目に位置づけてしまっている弾幕系シューティングにでも手を出して、苦手の克服に挑戦してみようかしらん。