ゆったり腑抜け日記
〜それは河の流れのよオに〜
Diary of the cat wants to go so easy and dullard.
-It likes a gentle stream.-


Profile
Downloadable contents..(Mainly *.mid files)
A B C D E F G H I J K L M N O New
Pinky:st. 特別企画にいく
Will be refined ...?

->To index page トップへ
->To last month's diary 先月の日記へ
-> To next month's diary 来月の日記へ
-> To latest diary 最新の日記へ




んーと

あの夢のようなパソコン黄金期から(信じられないが)もう20年以上の月日が流れたわけですが
いまだに「あれ、これってどういう仕組み?」というのがわからんのが2点ある。
ひとつはPC88SRの超名作「SuperDogfighter Silpheed」のデータ量。
秒間15フレームのポリゴン表示というのが売りのこのソフトだったが、これって本当にポリゴン表示だったのか?
といまさら疑問に思っている。
描画ハードウェアがたいしたものでなかった当時、この計算量を本当にZ80-4MHzでおさめられたのか?
というね。
プリミティブ描画の基本を学習したことのある人は理解されるかと思うが、三角形ポリゴンを描画する場合、ラスター方向に三角形を分割して描画していくことになるのだが、この計算をどうやって高速化していたのかという疑問なのね。
たとえばオープニングはワイヤーフレームの空母や宇宙、戦闘機が描かれるが、やたらディスクを読む。
これって、メモリにおいた座標データを行列で計算して回転とか移動させていたのじゃまともに動かないから、あらかじめ計算済みのデータを読み取って再生しているんよね。
そのくらい計算速度は遅い。
戦闘中はひょっとして角度ごとに傾いた画像を全部持っていたのかとも思ったが、そうすると自分・敵のアニメを全部オンメモリでもっておけるほどPC88はメモリを搭載していない。
あれっやっぱりポリゴン表示だったのか?
それともなんかうまい方法があったのか?
という話。

もうひとつは、日本ファルコムのゲーム全般だったと思うが、描画を徹底的に速くするため、VRAMへの転送をmov命令でなくpushでやった、と、どこかで読んだ話なのだが、その実コードが思い付かない。
pushを転送に使うということはspをいじるということであり、spに対してロード・ストアすると普通のレジスタにアクセスするより少し遅いはずだのだ。
確かにpushは(転送先が限られてくるとはいえ)movより若干高速ではあるが、本当に言うほど高速化に貢献するのか?
なんていう話。

まあテストを繰り返して高速だと判断したからそういうコードになっているんだろうけれど。
まあいろいろと、今からするとなんでそんなことに苦労したのかわからんがとにかくよくここまで、という技術がいたるところに見られるのが、ウサが当時のゲームを好きな理由のひとつなのかもしれん。
あれほど最適化されたコードを書き上げるには、ハードを熟知していることは当然として、ソフトの設計能力も今より相当高かったことは推して知るべし。
素人が60フレームフルで動くアクションゲームをお手軽にインタプリタ言語で作れる今とは難易度が違うんだよ。
ええまたじじいの「昔はな、今の若いものはな」ですよそうですよ。
いつでも過去は思い出補正で美しく思えるのです。

というかね、あのころを絶頂期としてウサはソフト屋として終わってしまったから、あのころのままなら、まだ世界をひっくり返すだけの代物を作れたんじゃないかと、微妙な感傷に浸っているだけなんだがね。
ソフト屋として生きていこうと思って、必死に学んで、それだけで終わっちゃったというのはなんかこうあまりにみじめなのでな。
たとえていうならGRADIUSの1面の空中戦で残機を全部使ってゲームオーバーになったような。
みじめではあるが、今からそれをひっくり返そうという気力もない腰抜けでもあったりする。
なんかこう激しくいたたまれないわけよ。
燃えカスみたいな。
それでもどこかでもう一度チャンスがほしいと思って、もしかしたらできるんじゃないかとおぼろげな希望だけあるから、自宅のパソコンにいまだにコンパイラが入っていたりするんだがね。
んで気が付くと何もせずに年だけ食ってたりするんだよな。
なんにしろ、最近はどこもかしこも猫も杓子もメンバーをそろえてグループで品物を作っているわけだので、そういうところに全部一人ですませるウサが太刀打ちできるクオリティのものを作るのはえらく難しい。
本当を言えば誰かに手伝ってもらえればいいのだろうが、この年になると大概家庭を抱えていて、仕事も充実(?)、プライベートの時間なんてほとんどありません、なんて人ばかりなので、とても「ウサと一緒にデスマーチに旅立ってくださいしかも遊びで」とは言えないのだ。
といって、暇な学生とかを相手にすると、相手は時間的に融通効くかもしれんが世代間ギャップが激しくて対話がままならない可能性が高いしね。
なかなかはかがいかない話なのですよ。

どうでもいいですか。
どうでもいいですな。

絶望にも似た希望をもって寝る。

(2012/06/28)



wikipedia「ウォンバット」について
http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A9%E3%83%B3%E3%83%90%E3%83%83%E3%83%88
>おとなしい性質だが、極めて稀に人を襲うこともあり、

なんだってー!!

>ある事故では被害者がキャラバンから降りた際に、
>疥癬にかかったことにより興奮状態になったウォンバットの上に
>立ってしまったことが原因であった[4]。

いやこりゃ人間が悪いだろ

(2012/06/27)



んーと

