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

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

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

2007/02/27
いやだ 風邪ひきますた

 
( ´д`)あああぁ
 
先週の土曜ぐらいから、風邪ひいてしまいました。
 
 
自分は比較的 風邪とは無縁の人 だったのですが、今回かかったのは、ほんとに風邪か??ってぐらい強力です。
そこで今日は辛い症状ランキングとして、かってにランキング化しちゃいます( ´д`)
 
  こんなん書いてるんだったら安静しろよ、と > 自分
 
 /////////////////////////////////////////////////////////////////
 第1位  咳がとまらない
 第2位  頭痛がする
 第3位  鼻水がとまらない
 第4位  食欲がまったく無い (※1)
 第5位  のどが痛い
 第6位  くしゃみがよく出る
 
  ※1
   ・通常の風邪では基本的にこの現象は無いみたいです。
     自分は 口内炎 と合わせ技を食らってるので、その影響かもしれません。
 
 /////////////////////////////////////////////////////////////////
 
【解説】
はい、やっぱり一番辛いのは 咳がとまらない です。
これは読んで字の如く、本当に咳がとまらないのです。
 
今日なんか咳が出すぎて、本気で死んじゃいそうな状態になりました。
 
 
後きつかったのが、鼻水が喉に詰まって一瞬 呼吸困難 になってしまいました。
本気でやばかったれす( ´д`)
 
ってなわけで こういう時の為に、参考になりそうなページ をペタっと。
 
 
自分は子供のころ 「りんごのすりおろし」をよく親につくってもらってますた( 風邪に限らず )
当時、かなり効果があったのを覚えてます。。また食べたいな。
 
ここを読んでくれてるみなさんも 風邪には気をつけてくださいね~。

2007/02/25
VC2005 & Windows2000 上で _findfirst 実行エラー その1

最初に 今日はプログラマ向けの話題なので、一般の人にはツマラナイ記事かもしれません。
 ( しかも Windows での開発者向け。。 )
 
 
最近 VC2005( Platform SDK )をインストールし VC6.0 から移行していこうかなーと思い色々実験をしていたのですが、
なんとファイルを検索する API  _findfirst で例外が起きてしまうのです。
 
 
僕はこの API 関数は自分ライブラリの一環の中で使用しているのですが、どうも特定ディレクトリを検索すると
落ちてしまう感じです。
 
自分のコーディングを疑ったり、そのフォルダのアクセス権限を疑ったり、気になることすべてを疑いましたが
2台のマシン上で同じ結果だったので、これは VC2005 と Windows2000/SP4 の問題な気がしてしょうがありません。
 
その証拠に
 
 _findfirst系 部分を WinAPI のFindFirst() 系に変えたコードにすると
 
実行エラーにならないのです。
 
 
ちなみに WindowsXP 上ではこの問題は確認できませんでした。
3台のマシン環境( Windows2000 *2  WindowsXP )でVC2003 も含めて試してみたのですが、Windows2000上のみでの
発生確認をしております。
 
 
・正確に言うと、 _findnext() 関数で落ちており C:\Program Files フォルダ内の階層で検索する場合に限り
  落ちてしまいます。
 
・落ちるディレクトリを丸ごとコピーし、別ドライブに持ってて検索した場合は落ちません
 
・試した双方のマシンとも FAT32/NTFS と違うフォーマットでドライブを初期化してあります。
 
 
唯一共通するのは、Windows2000/SP4 と VC2005( PlatformSDK )という事実だけであります( ´д`)
 
 
まぁ FindFirst() 系を使えば良いという話でありますが、
 
Linux 用の Cライブラリ とかも趣味で書いてるので _findfirst
 
使いたいのですよ!!(※1)
 
  ( ゜Д゜)モルァ!!
 
 
さてこの問題は(※2)、このブログの解決すべきテーマとして定期的に扱っていきます。
 
次回 エラーの詳細 発生した実行環境/ソース を例に謎を解いてみようと思います( ´д`)
 
 ※1
linux には findfirst() はありません。
純粋にライブラリで WinAPI を使いたくないというわがままです。
 
 ※2
似たような現象を体感したことがある人は、ぜひお知えてください。
 

2007/02/23
逆転裁判4 がまちどおしい。。

僕の好きなゲームの一つに、逆転裁判というゲームがあります。
 
これは法廷バトルアドベンチャーという目新しいジャンルなのですが、これがものすごくハマっちゃうんですよ( ´д`)
 
 
何が楽しいかって、なんか気づいたらハマってやっちゃう楽しさ。
ちょっと適切な言葉が見つからないけど、このゲームは大体どのストーリーも 速い段階で犯人の想像 がついちゃうんだよね。
 
