2006-04-01から1ヶ月間の記事一覧

CG技術の進化が切り拓く ビジュアルプレゼンテーションの未来

Vind(→id:yaneurao:20060326)のプログラマのtaosさんが、JAIST*1で公演をするそうだ。 私も実は以前からプレゼンツールを作ろうと考えていて、swfの内部仕様調べたり、なんやらかんやらしているのだけど、仕事の合間にやってるからいつまで経っても出来やし…

C#2.0時代のゲームプログラミング(27)

Yanesdk.NETの根幹はC# + SDL + OpenGLで書かれている。 SDLは、主にSDL_mixerとSDL_image,SDL_ttf,SDL_netを用いてある。 このように、C# + SDL + OpenGLを用いて移植性にある程度の注意を払いながら書いた場合、果たしてlinux/Macで動くのか?というのは、…

馬鹿の見る夢のなかには馬鹿しか出てこない

うちの会社でときどき仕事を外注の人にお願いすることがある。あるいは、うちの会社でしばらく働いてもらうことがある。そうすると、そういう人たちは「ああ、世間の職業プログラマは、こんなレベルで、こんな質の悪いコードを書いてやがるんだな」という局…

ピタゴラスイッチ

ピタゴラスイッチに出てくるピタゴラそうちが凄いんだ。*1 ピタゴラスイッチは、アルゴリズム行進が好きだったんでときどき見てたのだけど、こうして通してみたのは初めてだ。 ホンダのaccordのCMや、TVチャンピオンの動画もため息が出る。 *1:「ピタゴラそ…

C#2.0時代のゲームプログラミング(26)

前回書いた、Marshal.UnsafeAddrOfPinnedArrayElementはハマりどころで、日本語の.NET Framework SDKの訳文が間違っていることもあって、必ずと言っていいほどハマる。 例えば、C#からOpenGLを扱うのは一筋縄ではいかないことをこの連載で示してきたが、誰か…

新刊紹介

Effective C++ 原著第3版 (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)作者: スコット・メイヤーズ,小林健一郎出版社/メーカー: ピアソン・エデュケーション発売日: 2006/04/29メディア: 大型本購入: 29人 クリック: 411回この商品を含むブログ (186件) …

C#2.0時代のゲームプログラミング(25)

今日は、byteなどを仮想streamとみなして、その一部をstructとしてアクセスする方法を説明する。しばらく悩んでいたのだが、id:akirameiさんの多大なる協力を得てこのたび完成した。 ・必要となる背景 例えば、メモリ上にzip headerをbyte[ ]として読み込む…

目視だけでデバッグ