みなの衆、25日が何の日か知っているかね。
会社によっては給料日とか、その前日だとか、いろいろあるが、この日にいろんなホビー(模型)雑誌が集中して発売されるので、趣味の乏しいウサは楽しみにしていたりするのですよ。
模型といえば、この休みにえり巻きで動きがとれない中、ちょこちょことプラ板で工作をしていて、自分ではいい出来だなと思ったのが色をつけてみたらがっかりだ残念だあんまりだ、とひどくがっかりしたものでしたよ。
ついでにキャラクターブルーが切れて中途半端に色塗りが終わってしまったしね。
まあなんだ、みなさん、表面処理はしっかりしましょうと。
プラモデルの原型とかどんだけ精度高い仕事してるんだよと。
・・・あれ、まさか人手じゃねえよな?
HGUC「Hi-νガンダム」のおでこの刻印とか、どう考えても人間の手で加工できる大きさじゃないので。
ウサが子供のころ・・・ガンプラ大ブームのさなか、どんどん発売されていた1/144スケール300円のガンダムの出来とか、今のものに比べるどころの話じゃないんで、やっぱりここ20年30年ほどの間のCAD技術や金型製作ノウハウなんかの蓄積が大きいんでしょうなあ。
でもこういう高度な技術って、足元からなくなっていくから、あるとき突然そういう生産設備が崩壊して、いちから金型や原型をCADなしで作り上げる必要が出た・・・なんていうともうどうしようもないんだな。
原始時代に戻ってしまう。
それと似たような話で、デジタルな記録の保存って実はアナログな媒体よりもコストがかさむんだぜって話をどこかのブログ記事かなんかで読んだ。
デジタルに保存してしまうと、それを読みだすデバイスがなくなったとたんにデータがだめになってしまうという。
デジカメの画像データと銀塩写真の関係とかそうね。
データがだめにならないようにするためには、再生できるデバイスをえんえんと残しておかねばならず、結局コストがかさむのだとか、原始的な技術基盤に立脚して作られたデータなら原始的な技術で(簡単に)再現できるので喪失する可能性は低いとかそんな話。
これも土台になっている技術がどんどん失われて、足元が気づいたら空洞化していた、というあたりで話が似ているのだと思う。
あんま似ていませんかそうですか。
パソコンのソフトウェアとかもそうよな。
ウサの世代はまだコンパイラがなくなっても最悪はマシンコードを逆アセンブルして二進数でパソコンに叩き込んで動かす、ということができるかもしれないが(ああウサはもうできないっす勘弁してほしいっす)、これから世代が進むとそんなこと思いもつかない人材が出てくるのではないかとね。
っつか、道場に以前きていた若いのがソフト業界の人間であったらしいのだが、「マシン語ってなんすか」ってウサにゆってきてちょっと引いた記憶があるので、もうそうゆう基礎技術の喪失ってすでに始まっているのかもしれんねえ。
そんな、大規模な技術基盤がなくなるなんてありえない、杞憂に過ぎない、としてもいいのかもしれないが、たとえばある日隕石が落ちてきて地球が寒冷化しました、寒いので火をおこそうとしたらライターで点火することしか知らなかった人々はライターがなくなって滅んでしまいました、なんて話も、なくはないのではないか?
まあ、ウサが生きている間にそんなことにならなければ別に後はどうでもいいです。
その時代その時代に今を生きている人がなんとかすべし。
あれだよ、今からわずか150年前には日本人はちょんまげだったし、テレビを見ながらごろりごろりする生活なんて想像もしない時代だったのだから、そこからの進歩を考えたら、たといこれからいろんな問題が出てきても時代に応じた新しいアイデアや技術で乗り切っていくと思います。
そんなに心配はしてないよ。
というはなし。

どうでもいいですか。
どうでもいいですな。

ちゅる

(2012/06/26)



んーと

ここんところ激しい頭痛や首の痛み、めまいなどに悩まされており、昨日さっさと会社を上がって病院にみてもらいにいったわけだ。
なんか首の関節の軟骨がすり減っており、治療のためにえり巻きのような装具をつけなさいといわれてり。
で、えり巻きの代金として一万円以上もするとされ、申請すれば7割は減額されるという。
なんか最初からお金の流れが見えていてあんまり気分がよくないのだが、身体的にも懐的にも痛いのには代えがたく、しかたなく書類申請の準備を始めたのであり。

しかしまあお前ら、・・・同年代のやつら、元気だよな。
ウサなんかもう満身創痍だというのに。
それとも、いちいち言わないだけでみんなこんなものか?
ハツカネズミみたいに必死こいて「会社のため」に働いてこの体たらくだからいやになる。
弊社もそうだけれど、「会社に貢献=生きがい、やりがい」みたいな洗脳で会社のために働くことが人生の充実だとかいってるブラック企業って根本が腐ってるから直らんのよね。
つぶれたらいいのに。
結局洗脳に失敗した社員には冷や飯食わせるだけなんでね。
「生きるために仕事する」のと「仕事するために生きる」のはもう天と地ほど違う話なんだよ。
この日本で生きてて楽しいと「錯覚」しているのは、仕事=生きがいと、自分を洗脳できたやつだけなんです。
定型的な洗脳手段と、閉鎖的な会社社会ってのが普通であったからこの方法もなんとなくまわっていたが、ネットなど個人が情報を発信できるようになって、そういうやりくちを仕掛ける側にとっては都合の悪い情報が知れ渡っていくようになれば少しは会社員というか社畜の生き方も変わるのかもしれんね。

んーと

MicrosoftからDMが送られてきていて、Visual Studioを買うと女の子フィギュアがもらえるとか書いてあった。
いやー・・・Microsoftも変わったなあ・・・。
そのフィギュアがもらえるからとぽんと20万円ちかい開発環境を買える人がいるとは思えないが。
いやもうウサとかEXPRESS EDITIONで充分なのです。
っつーかVisual Studioもバージョンがあがるたびに起動や終了までの時間が長くなっていくよなあ。
バージョンが新しくなるにつれ生成される実行ファイルの速度やサイズなんかの最適化は進歩していくんだろうが、もうそれを動かすターゲットマシンのプロセッサ速度とかメモリサイズとか必要十分なんで、ある程度古い環境で出力したものでもとりあえずバグなく動作するならそんなにあわくって最新の環境に更新する必要もないのではなかろうか。
単純に得られるバイナリとOSと、新しいのと古いのと、互換性の問題だけなのですよ。
そういう「どんなOSでも動く」という意味では、インタプリタ言語もありなのかなと最近思うようになってきた。
昔は「VisualBASICで業務用アプリ? ふざけんなこら」という感じだったが、最近は「実用的な速度で動くんならそれもありかな」というように意識が変化してきた。
プロがそんなんでは困るかもしれんが、メインの業務があって、それとは別にプログラミングをしなくてはならず、なんとか動かしている、というような話であれば、そんな一生懸命開発環境のセットアップからなにからしなくてもいいのかなあ、許してやろうかなあ、と。
ええ人間は他人を許すことからレベルアップしていくのです。
うそだがな。
偽善者めいたことをいったところで、首が痛いので寝る。