だけど 犯人がいかに嘘をついているかを暴く のがまた楽しい!
 
 
 
すごい適当な事言っちゃいますけど、このゲームの企画をした人は、人の心理をよく知ってる人が作ったんじゃないかなぁ って思ったりしまふ。
  
それで新作の 体験版 をやってみたのですが、かなり驚きますた。。
 
 
ち、ちょっと、なるほどうくんが、、キャラが違くね?
 
 
はい、気になる人は体験版で体感してみて下さい。
個人的にあのキャラ感はありって言えばありですが、真相は製品が出るまでおとなしく待ちますw
 
          ( ちなみに、主人公は なるほどうくん じゃないです )
 
 ⊂(゚Д゚⊂⌒`つ≡≡≡

2007/02/21
雨の日はマック

 
最近、雨の日はマクドナルドばっかり利用してます( 不健康
 
なぜマックばっかというと会社の ビル内に マクドルナドがある 為、つい利用してしまうんですよ( ´д`)
やっぱり距離が近いと、めんどくさい時は妥協して利用しちゃいます。
 
 
そういえば先月、話題のメガマックを食べてみました ↓
いやー、たしかにボリュームありましたけど、通常のハンバーガーを4つぐらい買った方がお得なのでは?と、ちょっと考えてしまいましたw
 ( ハンバーガーにはレタス無いけど )
 
どっかのサイトで ギガマック というのにチャレンジしていた人がいたけど、あれはネタとしては面白かったかもw
 
 
話は変わるのですが、コンピューター以外でも単位で メガ ギガってよく使われますよねー。
僕が初めてこの単位を聞いたのはゲームのファイナルファンタジー内でメガフレアやギガフレアと言うのを敵が使ってきた時に知りました。
 
当時は 意味もわからずカッコイイ! と思ってたのですが、今は意味を理解し ちょっとカッコイイ と思ってますw
 
 
さて、今日は特に落ちの無い話で終わりまふ( ´д`)

2007/02/18
Java でのプリプロセッサ

みなさん Java で開発するとき、プリプロセッサ は何を使ってますか?
 
C/C++ で開発をしてきた人は、プリプロセス処理を使ってたかと思うのですが、Javaコンパイラには
基本的にプリプロセス機能は無いのです。
 
さて、ここでいくつかのツールがあるので、僕自身の使用してた感想を書いてみます。

PPP
[概要]
 ・携帯Java等では 503 の開発の時からよく利用されている。
  書籍などにも紹介されたツール。
 
[感想]
 ・ソースコードが 5000行を越した辺りから、環境によっては激しく重い。
 ・趣味として使う程度のものならば実用的。
  携帯開発用途として考えて、今では ソースコード も 505 までの時代とは違いコード量が多くなるので
  最近は実用に耐えなくなってきている感がある。
 
 
JavaPP 
[概要]
 ・Java 用に開発されたプリプロセス。
 
[感想]
・バージョン 2.0 系にはとんでもないバグがあるので、1.3 を使用する必要がある。
・処理速度は ①の ppp とは比べ物にならないぐらい高速。 
・enum をサポートしていないのはちょっと辛い。
  ( enum のみ変換するツールを作って組み合わせれば、かなり実用的 )
 
 
③?????
[概要]
・次回の コンパイラ 制作日記のときに話題に出します。

 
ってな感じでしょうか。
 
ここで紹介しといて何ですが、僕は上記の二つとも2年ほど前からどっちも使ってないのです
当時こっそりと fpp( fast pre processor )というツールを作り、携帯ゲームの作成時にも実はそれを使っていました。
 
追記:  vector にて公開中
 
上の二つのツールの欠点であった、
  ・enum をサポートしていない。
  ・ソースコードが 5000行を越した辺りから、環境によっては激しく重い。
 
を無くし、良い所取りをしたツールだったりします。
 
今度ホームページを公開する予定なので、趣味で開発してきた お便利?ツール郡を公開しようと
思いますので、興味のある人は楽しみにしてください~( 前宣伝

2007/02/16
寝る前は マリオカートDS

最近、就寝前に マリオカートDS をやってます。
 
 
Wi-fi対戦 をやってるのですが、自分が下手で下手で勝てません( ´д⊂

相手とのマシンの性能が違いすぎて、直線でも どんどん離されてしまうのれす。。
( 自分はクッパを使用しています )
 
スーファミのマリオカートの感覚で ドリフト をやるのですが、思った通りに操作ができない~!
 
 
自分には通常の 100cc でも難しい・・
 
ってなわけで誰がひまな人 Wi-fi 対戦で戦ってやってください。

2007/02/13
年収を考えると?

もし「今の年収で満足していますか?」と突然聞かれたらどう答えますか?
 
 
表向きの答えは、相手によって返答を変えるだろうけど、実際のところは現代人の大部分の人は
満足してないのでは無いのでしょうか?
 
何を隠そう、私もそのうちの一人でございます( ´д`)
 

