TOBY SOFT .net

DIARY 2000

log [ 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | latest ]

2000/10/29より前は、ミスってログを飛ばしてしまいました(´д`;)

かーちゃんに、「MDってなんけ?」と聞かれ、「メガドライブやろ」と即答してまいましたさ。

programing

いまさらながら、フリーパスカル(解説)ってのもあるんですな。 Delphi互換で、さらに演算子オーバーロードが使用可能! i386系オンリーなのがちと残念ですが。 そういや、フリーDelphiってのはどうなったんでせう。

ああ、自分専用言語がつくりたい、今日この頃。

unix

Xでtwmが動いたのを喜んでから、止まってる気が…

2000/11/02 HIKIKOMORI2000

常時接続の環境が整い、いよいよ引きこもり気味で、 オフラインでは皆様方に迷惑かけている今日この頃です。

programing

以前、書いていた問題がいくつか解決 ちなみにエディタはgVim6.0iです。

>・関数や変数の補完や引数表示ができないのが痛い

  • ^N or ^Pでファイル内の単語を拾って補間
  • ^X^Iでインクルードファイルを考慮しての補間
が可能のようです。基本的に挿入モード時。

>・他の関数へのジャンプが容易でない

ctags *.cpp として、tagsファイルを生成しておいて、
  • 関数名の上で^]
  • :ts hogehoge (tab補間可能)、 :tn, :tpで次や前の候補に移動可能
  • :ts /^hoge のように正規表現でもOK
  • g の後、マウスで関数名を左クリック
などなど。基本的にノーマルモード時。 ジャンプ前の位置にもどるのは、^T。 ctags は、適度に実行しておくとよさげ。 (# Makefileに放り込んでおくとか(ヒデェ))

しかし、viクローンも慣れると意外に便利ですなー。 行きたい位置に、すばやく移動できるのがよいですわ。 (# viマスターになるとあらゆる位置に平均3ストロークで移動可能らしい(無理))

programing > Delphi with WIN32API

Win32 API by ObjectPascal of Delphi DelphiでVCLを使用せずにアプリケーションを構築する方法が解説されてます。 DelphiでVCL使いの方は大抵こういうのをみるとビビルっぽいですが、 C/C++なんかで組んでいる人にとってはしごくあたりまえのことです。 とは言え、しっかりコントロールごとにカプセル化されていたり、 ページ自身が系統だってまとめてあって見やすいのでかなり参考になります。

実は、うちの『顔!顔!顔!』や『GuNMeN』でもVCL使わずに組んでましたが、 実行ファイルが小さくなる&修行になるのでこの手法はかなりお得です。 というか、フルスクリーン前提のゲームだと、VCLなしでも十分なんですよ。 リストやストリーム関連のクラスも自作してしまえばよいのですし(ぉ 嗚呼、数年前にこのページを見つけていれば苦労しなかったのにな−。 (# いや、どちらにせよ苦労はするか)

programing > draw

DirectDraw vs DIBSection Windowsのゲーム向け描画に関して数年間かけてようやく経験し理解してきたことが、 ほとんどまとめて載ってます。 ここを読むと、いままでバリバリDirectDrawでやってきたのに 何故『GuNMeN』で自力描画に変更したかというワケがわかります。 もはや、自分が解説するまでもないです。

このページ、自分がまだ理解できていないキャッシュについて実例を交えてかかれています。 ただ、解説されているように数ラインごとに描画しようとする場合、 1フレームにつき、何度も数百ものオブジェクトを描画しないといけないので、 キャッシュを考慮しても早くなるのか疑問です。 まあ、実際やってみないとわからないので今度やってみます。 自分の場合、こんなこともあろうかと(笑 任意短形のクリッピングを考慮してライブラリを組んでいるし、 オブジェクトの移動処理部と描画部は分けてプログラムを組んでいるので、 難しいことではないです。

programing > moral

『私が得たプログラマー人としての教訓』 描画系ルーチンを調べていて偶然発見(何故)。 これまた自分が今まで経験して悟ってきた教訓が、かなり載ってます。 非常によいものではあるのですが、悲しいことに大概こういうものは ある程度経験をつんでいるか、もしくは受け入れられる人でないと 見てもあまり意味が無いのではないかという気がします。 というか、単に自分が『結果がわかっていても経験しないと理解できないタイプ』なので、 そう思っただけですが。ある程度経験をつんだ今だから、まとめとして使えるのでしょうなー。 久々に自分にためになるページを見つけた気分。

2000/11/09 ヤメテー

エディタの謎現象により編集中の日記データがほとんど吹っ飛びました(´д`;) 独自の書式で書いてから、アップ前にHTMLに変換してるものですから、 復旧できません(というか、逆変換が面倒だけ)