ぼっほほ

(2012/06/22)



んーと

唐突だが、C言語の三項演算子だっけ?
A?B:C;
ってやつね。
・・・みんな使ってる?
シューティングゲームの参考書を読んでいたらいたるところにこれが出てきて読みづらいったらないんだけれど。
やってることはif〜elseと同じなんで、たぶんコンパイラも似たようなマシンコードに展開するだろうと思ったのだ。
そうするとどう書くかはもう可読性のよしあしになってくると思うんだが、これ、可読性悪いよね?
こんな演算子で一行に詰め込むより、きっちりインデントを施してわけて書いたほうがいいと思うんだがどうか。
いきなり
int A=B>=C?D=E;D=F;
とか同じようなのを数行にわたって羅列されると一瞬ドキッとするわ。
っつーかこういうのってせっかくの宣言と処理がごっちゃになってウサはよくないコードだと思うんだが。
いやいやプロは普通ですよ当たり前ですっていうならなんとも言えないが。
いまうっすらググってみたら、コンパイラによっては三項演算子がif〜elseよりも20%も遅いマシンコードになるという事例もあるようだので、それなら可読性の点でも性能の点でもどうなん?
とは思うわな。
アルゴリズムを書き下ろすのでもこういう条件判断でも、素直にシンプルなコードが結局一番速いんだと思うよ。
デバッグに要する時間も、得られるマシンコードも。
異論は受け付ける。

まあ、世の中「連想配列でパフォーマンス的に全然問題ないので"普通の配列がベスト"とか"連想配列で実装=デスマ確定"とかいってるやつは謝罪しろ」とかわけわからないことをゆうひとも確かにいてるので、深い話題だなあとは思うが。
うん、ずいぶん前に某プログラマ掲示板で話題になった話なのだが、ウサは「本当に連想配列で問題ないのか? バグの温床じゃねえのか?」といまだに疑っている。
連想配列ってかっこよくさらっと言ってるが、要するに配列の添え字にハッシュされた文字列やらなんやらを使うって話だと思うので、おいおいそこで思いっきり無駄にCPU資源を浪費しているやんけ、パフォーマンス重視のゲームコーディングでそんなアホな話許されると思ってるのか、と、ウサは思うのだが、世の中いろんな立場の人がいるのだけはわかったよ。
文字列を配列の添え字に許すってのは、まあ上っ面をなでる分にはいいんだと思うんだがね。
武器[刀]=装備済み;
武器[盾]=装備済み;
とかOKだよっていう話だからね。
ただ、
武器[ゲイボルグ]=装備済み;
武器[フルンティング]=装備済み;
とかやっていったときに、その「ゲイボルグ」やら「フルンティング」という文字列が正しいのか正しくないのか、プログラマとしてなんとも言えなくなるよねってとこだと。
アイテムを管理するデータのマネージャは「うん、正しいよ」という判断ができるのかもしれないが、デバッグする立場では「フルンティング」が存在するものなのかtypoなのか、他のアイテムの別名なのか、とか、ちょっと外部のデバッガに触らせると破たんする話になるとウサは思うのだがなあ。
その掲示板で議論がどういう結末を迎えたのか、よく覚えてないのでなんとも気持ち悪い話なのだが・・・ってこの話は前にもしたんだったか。
おっさんは繰り言を何回も、もう、いやだなあ!
単にデータをどう管理するか、いろんな考え方があるのだなあ、という話なのだが、発言をする人がプロなのかプロでないのか、大規模な開発をやったことがあるのかないのかで発言の妥当性、信頼性も変わることだからなあ。
個人や同人がどう実装しようが「まあ好きにしたらええ」ですむ話だが、デスマーチや大規模開発で影響が出てから「やっぱり連想配列はいいものだ」「いや、やっぱりこの実装やめましょう」ですむ話じゃないからね。
個人的には連想配列とかそんな高度な「名前」がついている時点ですでに怪しいとは思うが。
おっさんの素人プログラマが日記でそう思うだけだから、まあ適当に読み流してくれな?
うふふ。

えっと

体調がすぐれないのでさっさと寝るわ。

んじゃ。

(2012/06/20)



んーと

打ち合わせから帰ってきたら、職場の人が「今言いに行こうと思ってた」と。
なんのことかと思ったら、台風が突っ込んできそうなので、今しがた人事から「さっさと帰宅せよ」とお達しがでたとのことであり。
で、3時すぎには会社を出て、4時ころにはウチに帰ってきて、そのまま昼風呂を楽しんだり。
毎日こんな具合に早く帰れるといいことこの上ないなあ。
台風のほうは、ウサの住むところではあんまり雨風強くなく拍子抜けした感じ。
上空はごうごうと音を立てて雲が流れていて、すこぶるいやな雰囲気だのだが、地上はそんな大した感じでもない。
が、テレビの天気予報のコーナーで見るとウサの地域のすぐ南側は暴風域だったようで、そういう意味では運がよかったのだろうね。

そんな感じでぼんやりとしていたが、近所の食料品店に出向いて今年初めてアイスクリームを買ってきて食べた。
アイスクリームもたまにゃいいものですな。

