過去の投稿記事 new!
・【画像】漫画でわかる外国人参政権
・東京電力のHPで停電状態が確認できたり(サービス再開!)
・戦国時代 ~ 江戸時代の徳川家康が熱かった
・vaio のバッテリは寿命が短いような気がする
・話題の Western Digital 製 WD20EARS を購入した
・C01LC をビックカメラで買ってきた
・2025年には空中都市が現実化?!
・【動画】わかりやすい「宇宙ひも理論」
・今世紀には「富士山噴火」「東海連動地震」「首都圏直下型地震」か?
・滅びた町、南浜町が Googleストリートビューで見れる

【 amazon 送料無料キャンペーン 】

バックリンクはご自由にどうぞ!     http://mfsocket.blogspot.com/feeds/posts/default?alt=rss リンク集 / ログイン

2007/06/04
電車でオバタリアンからダメージ

 
帰りの出来事です。
 
 
私は、電車のシートに端から2番目に座ってました。
 
とある駅で、人がたくさん降りました。満員だった席もそれなりに空きました。
 
私は基本的にずっと寝てました。
 
とある、オバタリアン軍団の一人が私の隣に座ったようです。
 
  
そして、
私は突然のあまりの重圧にビックリして目を開けたら、とあるオバタリアンが1番目と2番目の隙間(※1)に
座ってたのです。
 
※1
幼稚園児でも座れない幅。
 
巨大なおしりが私の膝の上まで侵食していました。
 
 
そしてあろうことか、常識はずれのセリフを吐きました。
 
 
A「そっちに詰めてよ。」
 
 
おれ「・・・(はぁああ!?こっち詰めようがないんだが?)」 
 
 
おれ「・・・(眠いとこで、、しかもあっち席空いてるし)」
 
おれ「・・・(ってかスーパーサ○ヤ人になりそう)」
 
 
  
と心の中で思いました。
 
 
私は基本、良識人だと思ってます。突然の理不尽な行動に激しくキレそうになりながらも、
隣の方に「すいません」と言ってつめてもらいました。
 
( と言っても詰めようがなかったのですが。。 )
 
 
その後は、私にはオバサンが激しく密着したまま、その軍団は終点まで楽しそうにくっちゃべってました。
 
 
あれはオバサンというものを超越した人たちです。
 
接触してたのも気持ち悪い、理不尽だらけの行動、さらに他の方にも迷惑をかけたきゃつらは激しく嫌いになりました!
 
 
もう、次は声に出して怒るかもしれません。
 
あああ今日は本気で調子が悪くなりました。風邪も悪化、、最悪です( ´д`)
 
 
ちなみに、私が不自然に座席を占領していたわけでは無いので、その辺は誤解無きようにお願いします。

2007/06/03
バーチャルマシン/ゲームデザインについて

 
今回はバーチャルマシン内でのゲームデザインについてちょっとだけ
語ろうと思います。
 
大半の方は興味のない事だと思いますので、該当する人はご注意ください!
 
 
みなさんは ノンプリエンプティブマルチタスク というのはご存知でしょうか?
Windows 3.1 などのOSでも採用されていた手法です。
 
別名にすると「擬似マルチタスク」とも言います。
 
 
そうですね。
名前の通りまさに擬似マルチタスク環境を提供するシステムのことを言います。
 
これの一番の欠点は行儀の良くないアプリケーションがあると、
OS( バーチャルマシン )そのものが応答しなくなるという危険性を
秘めてています。
 
利点はプリエンプティブマルチタスクを実装するよりははるかに楽という
ことに付きるでしょう。
 
 
またプリエンティブでは膨大な実装による
動作上のオーバヘッドも考えられるので、スペックの低いシステム上では、
あまり現実的とは言えないと考えられます。
 
 
まぁ単に実装できる気がしないのもあるけどw
 
 
じゃあ擬似マルチタスク環境を選択( 実装 )する事によって発生する、
OSそのものを独占してしまうタスクとか実際あったらどうするの?って
考えられますよね。
 
それに関しては実はとても簡単な答えが出てるのです。
 
 
 
例えば新米スクリプターさんにCPUを返却する命令として、
これを書かないと必ずフリーズるよ?(※1)って指示するより、
そのシステムそのものを隠べいする方が、都合が良くなる場合があります。
 
※1
フリーズとは限りません。
そのタスク内処理が 「画面に反映されない」 ように見えるだけかもしれないし、一時的に他のイベントタスクが
止ったように見えるだけかもしれません。
 
 
以下の例を見てみましょう。
( ´д`) >例としてはあまり良くないな。。今度差し替えます。

// キャラクターのタスク( ★通常パターン★ ) ////////////////////////////
charTask()
{
        // Aというキャラクタの何か適当な移動&描画処理
        drawCharcter( "A.chr" );
        cpu_return();
 
         // Bというキャラクタの・・・
         drawCharcter( "B.chr" );
        cpu_return();
}
 
// キャラクターのタスク( ★マクロ パターン★  ) //////////////////////////
Event( charTask )
{
         DRAW_CHAR( "A.chr" );

         DRAW_CHAR( "B.chr" );

}

 
上の例ではキャラクター描画の後に 必ず cpu_return() というのが入ってます。
これは書く側としては、ゲームシステム自体を理解しないとどこに入れるべきか
という判断がつきません。
 
70%程度の理解のままでは、必ずバグコードを生成してしまってるでしょう。
 
 
マクロプログラミングは、それらをブラックボックス化する事ができる(※2)の
ですね。マクロのメリットはコードの単純化、命名規則の単純化、とあるバグを
生む確率の完全なる削除、等など多数あります。
 
※2
すべてを隠しとおせるわけではない事もあります。
しかし、慎重になるべき個所を極端に減らす事が出来るのは間違いありません。
 
 
最低限のルールはもちろんあるけど、プログラマーじゃない方、または設計者
じゃない言わゆる並のプログラマーの方に、バグを生みやすい?内部ルールが
いくつも存在する環境で開発させるのは、正直良い案とは思えません。
 
 
まぁ、奇麗事になっちゃうけど。
 
 
さて、今回の話はタスクシステムについて知らない方には全く意味不明なこと
だったと思います。
 
 
ゲーム開発内のアルゴリズムは色々とありますが、ゲーム設計ももちろん重要です。
 