いま他人のプログラムをデバッグしている。時間がもったいないので目視のみだ。私の場合、小さなクラスならば、目視のみでほぼ100%デバッグできる。(そのクラスのなかから変なAPIを呼び出していたり、高度なアルゴリズムが使われていたりする場合はその限り…

PSPは同人開発環境の夢をみるか?

みずさわさんがPSPは同人開発環境の夢をみるか?という記事を書いている。彼はmixiに書いていたので、「blogに書かんか(`ω´)」と私が催促したのだ。 PSPのhomebrew(ユーザー自作プログラム)の近況はと言うと、その後3Dまわりの解析も進んでいる。みずさわさ…

500円DVD

いま昔の映画など、著作権切れになったもののDVDが安くで売られている。その筆頭にあげられるのが、KEEPという販売元である。日本語字幕、英語字幕の両方が収録されていて、英語の勉強にちょうどいいのだ。英会話のレッスン料だと思えば安いものだろう。 し…

WebサービスAPI

web

『最新WebサービスAPIエクスプローラ』を編集の人に献本していただいた。ついでにこの本を編集した人にサインをもらった。そういや、この本、id:higepon:20050923が原稿を書いていたな…。 調べ物していてちょうど買おうと思っていた矢先だったので、買わずに…

アリエナイ理科ノ教科書

知り合いの書いたアリエナイ理科ノ教科書が、有害図書に指定された。 なかなか面白い本なんだけどなぁ…。まあ、分別のないお子様にはよろしく無いのかも知れない。

ひなた先生12回目

『Software Design』誌に連載しているひなた先生もようやく一周年である。(1回連載お休みしたけど) 最近は、読者アンケートの結果によると特集記事よりもひなた先生のほうが人気があるそうだ。「本来はあってはならない事態なんですけど…」と編集の人が言っ…

Knuth先生の新刊

The Art of Computer ProgrammingのVolume 3が発売になった。今回は、「ソートと探索」である。情報科学を専攻しているなら持っていて当たり前の本である。(フツーの職業プログラマには少し難しいかも知れない。) 上のシリーズとは別に、『The Art of Comput…

C#2.0時代のゲームプログラミング(24)

とまあ、multi displayでフルスクリーン化するぐらいのことが、こんなにも難しいという話であった。恥ずかしながら、私はこの一連の事実に気づくのに丸一日近く要した。 C#2.0の時代になって、C++のときにはなかった(?)機構がいくつも投入されている。delega…

C#2.0時代のゲームプログラミング(23)

前回書いたように いま二つのアプリを立ち上げて、ひとつを画面2でフルスクリーン化、もうひとつを画面1で最大化したとしよう。画面1の最大化にともなって、画面2の仮想スクリーン座標におけるBoundsは変更になる。これに伴って、画面2でフルスクリーン化し…

C#2.0時代のゲームプログラミング(22)

めでたくdisplay解像度の変更が出来た。しかし、これで終わりではない。ここから先が長いのだ。 # okzk 『流れをぶった切りますが、FormBorderStyleをNoneにするなら、WindowStateを変更せずにform.Bounds = scr.Bounds;としてはマズイですか?』# yaneurao …

C#2.0時代のゲームプログラミング(21)

次に、.NETで画面解像度を切り替える場合を見ていこう。 ChangeDisplaySettingsExを呼び出すところは同じだが、この第一パラメータで指定するディスプレイ名。これと、global::System.Windows.Forms.Screen.DeviceNameで表されるディスプレイ名とは同一なの…

C#2.0時代のゲームプログラミング(20)

解像度変更のためにはディスプレイを列挙する必要がある。 普通はEnumDisplayDevicesを呼び出すのだが、EnumDisplayDevicesは、NT4.0で非対応。(cf.→http://forums.belution.com/ja/vc/000/080/80.shtml) よって、このAPIを用いるのならばNT4.0かどうかのチ…

デザインパターンを現代的な視点で捉えると

『オブジェクト指向における再利用のためのデザインパターン 』を知らないプログラマは居ないだろう。(?) 私も、この本で最初勉強したのだが、書き方がわかりにくく当初、消化不良を起こした。カタログ形式にまとめてあるので、わかりにくいのは仕方ないと言…

C#2.0時代のゲームプログラミング(19)

Form.LocationプロパティでLocationを変更すると内部的にはuser32.MoveWindowSetWindowPosが呼び出されるようだ。まあ、移動はもとよりさほど問題ではなくて、Form.WindowStyleをFormWindowState.Maximizedに変更したあとは、ウィンドゥの移動は一切行なえな…

メイド喫茶 割引!

つい先日、知り合いが、まーめいど梅田店をオープンさせた。 実は、私の身内がメイド喫茶をopenさせるのは、これで4人目である。 それはともかく、「うちのblogで紹介してやるから、なんかクレクレ(`ω´)」と言ったところ、 やねうさんのBLOGを見て来て頂い…

10分で作るネットワークチャットプログラム

Yanesdkの公式サイトのほうに、Live Lecture , Lesson 2を追加した。 今回は、10分でネットワークチャットプログラムを作っている。クライアント側の制作に6分、サーバー側の制作に4分。*1 いまだに、「C#なんか使わなくともC++でも同じことが出来る」という…

C#2.0時代のゲームプログラミング(18)

仮想スクリーンでの座標を指定してウィンドゥを移動させるには、user32.MoveWindowを呼び出せば良い。 MoveWindow(form.Handle , x , y , width , height , 0);→すまん。コメント欄で教えてもらったように、Form.Locationプロパティで十分だった。 仮想スク…

C#2.0時代のゲームプログラミング(17)

まず、multi displayの座標系から調べていこう。 multi displayの仕組みは、それなりにうまく出来ている。multi displayにおいて、それぞれの画面は、画面のプロパティで見ればわかるように仮想スクリーン上に配置されている。この仮想スクリーン座標でウィ…

C#2.0時代のゲームプログラミング(16)

# sisya 『中心点のあるディスプレイで最大化してもいいかな位におもってました。 ウインドウの基点はシステムの都合(別に左下でもいいはずだし)だから、対応してあげたい機能ですね。』# yaneurao 『中心点がどの画面にも属さないということがあるんだけ…

Live Lecture

YanesdkのLive Lectureを公開した。 http://yaneurao.wankuma.com/yanesdkdotnet/index.html 15分ぐらいで書ける簡単なプログラムをいろいろ作って、その過程をムービーで公開していこうと思っている。 ↓↓↓お題、コメント欄で求む↓↓↓

新刊紹介

Haskellの入門書が出た。C/C++/Java/C#のような手続き型言語(?)だけでこの先やっていけるのかという不安のある人は、これを機にHaskellを勉強してはいかが? 「ゲームプログラミングのための数学と物理」は、数学的な内容は「ゲームプログラミングのための3D…

C#2.0時代のゲームプログラミング(15)

# kcrt 『「そのアプリケーションウィンドゥが存在する画面」ってどう判定するんですか?実際デュアルディスプレイ使っているとウィンドウの(0, 0)位置で判定しているものが多いですね。でも、それだとほとんどの面積が右ディスプレイで表示されててもちょっ…

Yanesdk.NET 1.00正式リリース

YaneuraoGameSDK.NETを正式リリースした。サイトも更新した。使ってみてくれい(`ω´) Yanesdkとは?(はてなキーワードより)