diet

最近妙に太ってきたのでしばしの間ダイエットをー。 自分は、太る体質なので油断すると恐ろしいことになるんですよー。 (# JAL氏がうらやますぃ) 今回は、キャベツダイエット(謎)に挑戦([]括弧内は付加したドレッシングの材料)。

  • 11/06の食事
    • 朝:生キャベツ + [マヨネーズ]
    • 昼:生キャベツ + [中華風ドレッシング]
    • 夜:なし
  • 11/07の食事
    • 朝:生キャベツ + [中華風ドレッシング + マヨネーズ]
    • 昼:生キャベツ + [ケチャップ]
    • 夜:生キャベツ + [和風ドレッシング(醤油,ごま油MIX)]
  • 11/08の食事
    • 朝:生キャベツ + [焼肉のたれ]
    • 昼:なし
    • 夜:生キャベツ + [マヨネーズ + からし + ゆで卵]
  • 11/09の食事
    • 朝:生キャベツ + [マヨネーズ + コーン]
    • 昼:生キャベツ + [マヨネーズ + オニオン + コーン (具だくさん)]
    • 夜:生キャベツ + [マヨネーズ + オニオン + コーン (汁ダク)]

意外にキャベツだけでも生きていけるようです。 ドレッシングを工夫すると、楽しみが増えてGOOD。 (# 最近は、マヨばかりだが気にしない) そういえば、体重測ってなかったので、測ってみると57Kgでした。 って、全然、前から太ってないやんけー(数値上は) (# むしろ、絶対的に見ても太ってないと言われそうだ) うーん。

programing

Makefileに書くための依存関係を自動的に調べるには、 gcc -MM ファイル名 でよいのですなー。うわぁー、灯台下暗しー。 と思ったら、サブディレクトリのファイルを指定すると、 なんと出力ファイルにディレクトリ名をつけてくれないんですよ、奥さん! 仕方ないので、shスクリプトでディレクトリ名を無理やり付加してやったという… (# perl使えるんならperlで組めよーとか、makedependじゃ駄目なのー?という意見があるが、 どこでも動くように作りたいというこだわりなのです)。

しかし!自動的に調べられるようになったのはよいのですが、これだけでは 「一度のmakeで依存関係調査しつつコンパイル」 というのができないのです。 (# 統合環境のように、ワンステップでコンパイルできないと気に入らないらしい) というわけで、毎回 make 時に一度ファイルに依存関係を出力しておいて、 そのファイルをインクルードした別のMakefileを実行することにしました。 うーん、スマートじゃないですなぁ。

これでようやくと思ったら、依存関係のファイル更新はバカ遅いは、 そのファイルは未来に更新したファイルだと警告はくは(謎)でもうイヤです。 そもそも、一発でやろうとするのがまちがいらしい…というわけで、 適当なときに手動で依存関係ファイルを更新するのが安定という方向で。

access log

最近の謎な検索用語(アクセスログ解析結果)

  • マイコン刑事

    まさか、マイコン刑事(補足:すがやみつる原作のマイコン漫画)で検索する人がいるとは!

  • 念力マウス

    これまた、マイナーな単語で検索を! 海外で販売されているらしいマウスです。 超能力野郎としてはそろえておきたい一品ですな。

  • fist

    FISTのことならこちら『ラジオ体操』のページへどうぞ!!

2000/11/11 最近は

作り手がマズイというのもあるけれども、 プレイヤーもマズイというのも確かにあるなあと実感。

dejimon

映画版、確かにおもしろかったです。 妙に身近というか。リアルというわけではないけれど。 某氏いわく、「その良さは間違い無く、日常感からきている」という表現がピッタリかと。 スキも無いし…。 TVとキャラ絵が全然違うのは愛嬌(ぉ)

access log

対戦格闘でなく、対戦アクションですってばー(しつこい) ちなみに、顔をぶつけて敵を倒すこと自体は別に新しいシステムではないです。 有名なところでダイナマイトヘッディでもやってます^^; 回してでかくするというところは他には無いはずですが。 「是非アーケードで稼働して欲しいゲーム」というのはかなりいいところを突いてきますなー。 製作者の一部(ほんとに一部)でどこかのゲーセンでおいてもらおう、という話があったくらいですから (# いや、マジでどこかにおいてもらえませんか(ぉ))。

diet

プログラマさんのWEBページ、どこいってもダイエットネタが…。 流行なのかー。 ちなみに、まだしつこくキャベツ食ってます。

2000/11/12 やめたやめた

最近しゃべりすぎ。反省。しばらく黙っていよう。 しゃべるより、手を動かそう。 (# やはり、クリエイターなら作品で語るべき)

2000/11/13 だがまあ

作業状況くらいは書こう…

programing > C++

はあ、シフト演算子って、そんなに優先順位低いんですか…。 Delphiだと加減算よりは順位高かったから…ハマってまいましたよ… (# つーか & や | もじゃないか、オイ。ハマるよこれ…)。

それはそうと、シフト演算はしっかり符号を考慮してくれるんですなー。 Delphiの右シフト(shr)は、符号を考慮してくれないのでエライことになったことが…。 確か固定小数点の時だったはずです、ひっかかったのは。 左シフト(shl)は符号考慮してくれるんですがねー。 (# C++とDelphiの移植性を考えるなら素直に * 2 とか / 2 した方が安全の模様。 べき乗は最適化でシフトやアドレス計算に置き換わったりして高速だし)

むふー、DelphiとC++の違いをまとめておくべきですな。 意外にハマリが多いんで。

2000/11/19 まあまあ

game

マルチメディア祭とやらでプレイしてきました、『罪と罰』。 見せてもらおうか…連邦軍のモビルスーツの性能とやらを!! と意気込んだはいいが、あの武器は自分は見ていません!って感じで。 あたらなければどうということはないとかそういう問題ではありませんよ。 ともすれば、FF1のクエイクというか、「レベル25以下デス」というか、 もう半端なクリエイター皆殺しーみたいな、破壊力。 こんなの買えません。トレジャー怖いです。 プレイ中、狼馬家特性のゲームソフトみたいにSDスピリット指数を吸い取られそうです。

programing

自作ライブラリをC++に移植中、クリッピングルーチンにバグ発見。 もしかすると、GuNMeNで変なところにオブジェクトが描画される現象が起こっているかも(ぉ) (# 描画のみだし画面外に描画することはないので、幸い全体の動作に支障はない模様)

machine

ようやく、ノートで3Dも可能な時代も来ますなー。 消費電力が(というかバッテリのもち時間が)今後の課題っぽいですが。 まあ、ね、次のマシン買い替えのころには、ソフトウェアレンダラの 時代になってるだろうから関係なし〜(いいすぎ) そもそも3Dで作るということ自体いつになるかわからないし。

zoid

リーゼちんのパイロットスーツ姿が、妙に女っぽくて萎え。

2000/11/28 結局買っちゃタ

罪と罰。 ムズイけどやりごたえあるゲームです。 死にそうになりながらも(というか死にまくりで)ノーマルクリア。 そして、ハードモードに突入。 上手い具合に敵が増えていたり、パターンが変わっていたり、 これが本当の罪と罰かーみたいな感じです。 これ、最初にハードで作って、少しづつ殺ぎ落としていったのだろうかー。

2000/12/02 ファッキンMIDI!!

自力でMIDI再生、面倒くさいです。 以上。

programing > MIDI

『以上』じゃなくて…。

あのですね、言わずもがな、MCI使って再生すると楽なんすけど 長い曲データだとマジで止まるんですわ。環境にもよりますが。 うちのWin98だと止まらないんだけれど、Win2000のMicrosoftSynthsizerだと 恐ろしく長い時間止まります。トイレ行ってかえって来れます。 同じマシンでですよ、同じ音源チップですよー(ドライバとOSは違うか…)

それで、自力再生というところに行き着くのですが、 (# ちなみに行き着いたのは、3年ぐらい前だけど実行に移してなかった(ぉ)) 実装途中でいろいろと問題が…。

  • 一定間隔で、メッセージを送らなくてはならない。 MIDIの時間単位はμ秒。何を使って実現しよう? タイマー?スレッド?ゲームループ?
  • 一回一回、再生時にデバイスをopen、停止時にcloseすると、 うちのMicrosoftSynthsizerの場合ブチブチいう。

最初の問題。 以前、マルチメディアタイマーのクラスを作っていたのでそれに決定(ぉ (# ゲームループに組み込む方法はもたつきまくりなのでやめ、 スレッドは個人的に好きでないのでやめました(何故?)) ただ、マルチメディアタイマーだと最高で、1msec単位でしかメッセージを送れません。 と思ってやってみた結果、1msecでなくても、2とか5msec間隔でもちゃんと聞こえる模様(ぇ) さすがに、間隔を取りすぎると曲が変わってしまいましたが。 まあ、実際問題、汎用プレイヤーを作っているわけでもないので、 少々ずれたところで、問題はないんですが。 そもそも、「元の曲と違うぞ!」なんて言うのは製作者だけですしー。 CD版とMIDI版をまったくいっしょにすることは不可能ですしー。 そうしたいならMIDIなど最初から使わない安定ですしー、ですしー。

2番目のブチブチいう問題ですが、再生、停止時にopen, closeせずに、 『最初からopenしておいて、MIDIを使わなくなったらcloseで解決!』 かと思いましたが、そうは問屋はおろさないようで…。 それだと、次の曲を再生しようとしたときに 以前かけたエフェクトやらなにやらが残ったままー。 ガーン。まあ、当然ですが。 (# 突然ですが、FOXさんへ。 ICQで一方的にこの件で、「解決しました!」とか送ってしまいましたが、 解決してませんでした(´д`;))

で試行錯誤したところ、上記の方法+ 『停止時に全チャンネルにリセットオールコントローラーズ(BnH 79H 00H)を送信』で エフェクト関係がリセットされてOKっぽいです。 これでようやく解決ー、かな?

sound

ここのFPD置き場に、Saga1,2の全曲集がーがーがー。 ソフトウェア音源+手打ちMMLによる完全再現ー!? 聞いてて涙出てきましたよ〜。いい音やー。

どうでもいいけど、Saga3はSagaシリーズとしての内容はともかく、 音楽はかなりよかったと思います。 しかーし、何故か肝心のサウンドテストがないんですよねー。 というわけで、Saga3全曲集がある場所キボーン。

unix

WindowsにX入れて遊んでる場合じゃないんですが…。 (# 遊ぶって言うほど、まともに使わなかったけど)

2000/12/04 カチュア、リッスン…

GuNMeN

こんなところで紹介されてます。 つーか読めませんがな(´д`;)

あ、なんか、デモ版ってことになってるし…。 完成品のフリーソフトなんですけど…。

TOPページ見る限り、ゲーム(デモ版含む)の紹介サイトみたいです。 (# http://www.demoland.co.kr/が表示されないんですけど…。 一応、IEだとhttp://www.demoland.co.kr/ex_index.html, ネスケだとhttp://www.demoland.co.kr/ne_index.htmlでよいっぽい) DownloadTop10にSentimentalShootingとか入ってる辺り、微笑ましいですな(ぉ)

2000/12/05 TOPページが

ますます、iモード対応ページになってしまいましたなぁ(´д`;)

programing > C#

こ、これは!! 今更ですけど、C#萌え萌えですがなー。 今まで偏見の目で見ていて全然知らなかったんですが、調べ物していて偶然発見。 なんつーか、(Delphi + C++ + JAVA) / 3 みたいなー。 うう、こういう言語がほしかったんすよー。 設計者がDelphiの設計者っていうのもうなずけるよ、うん。 Delphiチームから引き抜かれたスタッフ、こんなことやってたんですねー。 とりあえず、いくつか気になったところをー。

まず、using がよいですねー (#includeなんか使ってられっかーって感じです)。

プロパテイ、インデクサもよし。 ここらへんは、Delphiの利点を取り入れてますなぁ。

unsafe でCコードを埋め込めるっていうのもナイス過ぎー。 必要なところでは、ポインタ使ったり従来的手法が利用可能という。 (# インラインasmもぜしぜし(ぉ))

いままで見た中で一番気に入った言語ではないかなぁーこれ。 (# C++やめて、C#に移ろうかという気になってきてる…まずいなぁ。 しかも今確か、β版配布していたような…まずいなぁ。 来月のCマガにそのSDKがついてくるような…まずいなぁ)

2000/12/12 先輩、先輩ー

あのー、バウンサー(PS)のサブプログラマーやってるというのは本当ですか?^^;; (# と、かまを掛けてみるテスト(コラ))

あと、もう一人の先輩へ。 いつのまにドリフに入られたのですか^^;;;; (# と、かまを掛けてみるテスト2(コラコラ))

robot

超変形ダイヤドロイドほしぃー。 いわゆるレゴとかダイヤブロックに代表されるブロック系玩具なんですが、 CMでリアルタイムに変形合体しやがってました。 いままでこんなブロックがあったでしょうか? ダイヤブロック派としては押さえておきたい一品ですな(フム)。 とりあえず、名目上ゲームの資料(多間接、多パーツの)として購入しときます(ぉ

ちなみに小さい頃は、なぜかパーツが豊富すぎるレゴが好きでなかったのですが、 カタログ見るとほとんどダイヤブロックもレゴ化してますがな… (# 当時ダイヤブロックは、細かいパーツが少なくほとんどがブロック型パーツだった。 それはそれでよかったんだが…)

問題は、キットのまま作っても片足立ちできるかどうかですな(ジャーゴ?)

unix

なんかバイトでいろいろいじくるハメにー。 最近、こちらばかりでゲームの方に手が回ってないすけど…(;_;) つーか、PC-98で使っていたタブレット(つーかデジタイザ?)の制御まで Linuxからしなくてはならないというー。 PC-98に接続していたときのRS-232Cの結線図とか渡されても困るんですがー。

そういえばUNIXで、タブ型ブラウザがないのは痛いなぁと思ってましたが、 あるじゃぁないですか、Operaが(ぉ あ、でもLinux用か(Opera5でないし)

あー、まあ、 他によい言語があればDelphiである必要もないのですが… (# 浮気をするとすれば、EiffelとかSatherとかC#とか(以下略))。

programing > sound

MIDI再生ルーチンを作ったのもつかの間、ディレクター様の進めもあり、 なんだかソフトウェアシンセなサウンドドライバを作るハメになりそうです。 (# もちろん導入は、次回作ね^^;;) こんなこともあろうかと(笑)、資料はすでに集てあったのですが、 実は音源周りの知識はほぼ0でして、目下勉強中です。 MODやらMDXやらSPC(ぉ)やらを聞きつつ、WEBを漁って 「なるほどー、PSGってこういう音源なのねー」みたいな日々。

しかし、夢にまでみた kamikaze305WinASG のようなソフトシンセを 自らの手で作る日がくるとはー。

Windows 2000

うー、Windows2000でもアプリ立ち上げまくってると、 たまにウインドウを開けなくなるときが…。 他のウインドウ閉じると、また開けるようになったりするし。 そういう、リソース足りなくなったみたいな挙動を取るのはやめて下さい。 物理メモリの半分も使ってない状態で、こういう状況に陥るのは勘弁願いたいです。 (# 当時、無理してMAXまでメモリ積んだ意味がなくなるんで(T_T))

ごは!コレかいてる途中、 偽春菜の 付属物体(コラ)が 「俺らってリソースくってるよな」とか言い出すしー。 (# まさか、おまえらが原因か!!(笑))

どうでもいいのですが、Windows2000でも、command.com ってあるんですな。 てっきりなくなったものかと…(ぉ) 案の定、command.com だと cd ../ とかできないし(笑) ちなみに普段プロンプト使うときは、cmd.exe + cygwin + bash 安定。 レジストリエディタで、HKEY_CLASSES_ROOT\Folder\shell\Shell\command\ などとキーを作って、cmd.exe /c cygwin.bat とか書いておくとあら不思議。 どのフォルダからでもコンテキストメニューでbash起動。んー、便利。 (# cygwin.bat は単なるbash起動用のバッチファイルね)

game

罪と罰、ハードモード、ようやく2-2まで(遅いって)。 ハードはもう序盤からこんなのできるかー、みたいな感じだったのに、 いつのまにやら慣れてきてるのが怖いです。 (# ほんとに上手く作ってあるなぁ)

2000/12/25 忘年会

最近、死んでましたが、部の忘年会で多少はやる気が回復。 (# 基本的に部の飲み会は、よなよなゲーム & だべり & 酒(自分は飲まん))

game > えろジャス@忘年会

とりあえず、対戦しまくったり、謎キャラ作ったりとー。 うーん、かなりほしい気がー。 そろそろ、ドキャの買時期ですかー。

game > ギルティX@忘年会

ミリアのKボタンカラーがロラン(露骨)なんで、 そればかり使っていたというのは内緒です。

ゲーム用のFPSでセルアニメーションてどうだろうと思ってましたが、特に違和感なく。 結局、動きはアニメータみたいなプロぃ人に任せろってことですか(シクシク)。

ところで、高解像度というのは思ったより綺麗ですなー。 絵描く方は大変だろうけれど。

game > XBOX

XBOXのスペック、 下がりすぎ。 描画ポリゴン数が半分以下になってるんすけど。

game > 罰と罰

ようやくハードモードクリア。 何か突然見切ったかのようなプレイが可能に…。 え、そこも(列車のラストとか)ノーミスで!?といった感じで。 ついに開眼したかと思いきや、やはり、3-2で死にまくり。 尻尾からレーザーうつ敵が出るあたりから力押し…。 結局、そのまま勢いでクリアしてしまいましたが。

しかしなんつーか、クリアできたのに全然納得がいかないものです。 やはり、ノーコンテニューで行かねばならないのでしょうか…。 ぷふぅ。

そういや、結局、オートで標準あわせって使わないんですがー。

access log

誰ですか、JustView でアクセスしているのは(´д`;)

2000/12/28 おおお

ドジ研アンテナ。 こりは、また便利なものがあるものですな。 利用させてもらいまする。 (# これで、ブックマークがかなり減る(笑))

programing > sound

とりあえず、ノイズは鳴らせました(笑) PSGとかその辺をだせるようにしたいのですが、さすがに その音色で作ってもらうのは曲製作者側に嫌がられそうなので (# というか、前に嫌がられた気が)。 いっそMODでも実装してみようかなーとか。 大風呂敷を広げてみたりしてみます。

vi clone

すでに製作者も「こんなに広まるなら作らなければよかった」などと 言いつつも、unix系のOSにはまずついてくる謎なエディタ、 viのクローンを使おうキャンペーン実施中。

複数行、複数回のインデント、アンインデントの仕方をようやく発見。

  • インデント

    コマンドモードで、[n] >> ([n] は適用する行数)

    挿入/追加モードで、^F (自動的に最適な位置にインデント?)

    ブロック選択モードで、[n] > ([n] は適用する回数)

  • アンインデント

    コマンドモードで、[n] <<

    挿入/追加モードで、^D

    ブロック選択モードで、[n] <

基本的にVIM6(というか、WindowsのgVim6)で確認。 ちなみに、拡張されていないvi(vimとかじゃないヤツ)では ブロック選択モードはない模様(´д`;)

access log

最近の謎な検索用語

  • リーゼ ZOID

    おお、同志よ。

  • SDスピリット指数

    (´д`;)

  • ゲームはどっとこむ

    はぁ?

2000/12/30 DVDのCMを見て

「また映画みたいなゲームだすのかー?PS2?」 と思ったら、本物の映画のDVDでした。 (# いやある意味PS2向けのソフトかもしれないけれど)

game > PS I

今あさるなら、PS(I)のソフトですなー。 こみにてぃぱむ(おせおせすたぁと!)と球転界は買っておかないと…。 発売当時、馬鹿にしていた人達には、ちょうど今やってみる時期であると いいたいですな。PSなのにどうよとか、そこらへん偏見なしでみれますので。

game > Windows

今更、ボンバースルーゴーゴーみて固定画面アクション & 256色萌え。 はあ…。 自分らは、Windows初期のDiscStationのゲームにすら勝てないのですか。 (# つーか、勝てるかよ)

log [ 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | latest ]