冷蔵庫で作る氷がいまいち好きではないので、製氷会社が作るぶっかき氷も一緒に買ってきて、ペットボトルのお茶を冷たくして飲んでみたり。
ああ夏が近いなあなんてのどかに思ってみたよ。
唐突に早く帰れてしまったので特にすることがない。
テーブルの上に放り出してある、作ってどうともならないプラモのジャンクを眺めながら、MGは大きすぎてHGは小さい、中間のがないかなあなどと思った夕方だった。
PGは1/60なんだっけ?
そんな高価いプラモ買わないからよく知らんのだが。
そういえばUFOキャッチャーで取ったMGの陸戦GM、まだ組んでなかったなあなどとぼんやり思い出した。
もったいないから作ってないが、ああなんだ、部品どりに開封してもいいかもしれんねえ。
オークションに流したって、よくある普通のキットだし中古だし、たいした価値があるもんでもないしね。
あのころはどういうわけかUFOキャッチャーの設定がゆるくて、そこそこいい値段の品物がほいほい取れたりした。
その陸戦GMにしても、3000円くらいはするはずのものを200円位でとったものだったりする。
最近ぶらっとゲーセンにいってUFOキャッチャーに挑戦しても、うまい棒程度の品物ですら取れないから、腕が落ちたのか設定がおろしたてのパンツのゴムのごとくにきつくなったのか、まあ世知辛いご時世ですよな。
設定きつい→何回かトライする人がいて最初は儲かるが→最終的には誰も寄り付かなくなる
となって、UFOキャッチャーは最終的に赤字だと思うんだがどうか。
他のゲームとかも難易度やデザインがマニア向けになって結局とっつきがたくなりインカムが稼げなくなるという一定の傾向があるそうだので、なかなかうまいこと儲けるのは難しい業界なのかもね。
まあ、ウサとは少し遠い世界の話だので。
どうでもいいですな。

そんなかんじ。

(2012/06/19)



んーと

NHKのアニソン三昧っていう16時間ぶっつづけでひたすらアニメソングを垂れ流すという企画に、朝の10時から夜中の1時まで付き合っていました。

わざわざほこりをかぶっていたラジカセを引っ張り出して聞いていたよ。
疲れたけれど懐かしいアニソンを聞けていかった。
twitterも結構いろんなつぶやきが流れていたようだがそれに付き合うほど気力体力時の運もなくてな。
NHKがやってくれたというのは大きいね。
気が付いたら道場の練習行かなかった。
ああまあまあ。

えっとー

今日はあれだ、「アニメ作画のきほん」という本を買ってまだ読んでないんだが、グラフィックのアニメーションの参考になればと思って。
あと、ガンプラ・・・HGUCのガンダム試作3号機を作った。
そういえば昔、アパート住まいだったころにMGの3号機を作ってどこにやったんだったかなとゴミ山をあさって引っ張り出して来たら泣きたいくらいの出来でがっかりした。
パーツごとに色違ったりしてな。
ほこりだらけだったので、今、洗面所で洗って干してる。

あと、MGが記憶の中のものより予想外に大きくてびっくりだ。
こりゃあ数作って置いておけないじゃん。
ザクとか、数作って並べるのがいいというモデルもあるでな。
試作1号機〜3号機、5、6号機あたりはキットになってるのに4号機(ガーベラ)はなんでキットにならんのだろうね。
ガーベラが一番好きなんだが。
こうしてだらだら作っていると1/144スケールが一番楽だなあ。
並べておくのも組み立てるのも。
ぶっ壊れてもあんまり悲しくならないし。
だんだんと暑くなってきて、いろいろ論理的思考とかするのがめんどい季節だので、手先だけでもそもそ作れるパチ組みは時間つぶしに最適だす。

んーと

なんか書いておこうと思った気もするんだが、忘れた。

どうでもいいですか。
どうでもいいですな。

びゅっ

(2012/06/17)



んーと

天気はもうすっかり梅雨模様じゃのう。
まあもう6月も半ばだから、梅雨で当たり前なんだが。
ウサは部屋干しするので洗濯物が乾かなくていやあねえ、ということも別にない。
もう少ししたらいたたまれないくらいじりじり暑い夏がやってくるわけだな。
その割には雨の量少ないんじゃね?
なんてちょっと気にしたりもしているわけだが。

そうだなあ

Vectorの話とか。
こないだ、前時代的なソフト登録方式だってことに文句を言ったが、一応Vector側もソフト投稿用にFTPサーバーを用意していたようだね。
知らなかった。
これについては認識不足であった。
で、そのVectorからメールが来ていて、要するに「不特定多数のソフトがどんどん放り込まれるFTPサーバーがセキュリティ的に不安だのでとりあえず停止します」という内容だった。
いや、っていうか、FTPサーバーに放り込まれるものを頭から機械的にスキャンしていけばいいんだから人的工数は少ないし楽なんではないの?
と思うんだが。
セキュリティ的に不安ってのがわからん。
人が手作業で全部確認しているから安心とかいうのだったらとんだ思い違いだしね。
FTPプロトコル用のポートだけ開けてあと怪しいパケットは全部機械的にはねたらいいでないの。
そのくせwebブラウザのフォームからソフトのバイナリを送信する登録方式は生かしておくらしい。
わけわからん・・・。
こういう通信まわりには(にも)ウサはうといんだが、FTPとフォームのSEND/POSTメソッドってどっちが安全なんだ?
怪しいコンテンツを放り込まれる危険性って意味では、どっこいどっこいな気がするが・・・。
単にすべてのファイルの登録を禁止して、セキュリティ的に安全となるまでダウンロード以外できないようにすればいいという、それだけなんじゃないのかなあ。
それはいやで、走りながら修理したいって話か。
うーん・・・もう少し、慎重にいこうぜ?
とは思うんだが。

一年に何回か、仕事の都合で他の事業所まで自転車をこいで出かけていく、今日がその日だったわけだが・・・
疲れた・・・!
普段の立ち居振る舞いに必要な筋肉は普通にあるのだが、自転車に乗るのはそれとはまた別な筋肉が必要だので。
ウサの家など丘の上にあるのだから普段から鍛えてあるだろうと思うかもしれないが、丘の上だからこそ普段はバイクで出歩くので鍛えるもへったくれもないのだ。
まあ最近は休日の昼飯のときとか歩いて飯屋にいくようにしてるんだけれどね。
会社生活ではまったく歩かないのだから焼け石に水だが。

んーと