私の今いる会社は、ゲームソフト会社の中で 1 2位を争う大手の会社で、年収も今までと比べて大分良いのですが、
それでも不満に思ってしまいます
 
例えば1本の RPG の携帯アプリを作るとたら、大体 550万~1200万以上のお金が動くと思われます(※1)
 ( 実際 550 万ぐらいだと、とても規模の小さくサウンドもあまり力入れない場合?とか、はたまた開発期間が
   短くてすむちょっとしたRPGなどの場合かと思われます。
 
  ※1
   ・これは何かの実例を表しているものではありません。 あくまでも私個人の見積もりと受け止めてください。
     後、ネットワークゲームの場合は別物です。
 

これは画像からサウンド、デバッグすべてを受けた場合ですが、プログラム部分だけでもけっこうな額なんですよね。
ただ、組織に属した場合はそのアプリがいくらと見積もられようと、当然固定給なのです。
・・・って当たり前な事言ってますが( ´д`)
 
もちろん組織に属する利点は色々ありますが、お金・時間を最優先で考えるとどうしても納得できなくなるのですね。
 

私が今の年収に満足できない理由を考えてみたところ
///////////////////////////////////////////////////////////////////////
・自分の仕事の速さを最近自覚してきた。
 
・どんだけ早くいまの仕事をこなしても、次の仕事がすぐに来て、その月の給料は
  変わらないし、当然時間も取れない。

・もし第三者を介さずに、同じ系統の仕事をした場合の単価を比べると違いが大きい。
 
・そして昔と比べると、自身の技術力に大分自信が付いた。
///////////////////////////////////////////////////////////////////////

はっきり言って自分の手取り年収を計算してみると、けっこう少ないんですよねぇ。
こんなんで 20年ぐらい月日過ぎたとしても 億 どころか、その半分の半分にもいかないんだよねΣ(゜Д゜;)
 
あーー現実的な数字を見ると、やる気が失せてしまいますw

平凡に?一生を過ごすには今の生活で問題無いんだけど( ※2 )、やっぱり時間も欲しいしお金も欲しい
【贅沢】だとか【夢物語】とか言われたとしても、一度しかない人生なので当然どっちも手に入れるつもりです( ´д`)

 
当然、好きな仕事( ゲーム作り )でね!
 
※2
平凡が一番という意見も激しく理解できますので、あくまで私1個人の野望として受け取ってください。
そこはご了承お願いします。

2007/02/12
ロコモコ重

 
今日はお昼に出前をとって、ロコモコ重を食べますた( ´д`)
  
前々から 「ロコモコってなんてかわいらしいネーミングなんだ!」と 思ってたのですが、
この名前から食べ物が想像できなかったので、由来をちょっと調べてみました。
 

>引用
料理の名は、あるレストランの常連のティーエイジャーのひとりのあだ名であった"Loco"(ロコ)からとってこられたという。
"moco"はこれにあう音の意味のないことばを語呂のいいように組み合わせただけ


 
 (゜Д゜ )
 
ロコは人のあだな モコが語呂合わせ でつけただけなんだね( ´д`)
 
そもそも世の中に付けられてる様々な名称なんて、こういうように語呂合わせだったり人名だったりがほとんどだよなー。
 
 
商品のネ-ミングって重要だったりするし、自分も何か考えるときは適当?な意味を( 後付けでもね )つけて、
世間的に かわいい/カッコイイ と思われるようなネーミングを考えたい。
はたまたインパクトのあるもの
 
 
ロコモコから、将来の自分に必要になる?物として、何か学んだような気がした今日この頃ですた(適当
 
 

コンパイラ近況 その2

前回のブログで告知しました、いま現在作成しているコンパイラ( まだ名称は決めてない )の
サポート命令を紹介しようと思います。
 
 

サポート命令/構文
 A. 判定文  if / else  / else if
     [概要] C で使われてる if 文の感覚と大体おなじ感覚 で使用できます。
 
 B. ループ  for while break continue
     [概要] C/Java で使われてる for/while 文の感覚と大体おなじ感覚 で使用できます。
 
 C. 変数定義  var
    [概要] この言語ではローカル変数には var という定義を変数の前に宣言する
             必要があります。
 
 D. 設計 class / extends
     [概要] この言語ではすべてオブジェクト指向でコーディングしていきます。
              実際にオブジェクト指向でプログラミングするというのはプログラマ次第ですが、構
              造はすべて各々が自由に定義する class 内にコ-ドが書かれます。
 
              これはRPGならば、例えばエリアという単位をそのまま class で管理し、そこ
              にクラスコードとしてコーディングしていきます。
              継承もサポートする予定なので、応用もメンテナンスもかなり良い感じになるかと
              思います。
 
 E. メンバ( フィールド )変数アクセス  this
      [概要] Dの項目に関連していますが、メンバ変数としての明示的アクセスとして
               this アクセスが使えます。
               感覚は Java の this にとても近いです。
 
 F. クラスオブジェクト 配列の生成  new / new Array
      [概要] 配列の定義や、クラスの生成は new を使って確保されます。
               解放のタイミングは、まだ実装されてませんが、いま構想の中にあるので
               応用性のきくもので実装予定です。
 
 G. メソッドの戻り値  return
       [概要] 定義したメソッドの戻り値を自由に返すことができます。
 
 H. 構文  四則演算はもちろん、以下のものが使用できます。
     [実例]
         var a = 0;
         a = ++a + a--;      // インクリメント
         a += 2;                // +=
         a -= -2;              // -=
         a &= 0x01;           // &=
         a |= a<<1;            // |=
         a = ~(a>>1);         // ~  >>
         a = (a + 1) % 10;    // &
         a = a ^ 1;             // ^
 
     って、こんな見づらく列挙しても仕方ないですね^^;
     たぶん 条件演算子 以外はほぼすべてサポートしたような気がします(適当

 
たぶん細かく上げていくともっとあるかと思うのですが、今気づいた重要な個所は
こんぐらいかなぁって感じです( ´д`)
 
現状いまのコンパイラは、アセンブルコード生成までは、ほぼ完璧に近くなってきたのでアセンブルコードから
 携帯Java用の独自 byte コードを吐き出す部分の作成になりそうです。
 
もうアセンブルコードさえできてしまえば、後の解析は単純なので、ひたすらコードを書くことになりそうです。
    ワ━━━(゜∀゜)━━━イ!!
 
さらにそれが出来れば、今度はアプリに byteコード解釈エンジンを実装することになって、
ようやく完成です( ´д`)
 
自分の想像としては、これさえ出来れば、RPG・アドベンチャー(ノベル込み)・シミュレーション・ミニゲーム( テーブルゲームも込み )
だろうが、なんだろうが作成期間も大幅に短縮! かつ容易に修正もできるハズだし、ある程度まではプログラマじゃなくても
できるハズ!(※1)
 
※1
ここで何でプログラマじゃなくてもって言ったかというと、基本的にマクロを使ってプログラミングする事に
なるハズなので、RPGツクールで適当に軽く作れるレベルになれる人ならば、十分戦力なのれす。
 (当然、ゲームによってエンジンの コアAPI をコーディングしていく必要がありますが)
 
 
だってここまで自由かつ複雑にコードがかけるフレームワークなんて、携帯ゲームの世界にはまだ
そんなに無いと思うんだよね(強気
ドコモで言うと 505 までで本格的な解釈エンジン積むってなると、まぁ容量的にいけたとしても、
フレームレートはかなり遅いしね( ´д`)
 
まぁ自分の中では PDC では 506 以上、 FOMA は 900 以上のターゲットで爽快のものを
作ってるわけだけど、たぶんFPSは遅くても気にならない アドベンチャー・ノベルなら
容量が許せば、他の端末も対応できます。
 
全体の進行状況としてみたらまだ先の話だけど、ちょっと休みの日はちょくちょく進めていくつもり
なので、このブログを見ていただけてる方には、影ながらでも応援してくれると嬉しいかも(笑
 ⊂(゚Д゚⊂⌒`つ≡≡≡
 
 
なんか、ほんの 2カ月 ぐらい前は、オンラインゲーム用のゲームサーバーを1からコーディング
してたんだけど、もうそっちはお預けになってますw
 
ゲームサーバーを作ってたのには裏話があって、実はアプリゲットにiアプリ出そうと思って、1日で
オセロゲーム( リバーシ )を作ったんだけど、ネットワーク部分の設計を始めたら、キリが無くなって来て、
気づいたらコンパイラ製作に移動してますた。
 
 ( ゜Д゜)文長いぞ! モルァ!!
 
 
サーバー周りは一人でやるにも大変骨が折れて、iアプリを一日でつくっても、ゲームサーバーとして1から設計
すると、もうダメポですね。
最初は FCGI で適当にマッチングすればいいかぁーってやろうと思ったんだけど、実際は FCGI だけだと効率の
悪さというか、コーディングが し辛いかったのです。
 
(´・∀・`)ナガスギでしょ?
 
 
あーー、今回のブログはやたらと文字だけの構成なので
たるい人、ゴメンナサイ。。
 
  ってかこんなんに興味ある人いるのだろうか( ´-`).。oO

2007/02/10
コンパイラ近況 その1

本日は、昨日のブログで宣言したメインテーマと早速 違う議題 にします(ぉ
 
今、複数の判定文が入り乱れるときの処理にすごい悩んでます。
例えばこういう場合↓
 var a, b;
 if( (a==0 && b==0) || (a==-1 && b==-1) ){
 
ジャンプ命令の生成(※1) をする時どんどん複雑になっていくのですよ( ´д`)

ここ2日間色々やって、下記の場合とかは対応できるようになったのですが(※2)
/////////////////////////////////////////////////////
 if( a==0 || a==-1 && b==-1 )
 if( a==0 && a==-1 || b==-1 )
 if( (a==0 && a==-1) || b==-1 )
 if( a==0 || a==-1 &&  b==-1 )

 if( (a==0 || a==-1) &&  b==-1 )
/////////////////////////////////////////////////////
      ※1 ジャンプ命令とはアセンブルコードのお話で、ここでは
          C言語の goto 命令と思って下さい。
      ※2 書いているコードに意味はありません。

今の実装では、判定文の解析が一時凌ぎに過ぎないのがよく身に染みました( ´д⊂
しかし色々考え作っていくと普通の C/Javaコンパイラと遜色の無いものになってしまうし、
そこまでの気力は無いのでここは【妥協】しようと思っています。
 
【独自コンパイラ(仮)の妥協案 その1】
◆ if/while には一つの条件しかかけない。
 
もちろん下記のように else / else if などが込み合った場合は通常どおり
サポートしています。
////////////////////////////////////////////////////////
 if( !a ){
    if( b ){
    }else{
    }
 }else if( a==1 ){
    if( b ){
    }else{
    }
 }else if( a==2 ){
    if( b ){
    }else{
    }
 }else{
 }
////////////////////////////////////////////////////////
 
今日は唐突に if文の近況ついて書きましたが、次はサポートしている命令/構文でもかこうと思います~。
コンパイラの仕様詳細については完成が近くなった時にでも紹介しよっかな( ´д`)
 
あーー何か塩ラーメンが食べたくなりますた( ´д`)

2007/02/09
不定期ブログ開始?

色々あって?ブログを始めてみますた。
ちょっと気になってることなど、適当に書いていくつもりです。
 
 ⊂(゚Д゚⊂⌒`つ≡≡≡ズサー
 
 
ってことで、最近やってること言えば 【コンパイラ】 の勉強をしております!
 
数年前までは 「自分とは縁の無いもの」 とか、「次元が違いすぎる」 って思ってたんだけど、
今作ってみると、悩みはしますが予想以上にサクサク作れておりますの( ´д`)
 
簡単なインタプリタだったら昔でも作れたけど、コンパイラも作成できるレベルになってきた
のを自分でも少し成長したかなって思う。
 
 
最初の第一歩( 自分の中で )の 「逆ポーランド記法」 を見たときは ( ゜Д゜)ハァ? とか思ったけど、
仕組みさえわかれば 実装するのは難しくなかったかな
 
コンパイラの話では色々ネタがある( というかできた )ので、ブログを更新するときの戯言?として、
更新していきます(たぶん
 
 
あ~、なんか勉強したいことって多すぎて多すぎて、時間が欲しいと思うんだけど、
時間取ったらとったでサボっちゃう所があると気づいた自分。
 
 
さて、次回のメインテーマとして、自身のゲームアルゴリズムについての近況?を書こうと思います( ´д`)
 ( ちなみに↑の告知は自分メモが大半なのは内緒