もしこれからプログラマを目指そうという方がいましたら、下記のことが
できるレベルだと、採用してくれるゲーム会社はけっこうあるんじゃないかな?
 
・C/C++ なら関数ポインタを用いたタスクシステム。
・Java なら、仮想関数を用いたタスクシステム。( switch もあり )
 
 
もちろんプログラマってもっともっと覚えないといけない(※3)、事が山のように
あるので、上の言葉だけ知ってても仕方ありません。
 
※3
別にいけなくなくは無いよ。
スーパープログラマーになる為には、という意味で。
           ↓
ドラ○ンボール風に言うと、サイヤ人を超える者。
 
 
逆に自分の場合は、言葉は知らないけど内容は知っているということも
多いのですが。。というか「言葉はすぐ忘れる」のが正解かな?
 
普段から毎日、専門的用語は使いませんからね。。
 
 
しかし自他共に認めるスーパープログラマになるのは難しいねぇ。
 
まず自分でスーパープログラマと思えるレベルを考えると( 例えば実際の人
でもいい )、全く届きそうに無いw
 
 
う~ん、スーパープログラマーの定義を明確になると面白いそうだけど、
この定義を明確するのは難しいな。

2007/06/02
何気ない楽しみ、、無くなった?

 
最近、会社でも咳をしている人がやたらと多いなぁ。
 
なんか麻疹が流行ってるだけに、麻疹のまま出社してる人がいるんじゃないかと
つい思ってしまうこのごろです( ´д`)
 
 
そういう自分も、咳と鼻水が止らないのですが。。(苦笑
 
 
さてさて、最近の昼飯はコンビニで済ますことが多いです。
 
それでちょっと気になってる?のですが、冷やし中華を温めますか? の人が、
もう2週間は見かけないのです!!
 
憶測では、さすがに業務に支障が出ると思われるミスが何回もあった感じなので、
 
辞めさせられたんじゃないかと思います(笑
 
まぁ個人的にはちょっと残念ですねぇ。。
 
 
あそこまで本気のミスを繰り返しできる店員は、生まれてこの方見たこと無かったものですから( ´д`)

2007/05/31
ドラえもん 噂の最終回

 
今現在ネット上に出回ってる、予想以上の人気に問題になった、噂のドラえもん最終回を読んでみました。
 
ドラえもん自体を読むのがかなり久しぶりだったんだけど、、ちょっと感動ものだった( ´д`)
 
 
内容はまだ見たこと無い人のために伏せておきますので、興味のある方は「ドラえもん 最終回」で
ググってみるとまだあるかも?
 
マンガと合わせてフラッシュもあったので、こちらはペタっと貼っておきますヽ(´ー`)ノ
  

2007/05/30
コンパイラ本の紹介 その1

 
いま世間でけっこうな話題の麻疹( はしか )ですが、感染すると風邪に大変似た初期症状が出る
らしいですね。
 
自分はちょうど風邪にかかってるのですが、麻疹かもしれないと思うとちょっと油断できないです( ´д`)
 
皆さんもお気をつけ下さいね。
 
 
 
さて今回は、コンパイラの制作に興味がある という方向けに、良書を1冊ご紹介します。
 
 
 
紹介しといて何ですが、この本はけっこう敷居が高いと思います。
コンパイラという単語をただ知っているというだけの人には、一番最初に見るのはオススメしません。
 
が、コンパイラ制作を目指すなら必ず一冊は手元に置いておいたほうが良いでしょう。
 
他の小難しいコンパイラ本よりは、よっぽど丁寧かつ充実していると思います。
 
 
この内容を理解できるレベルになれば、簡単なコンパイラはすぐにでも作れるようになります。
 
最初のうちは理解できないとしても、興味ある方には大変オススメしたい良書!
 
 
値段はちょっと高めですが、迷うならぜひ読んでみるのがいいですよ~。

2007/05/29
お勧めフラッシュの紹介 その2

 
最近、鼻水がとまらない。。
 
さてさて、前回はゲームにまつわる感動フラッシュを紹介しましたので、今回はオススメの感動とホラーを
一つずつ紹介します!
 
 
有名な作品なので知っている方も多いかもしれません( ´д`) 
特急になりたかった犬(ぞぬ)

この話は実話だそうです。

赤い部屋
2003年当時(約4年前)、見たホラー作品です。
 
ポップアップ広告を消すツールはOFFにすると、
より楽しめるかもしれません。  
 
 
フラッシュ作品って、様々なジャンルがたくさんあって面白いですね。 
とくに感動系のは、色々と考えさせられる作品が多い。

2007/05/28
コンパイラとバーチャルマシン2

 
最初に、今日の文章は長いです。
しかも 99% の人にとって、どうでも良くツマラナイ話なので観覧にはご注意ください。
 
 
どうも、適当えんじにあです!
 