Twitterでも一言だけ書いたが、「ウチに帰ったら即テレビつけるわ! テレビのない暮らしなんてありえん!」という人がいるのを知って、それこそありえん!
と思っているのだが。
ひとつはまあ、えっこの節電節電叫ばれている中で無駄に電気使うの?
テレビ止めてエアコンだけ使うようにすればいいやん、
っていう話と、
えっテレビつけてそんな見る番組あるの?
って話。
今年も熱中症で老人のひとりふたりお亡くなりになると予想しているんだが、なぜマスコミは「テレビを消してエアコンで熱中症にかからないようにしましょう! われわれも日中電波を止めて節電に全面協力します」といわないのか。
自分らの放送とテレビを棚に上げて、やれ節電だエアコンの温度を高めにしろ、なんて一日中放送していたら情報弱者とかはテレビつけたままエアコン止めて自分から蒸し焼きになるわな。
マスコミのやっていることは緩慢な殺人じゃないのか。
まったく。
後はまあ、受動的にただ流すだけで番組を見て、なんぞか役に立つ情報や人生の指針となるような進言が得られることって少ないと思うので、テレビ消してエアコンを効かせて読書でもしようぜってこと。
三流芸人のプライベートとかどこでいくら使ったとか、それ、貴重な帯域と電力を使ってする話か?
まあ、パラダイムシフトってほどでもないかもしれんが、みなさん自分の生活をいっぺん見直したほうがいいんじゃないですかね。

そんなかんじ。

どうでもいいですか。
どうでもいいですな。

ぐぽ

(2012/06/15)



シューティングの話とか。

まず、GRADIUSみたいな横画面ものにしようかと企画。
パワーアップアイテムで順次パワーアップみたいなね。
パワーアップすると攻撃方法も変化するわけだが、たぶん自分のY方向の移動量に追従する・しない、なんて微妙なパラメータが攻撃方法ごとに変わってくるはずなんだ。
(GRADIUSのレーザーとか、発射後も自分のY座標に追従するね?)
そうすると、自機の構造体にそういう各種武器への接続を用意しなきゃならんのだが、これって敵機にもつけたほうがいいかね?
つまりAという敵が武器Bや武器Cを頻繁にとっかえひっかえして攻撃してくることがあるのかということ。
まあ敵味方問わず武器は構造体のポインタで接続することにして、接続先にレーザーとか3-wayとか、特殊な攻撃形態も記述してしまうのが統合的に扱えて楽なのかもしれんが。
あと、弾丸の発射に際して、1回のボタン押しで何発出すか、その時間間隔はどうするか、はデータとして持っておかないとならんね、っていうあたりまでは考えている。
いまどき、1回ボタン押しで1発しか弾丸が出ないとか、はやらないのですよ。
たぶんね。
というか、レーザーなどを長い一本の弾丸として処理するか、コマ切れの横棒が連続したものとして処理するかという話と同等の話なのね。
その連続具合がちょうど細切れの長さ分きっちり連結していればレーザーだし、もっと長い時間間隔でつながるならただの通常弾だし。
あと、敵・地形に対する貫通作用、ダメージ値、ひょっとしたら相手の弾丸との相殺のための属性なんかも必要かもしれぬ。
東方シリーズみたいな弾幕同士で相殺処理とか考えるとウキィッってなるかもしれんが、GRADIUSみたいなデザインではそうそうひどいことにはならないと踏んでいる。
そもそもGRADIUSは相殺とかないか。
なんだ格闘ゲームと同じアクションゲームだからそこそこ仕様練っておけばプロトタイピングいけんじゃね?
と思っていたが存外考えること多いなあ。
んまあ遊びだからだらだら進めたらいいんだけどね。
うんだらだらする。

どうでもいいですか。
どうでもいいですな。

(2012/06/12)



ゑーと

件の「2」の話とか。
最終バージョンでキャラセレ画面に少し手を入れた。
といって大した話ではなく、キャラクターを選択して決定するときにカーソルをちょっと拡大するアニメをつけたというところだけ。
以前はキャラクターを決定したらジングルを鳴らしてそれがわかるようにしていたんだが、効果音を鳴らさないモードをつけてみたら選択したことがさっぱりわからないということに気が付いたという、まあ、これ、UIデザイン上の話か?
そういう風になったので、効果音を消していても選択したことがわかるようにしてみた。
効果音を消すモードのあり・なしを別にしても、近所迷惑を考えてテレビを音声ミュートしてゲーム機を使う人とかもいるかもしれんので、この辺はしっかり設計しておかないといかんな。
さすがに映像をミュートされるとお話にならないかもしれんが、存外ステレオ音声の位相だけで位置関係を把握してゲームとして遊んでしまう人もいるかもしれん。
テキストアドベンチャーとかは音だけでプレイできる有力候補じゃなかろうか。
宅配便の不在受付とかは電話で選択肢を説明してあれで成り立っているわけだから、あんな感じでいけると思う。
状況説明まで絵に依存しないフルボイスでやるってのは手間が半端じゃないと思うがね。
シナリオを変えたら即音声の取り直しというのがたまらなく開発工数としてきついよな。
この辺は音声合成ソフトウェアの機能が上がっていって人がいなくても音声を収録できる環境が整えば、おのずと解決できると思われるし、プログラムとしてはいたって簡単だと思うので、伏線とかもれなく網羅でき、落ちも完ぺきというシナリオを書ける人はやってみるとよい。
UD適合のゲームとして、万人に受け入れられるものになるかもしれない。
他人が簡単にシナリオを実装できるようなシステムをきっちり作れれば、誰かがそれを使って、新しい物語を作ってくれるというのもありかもしれないんだぜ。
そういう、いろんな人が楽しめるシステムを提供した対価としてなんぼかでも製作者の懐が潤うような仕組みがあるとよいな。
現状はフリーソフトを開発してもクレーマーがひどかったり、あんまりいいことないのでなあ・・・。
ウサとか、昔作ったソフトで「地形に対して影の落ち方が気に入らん」とかわけのわからんことをいわれたこともあるもんな。
今だったら「仕様だ黙れ知恵おくれが!」と一喝するところだが、当時は真剣に対応しちゃってさあ・・・。

まっすぐではあった。
真剣でもあり、情熱もあった。
だから無理を重ねた。

だがそういうくだらんところで消耗する必要はないのですよ。
特に金になるでもない話はね。

