2014/10/19

パカパカパッションの思い出

ゲーセンで最も狂ってプレイしたのがパカパカパッションです。今でもパカパカパッション全作のための筐体と基板を買おうかと真面目に考える程です。初代からパカスペまでを考えると、数十万を注ぎ込んでいると思います。ただし、やっている割には上手くないです・・・。

一応 PS 移植も買い、PS アーカイブでも即 DL しましたが、パカパカはゲーセンの筐体でプレイしてこそのゲームです。「ボタンを叩く感覚」とセットと言うか。PS では専用コントローラが発売されて買いましたが、ゲーセン筐体でなければテンションが上がりません。

パカパカはゲームとしても面白いですが、パカパカで作られたオリジナル曲が優秀で、それらが一層パカパカを魅力的にしていたと思います。Navigator、FLOATED CALM、Escape、XL TECHNO、Private Service、Blue Noise 2 などが好きで、もちろん CD  購入済みです。

狂ったようにプレイした経験からの想像ですが、ある程度音楽に関わる何かをしていないと、パカパカは上手くなれない気がしています。ボタンを押して Perfect をとるタイミングが異常にシビアで、体で譜面を記憶してリズムに合わせて叩かないと無理な感じがします。僕にも隠しステージまで進んでクリアする腕はありますが、その上を目指すとなると非常に難しく、明らかな才能の壁を感じながらプレイしていました。まぁ、それでも楽しいです。

元はゲームなどやらない妹が、たまたまパカパカをプレイして僕に教えてくれた事から始まりましたが、妹はピアノをやっていたせいか、僕が越えられない壁を当たり前のように超えるんですよね。ゲーセンでも、まるでバンドのドラマーのようにボタンを叩いている人を何度も見ました。ニコ動や Youtube で動画を見ても人外に見えます。まぁ、そんな音ゲなので、一部マニアにしかウケなかったのでしょうね。

2014/10/11

ちょっと過去の投稿動画

自分のブログから参照する用に、ちょっと過去の投稿動画へのリンク。






2014/09/27

AsyncTaskLoader を使うのを止めた

Android 版アプリ開発で非同期処理に AsyncTaskLoader を使っていましたが、どうにもしっくりこない。

Fragment で利用する Loader が 1 つになるような局面では、Fragment に LoaderCallbacks を 実装するパターンで可読性が下がるわけではなく、Fragment/Activity のライフライクルとも連動して便利なのかなと思います。

しかし、開発中のアプリでは、1 つの Fragment から幾つものサーバ通信処理(非同期処理)を呼び出すので、Fragment に LoaderCallbacks を実装して onLoadFinished で分岐するにしても、非同期処理別に LoaderCallbacks を実装しても、どちらにせよ可読性が大きく低下します。

また、非同期に実行したい処理は、極自然に実装したクラスのメソッドであるため、それら各メソッド毎に AsyncTaskLoader のサブクラスを実装する必要もあり、これも可読性を下げます。仮に、単一の AsyncTaskLoader のサブクラスで共通化できるように API を整理したとしても、onCreateLoader でのインスタンス化処理の可読性が下がるでしょう。これは、CursorLoader の使い方が示す通りです。

ってことで、何か良い枠組みが無いかと検索したところ、直ぐに以下が見つかりました。
JDeferred
非同期に実行する処理を直後に、done/fail/always でコールバックを書けるのが良いですね。ある非同期処理に関連する全ての処理の把握が容易です。
非同期処理では、その開始でプログレスバーやプログレス ダイアログを動かし、成功と失敗の両方でそれらを止めるなどの UI 制御が必要となりますが、そのような後処理を always で共通化できるのも便利です。

しかし、JDeferred は導入せず、考え方だけを取り入れてフレームワークを自作して利用しています(Deferred/Promise には従っていません)。
開発中のアプリでのみ利用する物として考えれば、必要な部分だけを洗い出し、より簡潔に可読性の高いフレームワークを作ることは容易です。
必要としない型パラメータを排除し、非同期に実行する処理は Runnable/Callable の実装としたりなどで簡素化した感じですね。

・・・つーか、ラムダ式を使いたい。匿名クラスによるコールバック実装では、可読性の向上に限界があります。

2014/09/10

そういやぁ KL1

学生の頃、並列処理に特化した言語をやったのですが、「なんて名前だっけ・・・」と長く思っていて、ようやく思い出しました。また忘れた時にブログを見て思い出せるようにメモ。最近、痴呆気味なので・・・。

KL1 - Wikipedia

僕自身が KL1 ベースの研究をしていたわけではなく、勝手にいじって学んでいただけです。
まぁ、習得した言語のほぼ全てが、そんなノリで独学した物ですが。

KL1 に触れた時には、それまで得ていた知識では理解に及ばず、新たな概念の習得を余儀なくされ、それが刺激的だった記憶があります。
そういうのが一番楽しいですね。3D グラフィックスを突然やり始めたのも、そんな刺激を求めていた所があります。

Wikipedia には第五世代コンピュータを目指した国家プロジェクトで生まれたと書かれていますが、そんな大事が関与していたとは知りませんでした。
プロジェクト終結が 1992 年、僕が KL1 に触れたのはその数年後なので、何でうちの研究室でそんな時期に KL1 が突然始まったのだろう?と思う所がありますが・・・まぁどうでも良いか。