様々な野望のためのバーチャルマシン制作、、今かなり熱い感じです。
 
 
な、なんと
全81個のバイトコード命令をすべて実装終えたんですよ!(大袈裟
 
 
で、いま何ができるかというと、構文的に下記のようなものがすでに動作します。
( 長ったらしいコード。。 )
 


#include "system.h"
 
class Interface{ //  適当なインターフェイスクラス
    m_test;
 
    interface_call( api ){
           api.Trace( "★interface_call" );
           return (100 * (32+8)) >> 1; // 要は 2000 を返す
    }

}

// 名称は仮、メインの実行クラス
class Main extends Interface{
    m_api; // APIアクセス用( 今後は、内部定義にするかも? )
 
    run(){
       m_api = new SystemAPI();
 
       var array = new Array[6]{
           100, 200, 300, 400, 500, 0,
       };
   
       array[0] *= 10 + 2*5;
 
       // 配列のテスト  
       var i = 0;
       while( true ){
             if( array[i]==0 ){ break; }
    
             TRACE( "array[" + i + "]:" + array[i] );
             i++;
        }
 
  
        // 基底クラスのメソッド呼び出し
        TRACE( "戻り値: " + interface_call(m_api) );
        
        this.m_test = -777; 
        
    }
}

 
配列は1次元まで、とか細かい仕様もありますが、基本的には以下の事はサポートしています。
 
・for/while ループ
・++/--(インクリメント/デクリメント)
・if/elseif/else
・new
・continue/break
・this
・length( 文字列/配列に対して )
・extends( 簡易継承 )
・Array( 配列 )
・var( ローカル変数 )
・四則演算を含む、ほぼすべての演算命令
・true/false
 
 
とりあえず、簡易的に紹介すると、こんなところかな?
 
 
いま迷ってるのは継承時のコンストラクタをどうするか、仕様的に悩んでます。。
 
完全に特定のゲームジャンルにあわせようとすると、設計時に妥協コードが入ってしまうから、
現設計の内に、ゲーム種別問わないシステムを提供できるようにしないと。
 
特定の何かに向けて作るなら楽な部分はあるんだけど。。まぁそれはAPI の実装部が担当する
ことになる予定なのです。
 
 
現状だと、サウンドノベルとミニゲーム程度ならば API のみの実装なので、かなり短期間で
実装できる雰囲気。
 
自分のキレイ好き?な部分を一時的に捨てれば、妥協コードもバシバシ入れて完全専門コードとして
かなり大規模なのも作れます( 今はイヤダネ
 

ゲームジャンル別対応表はこんな感じ?

  ◎ - ノベル
  ○ - アドベンチャー
  △ - RPG
  △ - タクティクス
  △ - シミュレーション
  ? - アクション
  ○ - ミニゲーム( テーブル系/ミニアクション )

   ◎: すでに大規模なものを作れるレベル
   ○: ある程度の規模なら作れるレベル
   △: 厳しいが少しなら作れるかもレベル
   ?: 不明
                              ※どれも API 実装部を除いた話です。
                                 いまは基本API は一つしかありません。





 
 どういう流れでゲームイベントをコーディングしていくかというので、コンストラクタの役目は実は大きいので、
仕様的には明確に決めないとなぁ( ´д`)
 
これをどうするかによって、特定の関数を呼ばれるようにするのかとか色々変わるんですよ。
 
 
コンストラクタが終わったら基本APIの実装のみなんだけど、、、むぅ。
 
 
そんなところで、今回はこのバーチャルマシンの目指す実行環境を最後にちょろっと紹介します。
あくまでも、目指すということですが。
 
--------------------------------------------
・iアプリ / Doja3.5 以上
 
・auオープンアプリ
 
・Windows2000/XP以降
 
・FedoraCore4( デスクトップの使える linux系? )
 
・PSP( やってみたいw )
--------------------------------------
 
 
自分的には C++ ⇔ Java は基本的に抵抗無し!
 
とりあえず、Windowsは C++ で FedoraCore では Java で目指す予定です。
まぁ iアプリ上で完全に完成してからの話 ですが。。
 
ぐはっ、先が長い( ´д`)
 

2007/05/27
シュレッダーは必要不可欠!

 
 
 
想像以上に本体がコンパクトだったので、これは場所も取らなくていいっすね!
 
 
実際に使用してみるまでは
 
「小さいと、パワー不足とかで細かく細断できないんじゃね?」
 
って思ってましたが、心配の必要はなかったようです^^
 
 
後コンパクトなだけあり 細断時の音も小さい です。
 
この程度ならば、音で悩まされることは無いと考えていいでしょう。
 
 
今の世は、領収書とかに掲載されてる名前や住所、電話番号などを、そのまま普通にゴミに捨てるというのは
住む地域によっては、大変に危険を晒す行為ですからね。
 
 
自分は購入前までは、手動で大事な箇所だけ細断してましたが、さすがにめんどくさくなってきたので。。
 
それに手動では、どうしても確実性にかけちゃいますからね( ´д`)
 
 
現在シュレッダーを持ってない方には、ご購入を検討 されてみるのをオススメしますよー。 

2007/05/26
gcc プログラミング時のメモ。

 
クライアントPCとサーバーPCのどっちかの時計が狂ってる場合、gcc のコンパイル時に出る警告。
 
make: *** Warning: File `Make.rules.in' hasmodificationtime in the future
 
 
簡単に言うと、未来の日付になっているぞ! という事ですね。
  
自分のメインPCは NTP をセットしてないので、時刻が狂ってるのに気づかないまま SSH で作業して
しまいますた。
 
あーー、久しぶりにプログラミング以外の事でハマった( ´д`)
 
 
それにしても gcc 4系って、デフォルト( -Wall )で 可変引数を取る関数の書式チェック をしてくれますよね。
 
これはかなり便利で、ありがたい!
  
 
例えばこういうミスをしてしまっても、-Wall さえ付ければ教えてくれるんですよ。
 

C_String str = "hoge"; // 自作 の String を使用。
 
printf( "%s\n", str );  // 本当は str.GetString() としないと、このままではぶっとんでしまうが、
                             // %s には char* を指定する事を【警告】で教えてくれる。
 
gcc 3.4 以降と VC8は、全く別なコンパイラオプション( 又は特殊構文の埋め込み )でやってくれたけど。
 
 
そういえばこういうチェックって VC6 でもあったけな??
 
 
むぅ、VC6 現役のクセにわかりませんw
 
 
ただ gcc のいやな所は、マルチライン コメント というありがたくない( むしろ邪魔 )な機能をサポート
しちゃってる所ですかね。。( ´д`)
 
マルチライン コメントのおかげで、Windows から移植する時びみょーにダルかったりする。
 
この機能ってコンパイラオプションで変えられたりしないのでしょうか?
 
 
情報もってる方いたら、ぜひ教えてください~。
 
ハッキリ逝って、この機能を使う日本人はいないと思うし

2007/05/25
家まえの鳥さん

 
あまりにも可愛らしかったので写真をとっちゃいました( ´д`)
 
ひなさん達、お邪魔しちゃってゴメンね! 
 
 
それで、
今日は この写真だけで終わる予定だったのですが、写真とるために自分が
 
 
「ピヨピヨ」
 
「ピヨピヨ」
 
 
と、2,3回ほど言ってしまったのを、
 
 
運悪く、通りすがりの学生さんに聞かれてしまいました( ゜Д゜ )
 
 
いやー
独り言聞かれるのはきつい!
 
 
いい年こいた社会人が、平日に「ピヨピヨ」は無いだろう、と。。
 
 
まぁ運がいいのか、早く去りたかったのか今回聞いた方は、とんでもない早歩きで去ってくださいましたが。。。
 
 
ちなみに、この鳥さんの種類がわからないので、今度調べてみよう。 
 

2007/05/23
VC6.0 最適化時の一時変数のバグか?

 
どうも! VC6.0 が未だに現役のエンジニアです。
 
VC2005 もそれなりに使ってるんだけど、ライブラリの開発とかコンパイラの制作は VC6 で
進めております( ´д`)
 
 
さて、今日はVC6 上の Release モード時のみで発生したバグのロジックを紹介します。
VC2005 では最適化時でも発生せず、今のところ VC6 上のみの確認です。
 
 
 

 
class Test{
public:
    Test( int val ) : m_val(val){}
    ~Test(){}
     
     int getVal()const{ return m_val; }
 
private:
     int m_val;
};
 
int main( int argc, char* argv[] )
{
        Test test(100);
        const int& val = test.getVal();
        printf( "%d\n", val );
        return 0;
}

 

 

 

 

 

 

 

 

 

 

 
 
 
 
 
ロジック的には上記みたいな感じです。
 
上の const int& val が、トレースなどしてみると -1 になっちゃてるのですね。

 

しかし、実は上のソースでは問題は起きません。
 
 
基本的には、当たり前のようにうまくいくのです( 実際に当たり前ですが。。 )
 
うまくいかなかったのが、コンパイラ制作の際、1個所で起きただけで、今まで多数のWindowsアプリ
を作りましたが、今回が初めてなのです。
 

ちなみに以下のようなコードにしても、値がおかしかったので最適化のバグだと思っております。


 
int tmp_val      = test.getVal();// 一旦ローカルにコピー
 
const int& val  = tmp_val;      // ローカル変数の参照。。
                                       // なのに、この次では val は期待外の値になっている。tmp_valは期待値。

 

VC2005 の最適化では正しく挙動したのと、VC6でも最適化無しならば、特定の個所も期待通りに動きました( ´д`)

 

とりあえずスタックぶっ壊したからとかじゃなくて、VC6のバグと信じていますw

 
 
どなたか、VC6 上で 最適化時の一時変数の寿命のバグ を知っている方がいましたら、ぜひ教えてください!

2007/05/22
感動フラッシュの紹介 その1

 
一昔前、ネット上のフラッシュにハマって色々見てたのですが、今日はその中でも感動したフラッシュを紹介します。
 
 
まだネットに存在するフラッシュにリンク張ってます。
サウンドはON状態 で見た方が良いかもです。

思い出のSaGa2

初めて見たとき、あまりに切なく泣いてしまった作品( ´д⊂

ドラゴンバスター
ゲームで特別な思い出を持ってる人は、意外と多いんじゃないでしょうか。
 
 
当時気に入ったフラッシュは、ローカル上に保存させて頂いてたり( ´д`)

2007/05/21
記録媒体にバクテリア?

 
こんな 記事 を見たのですが、これマジですかw
 
細菌にデータを記録するなんて発想は無かったです、、というか専門家じゃないからそんなこと考えないけど。
 
 
「何億年もデータを保持してられる可能性」っていうけど、そこまで求めるのもすごいよなぁ。
 
まぁハードディスクとかの寿命は短いと思うけど、億って単位は不必要かな?
 
 
こういうのって自分が生きてる間に実現するのか、ちょっと興味深いところですね。
 
150歳までは生きる(予定)だから、少し可能性はあるか。。?w

2007/05/20
秀丸は便利!

 
テキストエディターって何使ってます?
 
たぶんプログラマ系の人だと、サクラエディタ や TeraPad や 秀丸 が、けっこう多い感じですかな?
一般の方はメモ帳を愛用している方もそれなりにいますね。
 
 
私は秀丸を使っています。
 
これは、ファイル別の処理にしても、カスタマイズが色々と効くので、もう秀丸が無いと始まりません。
 
ちなみに秀丸のもっとも便利なところは 秀丸マクロ という独自のプログラミング環境を提供している個所
だと思ってます。
 
 
 
秀丸には「タブ状態」でテキストを管理することができるのですが、
全ファイルを閉じると タブ状態は復帰できません。
 ( VCみたいに、前回開いてたソース状態などを復帰してくれない( ´д`)
 
 
これはできないと辛かったので、自ら以下のような名称のマクロを使り、その不満を解消させました。
 
・タブ状態ロード
・タブ状態セーブ
 
これに関してはデフォルトで実装して欲しかったのですが、まぁ仕方ないので作りました^^
 
 
あともう一つ欲しい機能があって、
選択行の行頭に文字列を一括にコピー挿入したい時 に実現できずだったので、「行頭挿入(※1)」という
マクロを作り再現しました。
 
※1
例えば、マウスで20行ぐらい選択し、その20行だけ先頭に // を一括で挿入したかった。
 
 
ほかにも色々作ったのですが、不満に感じて作ったのは2つぐらいかな。
 
とりあえず 秀丸にはほかの人が作ったマクロもたくさんある ので、主エディターが決まってない方には
オススメしたい エディタ です!

2007/05/19
2千円札、2回勘違い

 
先日、お昼にコンビニでお弁当を買ったときの話です。
 
過去のシリーズ
 
も合わせてどうぞ。
 
 
※このシリーズはフィクションではありません。
   事実を元に、記事を載せています。

 
ある日いつもの如く、
レジに並びお会計をすませようと思った時、大きいお金がまったく無くて
 
 
 「あぁ、2千円札しかない」
 
 
というのに気づき、ささっと 二千円札を出したところ
 
 
 
店員「1万円お預かります」
 
 
と言われてしまったのです。
以下、そのときの心境と、店員さんとのやり取りです。
 
 
 
おれ「・・・( えっ?)」
 
 
おれ「・・・(これって、どうする?)」
 
 
おれ「・・・(ってか1万円!(・∀・) 今日の晩飯は特上寿司で決まり)」
 
 
店員「あ、すいません。五千円でしたね」
 
 
 
おれ「・・・( は?)」
 
 
おれ「・・・(つうかネタか?w 」
 
 
おれ「・・・(メダパニ と コンフュ かかっとる?」
 
 
おれ「・・・(その前に、なんでこの人がいっつもレジ担当なんじゃ?)」
 
 
 
おれ「・・・(ああああああ、もう我慢できない)」
 
 
 
おれ「いや、2千円ですよ」

 

店員「あ、すいません。また間違いちゃいました」
 
 
 
おれ「・・・(いま、「また」って逝わなかったか?)」
 
 
おれ「・・・(っていうか、客のおれに「また」なんてわざわざ・・・)」
 
 
 
おれ「・・・(間違いない。これはホンモノだ)」
 
 
 
おれ「いや、別にいいですよ」
 
 
店員「ありがとうございました。」
 
 
 
 
ってな具合でした( ´д`)
この人ネタでやってるのかも?と思ってたけど、今回のでマジでやってるというのに確信しますた。
 
これも、二千円札を普段見かけることが圧倒的に少ないからなんでしょうか?
 
 
それにしても、勘違いのレベルが極端のような気がしますが。。。
 

2007/05/18
ビデオカードつかってます?

 
みなさん、自分のPC にビデオカード差してます?
 
私は GeForce 6600を使ってるのですが、何もしてない平常時に GPU内の平均温度が 60度前後だったり
したので、PCのファンなどをめっちゃくちゃキレイにしてみました。
 
 
そしたら、なんと!平均温度も 48度ぐらいに落ち着き、ゲームで思いっきり負荷かけても60度いかないぐらい
なのです!
 
ホントありえないぐらい大きいホコリ がたくさんあったので、温度/湿度ともに高かったのも納得( ´д`) 
 
 
つい最近、67度を記録して画面がプスンと逝ってしまったのが2回ほどあったので、やはりキレイにしてみるものです。
 
 
自分のメインPCと Geforce が元々相性良くない気もしてるのですが、、、これに関しては再発したら紹介します。
 
ビデオカードの相性って複雑だし、購入するにもなかなか難しいとこですよね。
 
 
※ ちなみに温度監視ツールは NvTempLogger を使ってます。

2007/05/17
プログラマの為のオススメ本 その1

 
今日はプログラマの方にオススメできる本を紹介しようと思います。
 
ネタが尽きたからじゃないですよ。
 
 
 
 
 
すごいシンプルな問いかけでありながら、とても奥の深いテーマです。
 
みなさんが普段使っている HTTP通信から始まり、ルータの流れやファイアウォールの仕組み、
そして TCP/IP の解説も丁寧に説明され、かつ知識としても十分な説明がなされています。
 
 
「ネットワークはなんでも知ってるぜ!」 という風に思ってる方でも、単純な仕組みから見直すことによって
新しい発見があるかもしれません。
 
よく使われるネットワーク語( 専門用語 )も丁寧に解説されてるので、この辺も親切でGOODです。
 
 
一般の方でも ネットワークに興味がある人 には大変読みやすい本だと思うので、興味のある方は
読んでみてはいかがでしょうか。

2007/05/16
コンパイラとバーチャルマシン

 
最近、
 
ひぐらし や 獅子戦争 に 逆転裁判、さらに マンガ ときて、果ては 意味不明な検証
 
などばっかで過ごしすぎました。
 
 
こうしてみてると
 
「これでもか!」
 
というぐらい、のんびりしすぎてると思う( ´д`)
 
たぶん自分は幸せな人間なのかもしれないな。。ただのバカかもしれないけど。
 
 
 
ってことでそろそろ バーチャルマシン の開発を再開しないと、いつまでたっても次のステップにいけないので、
ボチボチと開始してます。
 
 
もうね、
実はうれしいぐらい順調だったりで for/whileループ  if/else  関数呼び出し / 変数の制御 までほとんど
問題なく動くようになりました。
 
バーチャルマシン上で動く【サンプルソース】はこんな感じ。
//////////////////////////////////////////////////
 
class Main{
      m_api;    // APIアクセス用
      m_var;    // テスト用
 
      run(){
           m_api = new SystemAPI();
 
           m_var = "ほげ " + 100 + " テスト";
 
           // メソッド呼び出し
           call( m_var );
 
 
           //  forループテスト
           for( var i=0 ; i<10 ; i++ )(
                m_api.Trace( "i: "+ i );    // Trace は System.out.println() で出力するメソッド
           }
 
           m_var = 0xFF;
 
           if( m_var==0 ){
                call( "0でーす" );
           }else{
                call( "ゼロ", "じゃないよ" );
           }
      }
 
      call( str ){
           m_api.Trace( str );
      }
 
      call( str, str2 ){
           m_api.Trace( str + str2 );
      }
}
 
//////////////////////////////////////////////////
 
いまは m_api と直接記述してるけど、基本的にマクロプログミングにする予定なので、
プログラマじゃない人でも、もっと直感的に書けるようになります。
 
 
コンパイラに内蔵しているマクロはかなり強力なので、我ながらわくわくしちゃいます。
たぶん gcc にも引けを取らないかも??
 
専門用途で言うならば gcc のプリプロセッサを使うよりも便利なハズですからね。
 ( かと言って、まったく違うインターフェイスでは無いのが GOOD )
 
 
 
さて、ここで話は変わりますがエミュレーターって言葉はみなさご存知ですか?
 
たぶん、ここまで読んでくださったあなたはきっと知ってますね。
聞いたこと無い方は Google で検索してから下記の記事をご覧になったほうが良いかもしれません。
 
 
エミュレーターとコンパイラってどっちが難しい?
 
 
という意見をたまに見かけます。
これに関しては自分は、比較するものでは無いとも思ってしまうのですが。
 
 
双方とも、作る仕様によって難易度が大幅に違いますよね。
 
例えばエミュレーターならば ゲームボーイをエミュレートするのか、PS2 をエミュレートするのかでは
まったく違います。
 
コンパイラも同じで、ふぬけ仕様のコンパイラか、C++/Java 等を自分で実装するかは
まったく違います。
 
エミュレーターはグラフィックス、サウンド、はたまた通信など、幅も広かったりします。
 
 
思うにエミュとコンパイラの決定的な違いは、エミュはすでに存在する何かを再現するものだし、
コンパイラは基本的には新しいものを作り出すものなのです。
 
 
これってかなり違うと思うのですが、どうでしょう?
 
 
ただ、難しいという意味合いだけならば、きっと同じなのは間違いありませんね。
 
 
さて、自分もゲーム○ーイのエミュレーターぐらいから、時間を見つけて開発してみようかな。。
 
3年程前、某ソースを見た時は、理解不能かつ意味不明な16進テーブル定義 を見たら、
とても理解する気が無くなったのを、よーく覚えてます。
 
仕様は知らなくても、こういうものだと思って定義すればきっと当時でも作れたかも。。
 
それは性格的にゆるさなかっのですな( ´д`)

2007/05/15
新卒

 
うちの会社というか、部署というか、プロジェクトというか、
 
「新卒はホントに入っているのか?」
 
 
と思うほど、新卒がいません。
 
たぶん自分の所の プロジェクトに回ってきてないだけ なんだろうけど。
 
 
それにしても、今のプロジェクトには自分より年齢の下のプログラマがいない状況には未だ驚きです。
  
前の会社では年上グループに所属してたのに、今の会社は入ってくる人みんな、圧倒的に年上の方ばかり
なのですよ。
 
総合的に 結婚してる人のほうが圧倒的に多い 感じがする。。
 
 
あと常に人が足りないという状況下なのに、プログラマを中々取らない方針だしね。
 
応募してくる人はたくさんいるのに、「人は足りない」とよく聞きます。
( 噂によると、取ろうとしても中々採用にいたらないとか? )
 
 
そういえばどっかのニュースで見たんだけど、エンジニアに関してはどこの会社も慢性的に人手不足らしい
ですね。
 
そういう意味では、自分は恵まれてる職業を選択したのかもしれないなぁ。
 
 
まぁプログラムが好きで今を選んだわけだし、恵まれてるかどうかなんてのは後付に過ぎない事でも
あるんですけどね。
 
 
ところで、我ながらブログを毎日と更新しちゃってるようですな。
毎日更新なんて意識してなかったので、明日からは意識して書かなくなりそう(笑

2007/05/14
スクエニパーティ2007は好評

 
みたいでしたね。
自分は行かなかったのですが、メガシアターでのPVで 感動して泣いてたお姉さんがいたとか
聞きました。
 
 
それにしても二日間の来場者数も 75234 人と、かなりすごい数字ですね。
熱心なファンが多い所は、さすがスクエニと言ったところでしょうか。
 
このブログを読んでる皆さんはいかれました?
 
 
まぁ個人的にはこのコスプレ模様が見たかった気もしますw
 
このコスプレの「ファイナルファンタジーVII」のクラウドとか、ぱっと見かなり似てるしw
 
コスプレしたまま 普通に町を歩いたらどうなるか、興味深いですな( ´д`)
まぁ大半の人は、ちらちら見るだけでしょうが。。
 
 
しかし FF13 のアギトは携帯で本当にあれ程のクオリティ出せるのでしょうかね。
 
個人的には、ノーだと思いますが。 
 
天下の スクエニクオリティ なら出せるのかなぁ。 
 

2007/05/13
カップラーメンを久々に食べてみた@ど豚骨

 
久しぶりに、コンビニで買ったカップラーメンを食べてみました。
 
「マルちゃん ど豚骨」
 
 
正直なところ
 
う、うまい!( ゜Д゜)
 
 
カップラーメンって久しぶりに食べたらうまいもんだけど、
それを考慮しても美味い!
 
 
こんなに美味いものとは想像してなかったので、しばらくハマりそう( ´д`)
 
豚骨嫌いな人には当然オススメできないけど、普通にとんこつ食べるって人にはオススメかな。
 
 
どっかの適当な店で食べるとんこつラーメンと比べても、かなりうまい方だと思う。
つい替え玉がしたくなったのですが、カップメンでは不可能なのを悟り、ストックしに再度出かけますた。
 
 
あぁー夜食にラーメンは最高だ!
 

2007/05/12
3つの携帯ゲームを同時に遊んでみる

 
同時に 3種のハードでゲームが遊べるかやってみた。
 
 
iアプリ:  聖剣伝説( ゲームボーイのフルカラーリメイク版 )
NDS:   マリオカートDS wifi 対戦
PSP:   FFT獅子戦争
 
 
 
 
うーん、さすがに3つはちょっと厳しめだけど、
アクション系じゃなければいけそう。
 
 
アクションやると他は完全にストップします!
 
素直に一つのゲームを楽しむのが正解ですね。。
アクション同士を構成した日には、ハッキリ言ってわけわかりませんw
 
 
さて、よくあるかもしれない Q&A を念のため載せておきます。
  
 
Q1. 3つ同時に携帯ゲームなんて遊べるんですか。
 
A1. ソフトによっては可能だと思われます。
     アクション性の高いゲームが交わってる場合は厳しいかもしれませんが。
 
 
 
Q2. なんで3つ同時にゲームしてんの。
 
A2. 元々は、ゲームのローディング中の時間が勿体無いので、その間の暇つぶし
   として遊んでみました。
 
 
 
Q3. ってか頭は大丈夫ですか。
 
A3. はい。いたって良好だと思います。 

2007/05/11
FFT 獅子戦争 キター!

 
FFT獅子戦争 やりまくってます( ´д`)
 
 
 
PS版の FFT は当時 100時間弱やり すべてのジョブをマスター したのですが、今回
新しいジョブが増えてるという事なので、また地道に頑張ります。
 
 
実は今日 FFTをやりこむために 風邪気味のために会社をお休みしたのですが、
ずっ布団で寝てるのもイクナイので、起きて FFT をちょくちょく進めてまふ。
 
 
そういえば PSPは音量が小さい と思うのですが気のせいでしょうか?
 
せっかく迫力ある音楽なんだし、もっと大きい音量出ないのかな。。
 
NintendoDS のゲームは小さいとは感じないけど、PSPに関して今のところ小さいとしか感じないかなぁ。
ちょっと残念。
 
-- 以下、5月12日に追加 ---
 
戦闘中の 処理落ちがかなりきつい と思ってたら、どうやら他の人も処理落ちしてるみたいですね。
カミナリや悲鳴のSEが「なんじゃこりゃ?カミナリに聞こえん」と思ったけど、これも仕様っぽい。
 
 
個人的な感想としても、
随分と安上がりな移植をしたんじゃないの?スクエニさん。
 
 
正直 移植の安上がり振りが見えすぎる のにはちょっと幻滅( ´д`)
 
 
ゲーム内容自体は当時と変わってないので、面白いものは面白いんですけどね。。

2007/05/10
ひぐらし 鬼曝し編( おにさらしへん )を読んでみた

 
今日、前回と同じお弁当を買ったのですが、今回は大きい袋にいれてくれましたw
 
 
まぁ、割り箸を入れるのに15秒ほど苦戦してたけど。
 
 
見てると、ちょっといらつきました(゜Д゜ )
 
なんで大きい袋なのに、割り箸入れるのに苦戦するのかとw
 
 
 
さて、ほぼ毎日 いらつかせてくれる 楽しませてくれる店員さんは置いといて、私の大好きなシリーズの
ひぐらしのなく頃に 鬼曝し編を読んでみました。
 
 
 
うんとね、正直想像していたよりおもしろかった!
 
主人公はかわいい系なのに、これでもかっ!っていう残虐シーンがあるギャップがまたいい。
 
 
ひぐらしの世界感はすっごい幅広いんだけど、これに関してはひぐらしをプレイした事の無い人でも
いきなし読めると思います。
 
 
ただこれは、ひぐらしの 真実に結びつきやすい描写があるので、初めての人にはこれからは入って
欲しくない気もするなぁ。
 
 
ぬぅ、お時間のあるかたは、ひまなときにでも読んでみてはどうでしょう。
 
全2巻なのでスラスラ読めると思いますよ~。
 

2007/05/09
とあるコンビニの店員さん

 
お昼に近くのコンビニでお弁当を買ったのですが、お弁当を温めてもらった後、
ちょっと驚いたミニ事件がありました。
 
 
以下は、お弁当を温めた後、袋に入れてくれてる時の模様です。
 
 
 
店員「あ、あれ??」
 
 
おれ「・・・」
 
 
店員「あ、こうするのかな」
 
 
おれ「・・・( 小さな袋にそのサイズの弁当は入らないだろw  ) 」
 
 
店員「ちっ・・・」
 
 
おれ「・・・( ちってなんだw  にしても長いっす )  」
 
 
店員「・・・・( 無理やり詰め込み中 )」
 
 
おれ「・・・( おいおい、おれの弁当取り出せなくなるだろ )  」
 
 
店員「・・・・( さらに無理やり詰め込み中 )」
 
 
おれ「・・・( うわ、袋が破れるんじゃね? )  」
おれ「・・・( ってかその袋サイズの見積もりミスを認めたらどうだろ )  」
 
 
店員「・・・・( とにかく無理やり詰め込み中 )」
 
 
おれ「・・・( このレジだけ先にすすまねー。あああ おれの弁当がぁぁ!! ( ´д⊂ヽ )  」
 
 
別店員「袋、大きいのに変えなさい!」
 
 
店員「あ、はい。」
 
 
おれ「・・・( た、たしゅかった。。  )  」
おれ「・・・( ってか弁当一つで、温めた後3分も待たせるものか?w  )  」
 
 
店員「お待たせしました。」
 
 
おれ「どうも ・・・」
 
 
ってな具合でした。
ちなみにこの人、冷やし中華を温めますか?の人と同じ人でしたw
 
推定 19~23才ぐらいの若者でしたが、まだ仕事に慣れてないのかなって印象ですた。
 
たぶん、
「お弁当一つ温めた後、どれだけ客を待たせられるか」
というギネス記録に残せるんじゃないかなぁと感じちゃいますた。
 

2007/05/08
ほんとうの年齢は?

 
ちまたで噂の可聴周波数域チェッカをやってみました。
 
 
どうやら巷では 17000Hz が聞こえるかどうかが三十路の壁だとか。
 
 
自分は 18000Hz まではいけましたが、ちょうど 18000Hz がまったく聞こえません。
なのに 18200Hz ぐらいから 22000Hz までは聞こえるのです( ´д`)
 
これはどういうことだ??
 
 
ちなみに、再生する環境によっても差が出てしまうので、人と勝負?するときにはまったく同じ環境で
チェックするのが良さそうですね。
 
時間がある人はチェックしてみてはいかがでしょうか。 

2007/05/07
連休明けは激しくダルダルィ

 
連休あけってダルイっすね(゜Д゜ )
 
 
ホントなんででしょうね?
 
ただでさえ月曜日の朝は「今日は休もうかな」って毎回思っちゃうのに。
 
連休明けの今週は辛そうです( ´д`)
 
 
 
さてさて、今日はネタもないのでGW中のニュースについて一言?かきます。
 
 
どうやら 今年のGWで交通事故数 は 119人と 1970年以降で一番少ないそうですね。
 
それでも毎年 100人以上がお亡くなりになってるってのは多く感じますが。。
 
参考は ここ とか ここ 

 

それと関連して エキス○ランド でのジェットコースター事故は恐怖としか言いようがありません。
遊園地は長い事逝ってないけど、乗るときにこーいう事故ってつい思い出しちゃいそう。
 
現場を目撃してしまった方は、余計にトラウマ的なものになっちゃうだろうな。。
 
 
たぶんすべての事で共通して言えると思うけど、どんなものでも利用されるものはメンテナンスが重要ってことですね。
 
自分がメンテナンスするのは 自分と PC ぐらいしか無いけど( ´д`)
 

2007/05/06
大技林94

 
ちょっと懐かしいものをはっけんしますた。
当時この頃、大技林を片手に、好きなゲームタイトルの隠し技や隠しコマンドなどを探しては遊ぶ
を繰り返してた記憶があります。
 
ファミコン/ゲームボーイだけの古い大技林も持ってたのですが、手元に無いのを見ると実家に置いてあるのかな。。
 
 
しかしこうしてみると、昔のゲームは裏技と呼ばれるものがほんとに多いですね。
バグ的なものも見受けられるけど、意図的に仕込んだんじゃね?と思われる裏技もけっこうあります。
 
 
昔のゲームの裏技といわれるのは、3つの要素の総称ですね。
 
①バグリ
プログラマが意図していなかった挙動による裏技
 
②デバッグ機能
何らかの理由により、デバッグ機能が残ったままリリースされた事による裏技
 
③意図的な隠し機能
ユーザー( または設計者達が楽しむ為 )の隠しシステム( 遊び要素 )の導入による裏技
 
 
現在、iアプリのような携帯ゲームに③のような遊び要素をいれてるのは少ないような気がします。
納期に終われると中々そんな余裕ないものだけど、ね。。
 
 
自分が作った一つの作品中に③を導入したことはあるのですが、まぁ間違いなく誰も気づかないコマンド
だったんだろうなぁと今思ってます。
 
理由はたくさんあるのでここでは割合しますが( ´д`)
 
 
むぅ、大技林読んでると昔のゲームがまたやりたくなってきた。

2007/05/05
GW 終了へ

 
早い、早い、休みほど早く終わるものは無い。
 
 
なんでこんなに早く 9連休が終わるのか不思議でしょうがありません。
 
今回は人生の中でも 「休日が早く終わる( と感じる )のはなぜか?」 という謎を考えてみます。
 
 
ではまず、該当になる要素をあげてみると
 
・楽しい時を過ごすと、時間がすぐに過ぎる( 夢中も同義 )
 
・一日一日は短いものなのに、長い休日( ここでは 9連休 )というイメージに囚われすぎた
 
・一日の中身が薄すぎて、早く過ぎた感じになる( 絶対的な記憶量の少なさ )
 
・年齢がけっこう逝ってきた 

 
 
 
>楽しい時を過ごすと、時間がすぐに過ぎる
たぶんこれは誰しもが気づいた( 考えた )ことのあるものでしょう。
 
人は楽しい時間、はたまた夢中に過ごす時間は「時間を意識してない」からと考えられてます。 
 
たぶんそれを正確に言うと「有限時間を意識し、悔いなく過ごしている」と私は捉えます。
 
 
これは無意識に誰もが感じていることなのではないか、と私は考えてるのですが、
悔いなく過ごせている と感じれる日々を過ごしている方は、とても素晴らしい人生を過ごされているでしょう。
 
むしろ普段は「悔いなく過ごしている」なんて考えないと思いますし、意識して知っている人はそうはいないと
考えてます。
 
 
むぅ、語りすぎると「精神状態やばいんじゃね?」と思われるかもなので、これについてはこの辺にしておきます。
 
 
 
>一日一日は短いものなのに、長い休日( ここでは 9連休 )というイメージに囚われすぎた
大半の人は、平凡な毎日を知っています。
繰り返される日々を知っています。
 
その中で、普段は無い連休とはとても良いイメージを持ってしまいがちです。
普段がつまらないと感じてる人ほど、そう思いやすいと私は捉えてますが。
 
私も 9連休に気持ちがはしゃぎ過ぎ( 心の中でね )、かつ普段を苦に思ってるのもあり、
9連休を長いものとして捉えてしまいました。今回も。
 
 
 
>一日の中身が薄すぎて、早く過ぎた感じになる( 絶対的な記憶量の少なさ )
これはいわゆる苦痛とは別物です。
 
本人にとって一日一日の中身が薄く、休み前までの記憶と休んでる時の記憶に、
そう大差がないからだと捉えています。
 
ボーっとしていたら終わっちゃった ってのを感じてる人は、これが影響しているかもしれません。
ただ、
 
その場所で、楽しくない時の時間の過ごし方を知らない人
 
は、ただの苦痛になり逆に長いと感じるでしょう。
これは その場所で というのが一番のポイントと言えるでしょうね。
 
状況により、これは誰しもが当てはまる事でもあるのです。
 
もう一つ、これを逆に考えると すでにあるその場所 で過ごそうと人は考えます。
 
 
 
>年齢がけっこう逝ってきた
これはある種あたってるのですが、違うとも考えてます。
一般的に言われている言葉でもあるのですが、時が早く過ぎると感じる理由は必ずあります。
 
その理由に気づけなかったので、この言葉を最初に言った人は都合の良いものを述べたのだろうか?
 
 
この言葉を深く考え結びつけると、様々な日々の毎日を良く知っている人( 経験 )が、これで納得するん
じゃないかなと思います。
 
生物は常に学びつづけてますからね。
 
 
年齢が過ぎる = 経験を味わう  という図式が当てはまる人ほど( 強弱の違い )、そう考えやすくなるんじゃないと
思っちゃうのですね。
 
そう考えると 年齢がけっこう逝ってきたから というのは別な視点での言い方とも言えそうですね。
 
うーん、ってことはこの言葉を発した人は、
それを気づいてるから、伝わりやすい言葉で言ってるのかもしれませんね。
 
よくよく考えると、細かい言い方でいちいち言わないか。。
 
 
ってことで、一旦否定しといてなんですがこの言葉自体は間違っては無いようです。
 
 
 
さて、今回の自分はどれが当てはまってるのかな。
 
複数技で当てはまってる気がしてしょうがありませんが( ´д`)
 
 
なぉ今回の見方はあくまで私個人が考えていることに過ぎないので、その辺はご了承くださいませ。
当然、いくつかの前提の元にあります。

2007/05/02
ひぐらし一段落 鬼隠し~祭囃し

 
睡眠を惜しみ、ようやく ひぐらしの祭囃し編 までクリア~!(PC版)
 
もぅ これでもか!っていうぐらい バットエンディング ばっかなので、祭囃し編はようやく納得できた結末。
ちょっと部分部分( 神的存在 )は納得しづらかった部分もあったけど。
 
ネタばれになるので詳細は書けませんが( ´д`)
 
 
とりあえず、時間を真剣に忘れるほど面白かったのは間違いないので、その他の編もやります!
 
 
しかし謎が多すぎますたよ、この作品。
物語を進めれば 明確な解答 もあるのですが、明確な解答の描写がない個所もけっこうあります。
 
ただ伏線として、前半からいろいろと 張られて足りするのですけどね。
 
 
個人的にも感じてますが、だてに 正解率1%の謎 というのは間違ってない。
 
鬼隠し編 だけで、結末の系統?を少しでもかすることは難しい。
様々な視点で見ることを前提に推測しないと、主人公の視点だけではなんの真実もわからない。
 
かくいう私も、自分の推理はかすりもしませんでした( ´д`)
 
 
むぅ、絵は違うみたいだけど PS2 版の ひぐらしのなく頃に祭 もちょっとやってみたくなった。