下手に相手してやるとクレーマーに「俺が言えばなんとでもなる」という思い上がりを抱かせることになります。
クレーマーというのはまあきちがいの一種だから、こちらは苦しまず、できれば向こうが自分で自滅して勝手に消滅してくれるのが一番楽でよいのですがね。
あとはまあ、せっかくIT時代とかキーワードはかっこいいことを言っているのだから、そうゆうクレーマー情報を共有し、どこで暴れている、くだらない書き込みをしているとか全部DBにまとめて、掲示板に書き込んだときに名前欄の横あたりに「この人はきちがいです」とか「クレーマーにつき返答不要」とか表示したらいいんだよ。
まあ下手するとただ口数が多いだけのやつにレッテルを貼って言論封殺するだけになってしまうので、なかなか実現はしないだろうけれどね。
(口数が多いだけのやつもネット上では十分にうざったいが)

んーと

最近体調が悪くて、11時前には寝床に入るようにしているのだけれども、なんかこう、誰もが楽しく暮らせるようになる方法を発明できたら一生食うに困らないよな、なんて感じでぼんやると考えていて、結構遅くまで起きていてしまった。
で、なんかすげえいいアイデアが出たような気もするんだが、朝起きてみたらすっかり忘れていたので、まあたいしたことではないんだろうな。
そんな、一晩考えただけで出てくるアイデアなんて、大勢の人間がいっぺんは考えて没にしたような話なのだろうからな。

ゲームでもそうなんだけれどね。
画期的なアイデアを思い付いた!
これ実現できたらすげえ!
って思うようなものは、刹那的に思い付いたのならなおさら、以前にどこかで検討の俎上に上がっていて、それ相応の理由があって採用されなかったものばかりだからな。
それだけ「最初の一個」を考え出せ、形にした奴はすごいってことです。
それに「形にする」のもう一つ上に「多数に認められる」というのがあってそっちのがさらにハードルが高い、それをクリアしてやっと歴史に残るのだろうな。
「認められる」と言ったって、必ずしもいいことじゃなくても大勢の心に残っちゃったらそれ自体は成功なんだろうなと。
ひとそれを「汚点」というのだがな。

まあどうでもいいはなし。

ねるわ。

(2012/06/11)



えっとー

ぼんやりと件の「2」の公開申請をしてみたり。

なんつーかもうどうでもいくなったというか。

いくら放置しても金にならんのはかわりないので。

んで、昨日買った「シューティングゲームアルゴリズムマニアックス」をぼんやり読んでいた模様。
GRADIUS I/II/IIIのサントラをかけまくって気分を出してみてな。
シューティングゲームを作ってみようとぼんやり思ったが、実は数えるほどしか作ったことがなくてな。
例えば、キャラクターは何種類かのものが多彩な動きをするわけだが、それを同じルーチンで処理するとして、どう構造体として保持するか、とか、わからんことのが多かったりするわけだ。
最近のマシンパワーにものを言わせて、汎用の処理ルーチンではなくて、すべての種類のキャラクターを専用に処理するルーチンを一個ずつ持たせ、それぞれのキャラクターが動くときにそれで動かしてやってもよくね?
などとね。
1/60秒で全部の処理を終わらせればいいわけで、今のマシンならそんな高速性を追求したプログラミングをしなくても、そこそこ速度がでるはずだのでな。
遊びでやるんだから楽なやり方を選んだらええ。
と、思うが、その「楽」がどうすればいいのかわからんというのが正直なところだな。
まあ、しばらく、脳内で設計を続ける。

ああそうそう

何十年かぶりくらいで雑誌「I/O」を買ってみたんだった。

パソコン情報雑誌じゃなくなってんのな!

スマホとか、今月のはタッチパネルの動向とか、いろいろIT関連の話題を広く浅く扱ってるようで、プログラムのソースコードとかほとんど掲載されてなかった。
これだけ記事の振れ幅が広いとなかなか特定の読者ってつかないんじゃないかとも思うがそれは余計なお世話か。
この「I/O」や「ベーマガ」が担っていたかつての技術志向パソコンユーザーにあてたドキュメントって最近はweb上の掲載になるのかな。
例えばこんな。
https://sites.google.com/site/gamagreader/
「ゲーム制作雑誌 がまぐ!」
上のとかは更新が微妙に滞ってるのがなんだが、コンスタントに記事をかけるライターがいればそこそこユーザーがつくものかもしれんね。
金になるならないはともかくとして。
まあ、時間とパゥワーがあるやつがやってくれたらいい。
そこに食らいついていけるユーザーは制作側に回るだろうし、ついていけなくても、ああソフトってこんなんなって動いてるんだ、裏側は結構大変なんだなあ、ってのがわかるだけでも見る目が変わってくると思うので、馬鹿ユーザーの減少につながるといいなあと思うわけ。

どうでもいいですか。
どうでもいいですな。

どくっ

(2012/06/10)



えっとなんだ

ちょっとしたシューティングゲームを作ろうと思って、Visual Studioのプロジェクトを新規に作成したのだ。
で、ライブラリというか足回りをとりあえず既存の件の「2」からもってきて、ああまあ全部ソース持ってくればいいか、と思って新規プロジェクトを作った。
動作しない。
Ypaaaa!!!
セグメンテーションバイオレーション、最悪のパターンだ!
落ち着け落ち着け!
と思ったが、始めたのがおやつの時間くらいで、道場に出かける時間になったのでさっさと家を出たのだったよ。
ヨドバシカメラでPS3買おうかどうしようかとかなり迷ったが、まあAQUAPAZZAが届いてからでいいかー、とかひよって買わなかったんだ。
正直ほかに欲しいソフトもないしな。
書籍コーナーで「シューティングゲームマニアックス」という参考書籍の類を見つけたので買ってしまう。
同じシリーズの弾幕のを持ってたので。

で、帰りにちょっと読んでみたんだが、・・・これ、ウサ、前に買ったような気もする・・・。
どうせ本の山に埋もれて見つからないだろうとはいえ、なんかがっかりした。

そして再度パソコンの前に座ってデバッグ開始。
執拗にトレースを繰り返して、なんかしらんがscanfのフォーマットが"%d"になってるのにWORD型の変数に代入しているところを発見。
修正したら動いた・・・。

ああやれやれ、つまんねえことで時間とられた。

というかこの部分あんまいじってないはずだから、もしかして今まで偶然動いてた?
困ったものだ。
というわけで、今晩はあんまり進まなかったので、寝ながら読書でもするものとする。
そんなかんじ。

ぴひょー