仕事で KL1 などのような言語を扱う機会を得られる人は特殊だと思うので、貴重な体験をしたなぁとしみじみ感じています。

2014/09/03

懐古: FF11

丁度仕事を辞めた時で、丁度新居に移った時で、丁度 ADSL を引くという時で、ならば、「ADSL の性能とやらを見せてもらおうか!」と意味不明のテンションを挙げ、当時始めたネトゲが FF11 です。
当時の仕事を辞めずに続けていたならば、FF11 の存在すら知ることが無かったでしょう。当時の僕は、仕事の事ばかり考えていましたから。

もう 10 年以上前の事ですね。サービス開始から数日経過してからの参加でしたが、時期を見れば初期組というやつです。

あの頃は、僕を含めて FF11 プレイヤの殆どがネトゲ初心者でしたので、本当に自由で混沌としていて、でも、何かの期待を抱かせる世界でした。
あれは言葉では表せない経験だと思います。くだらなくてどうでも良い事が特別な何かでした。今でもセルビナの BGM を聞くと、特別な感情が沸き起こります。
経験していない人には伝えにくいですが・・・中学や高校や大学に入学した直後のテンションみたいなものですかね、アレは。

僕は飽きやすいので、1 ヶ月程度で飽き、ウダウダと不満を言いながら惰性で 3 ヶ月程やり(あんなマゾいゲームだと不満は言うでしょう)、半年(?)くらいで辞めた記憶があります。ただ、既に FF11 内の友達とは現実でも友達になっていたので、復帰を求められて何となく復帰したり、また飽きて辞めたり、でもまた復帰したりを繰り返していました。

本格的に辞めたのは数年前です。価値観が合わないと感じて完全に辞めました。僕は数多のゲームの一つとして FF11 を捉えるのですが、延々と FF11 を続ける人には FF11 が日常なんですよね。
とは言え、日常としてくれていたお陰で、僕は復帰してもスムーズに、懐かしさも含めて楽しめたので、とても感謝しています。
と言っても、日常としていた友達らも、IL 制が導入された辺りで「もう FF11 じゃない」と思って辞めたようです。

まぁ、もう年齢や時代を考えても、あの時と同じ何かをネトゲから感じる事はないだろうなぁ、と思っていますが、しかし、何かブレイクスルーが欲しいな!と期待している所もあります。

2014/07/28

Hitman: Absolution

ステルス ゲームを楽しみたくなり、何となく Hitman: Absolution を DL して遊んでいました。先日、Easy でクリアし(僕はヌルゲーマなので必ず最低難易度で開始します)、今は Normal でチャレンジ クリアを狙いながら周回している所です。

Hitman は攻略法が多岐に渡っていて楽しいですね。ステージに慣れていないうちは、敵に見つかって銃撃戦に陥るパターンが多かったですが、そうなったらそうなったで敵を殲滅し、次の周回に備えてアイテムやギミックの配置を調べていました。各ステージはいつでもリトライできるので(スタート地点 or チェックポイント)、気軽に試行錯誤を繰り返す事ができて良い感じです。

初見プレイ中、演出や銃撃戦が「Kane & Lynch に似てね?」と感じたので調べたら、同じ会社(IO Interactive 社)だったんですね。僕は数年前に Kane & Lynch 2 にもハマり、最高難易度まで何度も周回していました。
ただ、Hitman の過去作は Absolution とは趣が異なるらしく、Absolution では Kane & Lynch の開発者(?)が加わったせいで Hitman の良さが失われてしまった、との批判も見ました。

気になったので、過去作の購入を考えて動画を調べてみましたが、Absolution はステージ攻略方法の試行錯誤に焦点が置かれているのに対し、過去作は暗殺方法の試行錯誤に焦点が置かれている感じがしましたね。Absolution のステージは必ずしも暗殺目的ではないと言うか。ただし、Absolution にも多様な暗殺方法が用意されたステージが幾つかあり、クリア後に調べたら驚く物があります(2nd ステージの King of Chinatown で 10 パターン程)。

まぁ、僕はステルス プレイを目的にしていたので、Absolution のデザインで楽しいです。

2014/07/24

まほでんわーるど

Far Cry 3 と Watch Dogs と平行して、実は一番ハマっていたのがフリーゲームの『まほでんわーるど』です。

酒場でユニットを雇い、複数のパーティを構成し、ダンジョンを選択し、後はダンジョン攻略を待つだけのゲームです。パーティが全滅しそうだったり、収集できるアイテムの上限に達した場合に、自分の判断で退却させても良し。

この束縛されない緩いシステムが地味に心地よく。ダンジョン攻略終了まで他のゲームをプレイしたり、動画を観たり、ネットで情報を漁ったりなどできるわけです。パーティが上手く機能しているかどうか気になる時や、アイテムや金を充実させたい時には、ゲーム画面に張り付いて様子を見たりなどもして。

放置状態でペナルティがあるわけでもなく、気楽に、何となく、遊べるわけです。

libgdx いじり

Google が提供している Java 版の Tango Examples は Rajawali をベースにしているため、自分が仕事で開発する Tango アプリも Rajawali ベースとしていましたが、最近は libGDX への移行を進めています。一応、要点については移行が...