(2012/06/09)



件の「2」の話とか。

デバイスロストに対応するコードは一応入っているのだけれど。
D3DXCreateTextureFromFileInMemoryだっけ?
このAPIをコールして生成されたテクスチャはD3DPOOL_MANAGEDと同様のメモリ空間に配置され、デバイスロストでも消滅しない、と、MSDNには書いてあるのだが、実際動かしてるとたまに消える。

テクスチャが消えて、-1(0xffffffff)でフィルされるのか、または意味不明なアドレスを指すのか知らんが、ウィンドウに真っ白なポリゴンが表示される。
で、デモプレイ画面だとほっとくとタイトルに戻って、そのときテクスチャをロードしなおすので何事もなかったかのようにもとに戻るんだがね。

オイオイなめんなよ?

というか、この白いポリゴンになってしまう現象は前から起きるのは知ってたんだがたまにしか起きず、再現性が悪いので、めんどくさくて直しもしなかった。
今回いろいろいじってるからついでになんとかならんかという程度の優先度なんだがね。

スリープから復帰で100%起きるならまだ納得しないでもないが、たまにしか起きないというのが腹立たしい。

スリープから復帰後にどういう状態になっていればテクスチャがロストするのかとかまったくわからんので、適当にパソコンをいじってスリープさせて、寝て起きて、復帰して、と、いろいろ当たってみるしかない。
わけだな。

で、現在メモリにロードされているテクスチャがどんなファイルを読み込んだものなのかは自前のメモリに覚えているので、デバイスがロストしたときそれらを順繰りに再度読み込んでいって復元されれば問題ないわけなのだがね。

というわけで、デバイスロストが起きるのをお待ち申し上げている状態。
そんな、ゲーム立ち上げてスリープするほどほっておいてるやつが悪いっちゃ悪いんだがね。
まあ、納期がある話でもないからぼんやり進める。

ここらへんの再現性の悪い不具合って他者様はどうしてんのかね。
割り切ってんのか、気が付かないのか、対策してるのか。
よそのライブラリ使ってるからそんなところまで考えたこともありまへん、って人もいそうだな。

んーと

動画サイトで、某ゼビウスを作っちゃいましたって動画があって再現っぷりに感動した。
シューティング下手だからそんな詳しく覚えてるわけじゃないのだけれどな。
こうゆう、弾幕ではない、普通のシューティングのほうがウサはなじみが深いな。
スタートレーダーってみんな覚えてるかね?
ああいう、スコアとか関係ない、ストーリー重視のシューティングを作ってみたいとは思ってるんだが、時間が取れなくてなあ。
あと獣神ROGUS。
というか機甲戦記ドラグナー?
なりゆきでそこらの若者が軍の機密兵器のパイロットになってしまい、敵勢力と戦うみたいなのをやってみたい。
「3回目の突撃戦功賞はもらった!」
「な、なにか武器はないのか!」
みたいな。
ああわからないですか。
いや別にいいです。
そろそろなんか新しいことをやらんと脳が腐ってしまうかもしれんね。

年とるとホントに時間がなくなるので、若い奴は例えば大学の暇なモラトリアム期間に、作れるものを作っておくと吉。

どうでもいいですか。
どうでもいいですな。

ぴゅっ

(2012/06/05)



最近頭痛がきついウサです。

んーと

今日は予告どおり朝っぱらから近所総出で溝さらいしたんだった。
世話焼きのおばさん連中が「どうせ年一回のことでしょ」と、ウチの庭まで手ぇ入れてくれて助かった。
普段頭下げておくとこういうとき手を貸してもらえるという話。

えっと

件の「2」の話とか。

フルスクリーン表示にしたとき、文字表示の位置がマシンによって違ってしまうという。
他のグラフィックはちゃんと表示できているのでなんでかなと思ったんだが、文字表示に使ってるDrawTextって座標系が別なのな。
それと、フルスクリーン動作するとき、そのマシンがもっている最高解像度で動かしていたから、解像度が違えば「この辺」っていう表示位置(数字)も変わって当たり前という話なんだね。
アスペクト比が変わって見た目も違ってきちゃうのがいやだったので、もう強制的に640x480の解像度でフルスクリーンに遷移することにしてしまった。
これを全部位置を揃えるとかゆうと画面解像度ごとにレイアウトのコンフィグデータを持って読み込ませるとかそういう話になってきてしまうと思うのでな。
左右に黒い帯が出てしまうが、まあ、4:3画面を無理に16:9画面に表示するのだからしかたないかとも思ってり。
だがまあ、ブレイブルーとか、最初から16:9画面を前提にした画面構成やグラフィックのゲームが主流でもあるわけですし、そういう意味ではもう設定を直したほうがいいのかもしれんね。

あとあれだ、スリープから復帰するとフリーズする件。

別のコードのバグだった模様。

最初はビデオRAMにとられたサーフェスがスリープ動作でロストするのかと思って資料を探していて、D3DXCreateTextureFromFileInMemoryの説明を見てみたら、このAPIで生成されたサーフェスはメインRAMとかどこか、スリープでもロストしないメモリにおかれるという説明であったので、つまりD3DXCreateTextureでD3DPOOL_MANAGED宣言した時と同じということだから、スリープで特に復旧処理をしなくても消えることはないというわけで、古いソースに戻して、フルスクリーンに変更するあたりを少し修正したらなんともなく動いた。
大きく修正しようとするとこういう、新しくバグを入れ込んでしまうことがあるからプログラミングとゆうのは恐ろしい。

まあ、世の中、バグのないプログラムなんてないのでね。
その大小はあるかもしれんけれど。

どうでもいいですか。
どうでもいいですな。

にゅるび。

(2012/06/03)



んーと

先日、件の「1」の掲載を依頼された雑誌を下見のため買ってみたんだわ。
紙面を綿密に読み、厳正なる検討の結果!

掲載を不可としました!

なんでかって?

・全体に扱っている内容が乞食むけである
 この動画サイトの動画はこんな方法で無料でダウンロード
 できるとか、こんなソフトが無料で利用できるとか、市販の
 くそ高いソフトじゃなく、無料のソフトで済ませましょうよ、とか、
 とにかく無料乞食に対して「あれも無料!これも無料!」と
 訴求するスタンス。
 ソフトは価値に応じて金をとる権利があるというのがウサの
 信念なので、ここらがもう許せない。
 どうせウサの件のも、あまたある「無料」ソフト扱いなんでしょ。

・記事の内容がいちいち下品
 とりあげる気にもならないが、こないだ少し話題になった
 B-CASカードを割る話とか、エミュレータで無料で(ここでも
 無料!)アーケードゲームを楽しむとか、エロ動画サイトの
 紹介とか、下品もいいとこでまともに話を聞く気にならない。
 そういえば掲載している広告も、借金整理の話とか、なぜか
 お数珠の通販とか、うさんくさいことこの上ない。

・依頼メールがすでにあやしい
 依頼してきたメールに「本誌は初心者向けの雑誌で・・・」
 などと書いてあるが、お前、初心者にこういうグレーゾーンの
 話していいと思ってんの?
 まじめにテストを受けようと思っている学生に、見つからない
 カンニングの仕方を教えますよっていってるようなもんだぞ。
 そもそも、編集者のメールアドレスがなんで会社ドメインじゃ
 なくて一般のプロバイダなんだよ。
 一応は会社の顔として話をしているはずなんじゃないのか。
 外部の雇われ編集者が適当に話をしているとしか思えない。

など、さまざまな要素を考慮して、ウサのソフトを掲載するに値しない雑誌だと判断しました。

こんな雑誌に掲載されたって、「とうちゃんテレビに出たぞー」って見てみたら「酔っ払い線路に落ちる」なんてニュースの主役だった、くらいに恥ずかしいだろ。
こっちは社会人的に大人のメール返したし、向こうも「ああ、じゃ、穴埋めの記事探すか」程度にしか考えてないだろうから別にいいんじゃね。
これが「所定の紙面を埋められなかったために給料をカットされて妻子が路頭に迷った」とかだといやだがね。

えっと

件の「2」だが、バスエラーで死ぬ場面がでて困っている。
といって、普通にやったらそんなことは起きないのだが。
「2」を起動したままパソコンをスリープに落とし、少しして電源復帰で戻った時に死んでしまう。
まあ理由は想像できていて、スリープをかけたときDirectXのデバイスがロストするというそんだけなんだけれど。
今までスリープかけてもデバイスロストなんかしなかったのになんでだろう?
まあ、なんしか状況が変わって今まで起きなかったことが起きているのだとしかいえないが。
というわけで、デバイスがロストしたときの復帰コードを書き直すはめに。
バスエラーで落ちるってことは回復できてないってことだものな。
そんなもん、ゲーム中にスリープに落とすとかそっちのが非常識だろうっていう立場に立てば、スリープから復帰してデバイスがロストした瞬間にPostQuitMessageを投げて、後始末まできれいにしてからソフトを終了させるのは簡単なんだがなあ。
なんとなく仮の対策コードは頭に浮かんでいるが、しばらくいじっていないルーチンを見なきゃならんので、そこに修正が発生するかどうかだな。

まあ適当に直していきます。

そんなかんじ。

どうでもいいですか。
どうでもいいですな。

きゅぽ

(2012/06/02)



えっとー

久しぶりにDirectX9の参考書を読み直してみようと思ってページをめくったんだった。
会社から帰って数時間しか使える時間がないので、どんだけこれで復習が進むかというのはわからないのだけれど、少なくとも今までできなかったフルスクリーンモードでの起動ができるようになった。
単にパラメータ設定の不足だったんだけれどね。
フルスクリーンなんてのは高速化のためグラフィックの資源を占有する必要があってやってた面があり、ウィンドウモードで起動してほかのアプリとリソースを分け合っても十分な速度がでる今、やる必要があるのか?
とも思うが。
大体な、QVGAクラスの解像度を想定して作成したドット絵をフル画面で拡大してみたってギザギザが目立つだけでなんにもいいことないんだよ。
画面のアスペクト比で見た目も大きく変わってしまうしな。
でもまあ、「ゲームはやっぱりフルスクリーン大画面で楽しみたい」って人間もいるかもしれんしね。
そうすると、まさかとは思うが、大画面プラズマテレビにパソコンを接続してハイエンドグラフィックのMMORPGとかをやってる人間もいないともいいきれないわけで、そしたら焼き付き防止機能も追加せにゃならんの?
などといろいろ余計なことも考えてみたり。

そもそもなんで復習しようとしたかというと、レンダリングが終了した画面をどこかに保持しておいて、それを加工して元の画面に重ね合わせて演出効果を強化してみようかと思ったからなんだがね。

で、MSDNのサイトで情報を見てたんだが、どうもあのサイトは用語からなにからいまいち読みづらくていけねえ。
というわけで、本の山の中から、厨坊がはじめるDirectXみたいなタイトルの本をひっぱり出してきて読み始めることにしたってわけさ。
今はこんなお手軽な書籍がようさんでてて、学習する側はずいぶん負担が軽くなったなあ。
DirectXでも2.0のころは電話帳みたいなリファレンス本を眺めて、ところどころは英語の資料を当たって、ひととおり動かすまでのハードルがえらい高かった。
もっとその前はハードウェアの仕様書を眺めて自分で設計から実装までやらんといかんかったから、ずいぶん楽だ。
この厨坊がはじめる・・・みたいは本とかはわざわざ構造体の名前までふりがなをふってあったりして、親切この上ないわな。
(ぶっちゃけ読みづらいけど)
ゲーム機のローンチタイトルの開発を始めるときなんかは当然こんな親切丁寧なドキュメントなんぞなくて、たぶんハードのベンダーが出した英語の仕様書とかをもとに動くソフトを作っていかなきゃならないとかだと思うので、プロのプログラマは大変だなあ。
あと、こういう最新のものを柔らかく噛み砕いて一般のユーザーに知らしめる書籍を書くテクニカルライターの人。
こういう人々がいるからウサとかが鼻くそ掘りながら安心してコードをかけるんだな。
感謝。

そんなかんじで。

どうでもいいですか。
どうでもいいですな。

みゅる

(2012/06/01)



過去の遺産 /現在の日記へ