神代クロ のすべての投稿

都内の温泉に行く

今日は師匠たちと都内の温泉に行きました。ちゃんと地下1000メートルくらいから汲み上げてる温泉らしい。

露天に行くと源泉の湯があって、入ってみるとなんかぬるぬるしてたよ。源泉なのに40℃くらいなので、丁度良い温度でした。

しばし入った後、一旦出てビールを飲みます。風呂上りの一杯は美味いね。飲みながらビジネスの打ち合わせをはじめてみたり。ビジネスアイデアを出しても、やはり営業が弱いんで、そこがネックですね。

そして2度目の入湯。暗くなった夜空を眺めながらのんびり浸かりました。ちなみに、ちょっと雨がぱらついてたけど、それもまた良し。

久しぶりにのんびりでした。

パソコンを設定する

今日は取引先のパソコンを設定しに行きました。

7年位前に買ったパソコンが調子悪いから、新しく買ったとの事。データの移行とか、アプリの設定なんかをしてほしいと言われました。

行ってみると、パソコンはAthlon 64 X2でメモリ2GByteな感じのものでしたが、ディスプレイをデュアルにしてたんで驚いたよ。22インチを2台机に並べてるし。俺は未だに17インチCRTが1台なので、ちょっと羨ましい。

設定後、古いほうのパソコンを軽くしてほしい、と言われたけどリカバリディスクが無いみたいなので、不要なアプリを消してディスクのクリーンアップや最適化程度で止めときました。ちなみに自分のパソコンはレジストリクリーナーで掃除してるけどね。

にしてもパソコンの設定は時間がかかる…ほぼ1日仕事になっちゃいました。

サーバ移転します

ウチのサイトは4年以上、XREAを利用していましたが、ここ半年ほど某サイトでCORESERVERを試していて、特に問題なさそうなので移転する事にしました。

XREAもCORESERVERも同じ会社のサービスなんだけどね。普通にHTMLを載せとくだけなら今のサーバでも良かったんだけど、システムが古いまま更新されなくて、例えばPHPはサポートが終了してるバージョン4.4.8のままだし。まぁ勝手に更新されても困るけどね(バージョンの違いでシステムが動かなくなったりする)。

幾つかのサイトは既に載せ替えたんだけど、PHPかPEARのバージョンのせいか、文字化けを起こすので、ちまちまエンコードを変換させてました。でも作業はそれくらいで、問題なく移転できました。

メインのyagasuri.comはシステム部分をリニューアルしてから載せ替えようと思いつつ、手付かずのまま結構時間経ってたり(汗)

そのうちリニューアル&移転します。

ゲーム開発3:システム構成を確認する

5f7d4ba8.jpgいきなりDirectXまわりを組んでいこうと思ったのですが、考えも無しに組んでいくと後々破綻しそうなので、とりあえず過去に組んだシステム構成を確認してみました。

画像のツリーがそれで、クラス毎に書いてます。WinMainからはじまり、CSystemで全体の初期化をします。その時にCGraphics等でDirectX関連の初期化も行います。またCSystemはフレームレート等の基底システムを司ります。

CGameModeは各モードの基底クラスで、タイトル画面だとか、エンディングとか、その時どきのシーンを派生します。

CMainModeがゲームプレイ時のシーンです。この中にキャラクタや移動するフィールドなんかを詰め込んでます。

図では分かりづらいですが、CMainMode等はCGameModeを継承、CMyChara等はCCharaを継承しています。

基本はこの構成で良さそうですね。ただこの過去のシステムでは、DirectXに依存する部分の隠蔽化が不十分だったため、今回ゼロから組み直すハメになったので、そこは気をつけてみます。

図を眺めてまず最初にやるのは、やはりCSystemクラスですね。その後DirectX関連を進めていきますか。

ゲーム開発2:ウィンドウを表示する

久しぶりにゲームを作ろうと思います。6年ぶりなので久しぶりどころじゃないけど。この6年で、覚えたことは忘れちゃったし、そもそも時代が変わってるので、新たな気持ちでゼロから勉強です。

せっかくなので、開発日誌をつけていこうと思います。ちなみに開発環境は、
WindowsXP SP3
DirectX9.0c
Visual Studio 2008 Express Edition with SP1
C++

で行きます。

まずはウィンドウを表示する処理を作ります。WindowsのプログラムはWinMain()からですね。最近はUnicode対応の関係から_tWinMain()とかいうのが定義されてるみたいだけど、とりあえず今まで通りで。

ここの処理はもう定型文みたいなものですね。描画はDirectXにやらせるので、以下のソースコードではウィンドウ内には何も表示されません。

次はフレームレートかな、それともDirectX Graphicsに進んだ方がいいかな。

//---------------------------------------------------------
// メイン

#include "windows.h"

#define WINDOW_NAME "開発テスト"
#define APP_NAME "devtest"

// システムメッセージの処理
LRESULT WINAPI WndProc(HWND, UINT, WPARAM, LPARAM);

//---------------------------------------------------------
// アプリケーション開始

INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT)
{
 RECT rect={0, 0, 640, 480};
 MSG  msg;
 
 // ウィンドウクラスを登録する
 WNDCLASSEX wc={sizeof(WNDCLASSEX), CS_CLASSDC, WndProc, 0L, 0L,
       GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
       APP_NAME, NULL};
 RegisterClassEx(&wc);
 
 // アプリケーションのウィンドウを作成する
 AdjustWindowRectEx(&rect, WS_OVERLAPPEDWINDOW, FALSE, NULL);
 HWND hWnd=CreateWindow(APP_NAME, WINDOW_NAME, 
         WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, (rect.right-rect.left), (rect.bottom-rect.top),
         GetDesktopWindow(), NULL, wc.hInstance, NULL);
 
 // 独自の処理★
 
 // ウィンドウ表示
 ShowWindow(hWnd, SW_SHOWDEFAULT);
 UpdateWindow(hWnd);
 
 // メッセージループ
 ZeroMemory(&msg, sizeof(msg));
 while (msg.message!=WM_QUIT) {
  if (PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
  else {
   // 独自の処理★
  }
 }
 
 return 0;
}


//---------------------------------------------------------
// システムメッセージの処理

LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 switch (msg) {
 case WM_ACTIVATE:
  // ウィンドウがアクティブになった
  // 独自の処理★
  return 0;
 
 case WM_KEYDOWN:
  switch (wParam) {
  case VK_ESCAPE:
   // 強制終了
   DestroyWindow(hWnd);
   return 0;
  }
  break;
 
 case WM_DESTROY:
  // ウィンドウが閉じられた
  // 独自の処理★
  PostQuitMessage(0);
  return 0;
 }
 
 return DefWindowProc(hWnd, msg, wParam, lParam);
}

マウスジェスチャーのマウ筋を導入

昔からある事は知ってたけど、初めてマウスジェスチャーを導入してみました。マウスジェスチャーとはマウスのみで色んな事をさせるツールです。

入れたのはマウ筋です。なんかWikipedia最も有名って書いてあったからw しかしマウスジェスチャーって共通の仕様が無いんだね。どうしようか悩んだけど、とりあえず基本的なものだけ登録しました。

R→(進む)
R←(戻る)
R←→(リロード)
R↓→(ウィンドウを閉じる)

あと幾つか登録した。

たったこれだけなのに、なんか凄く使い勝手が良くなったよ! 今まではマウスでいちいちボタンの所まで移動させる必要があったけど、それが無くなったお陰で、かなり楽に操作できるようになりました。

特に俺はネットを見るとき、ノートPCにマウスを繋いで50cmくらい離れて操作してるから、キーボードのショートカットとか使えなかったんだよね。

そんな訳で、早速持ってるPCすべてに導入したよ。

思考は現実化する

【携帯版】思考は現実化するを読みました。成功哲学の元祖のうちのひとり、ナポレオンヒルの著書です。携帯版なので省略されてますが、それでも580ページあります。読み終わるのに1週間くらいかかったよw

骨子としては「目標を明確化する」「人にしてほしい事はまず自分からする」です。読むのは二度目ですが、改めて読んでみると、また色々と気付くことがあるね。マスターマインドの重要性とか。今後に活かしていけそうなアイデアも思いつきました。

ちなみに、ナポレオンヒルの著書は10年位前にも何冊か読んだ事あるんだけど、その頃は書いてある事があまり理解できずに本を捨てちゃったんだよね(汗) 当時は小手先のノウハウばかり追い回してたからなぁ。年を経てようやく理解できた本です。

ToDo管理ソフト乗り換え

ここ数年、KamiWikiというWikiソフトをToDo管理ソフトとして使っていました。KamiWikiとはTiddlyWikiを元にしてつくられたものです。セキュリティが弱いけど更新が簡単だったので、SSLBASIC認証で固めて利用してました。

ただ不満があって、携帯電話からは使えません。どちらかというとWikiでWebサイトを作るソフトだから、当然と言えば当然だけど。あとKamiWikiは公開直後から更新が止まってるっぽい。そんな訳で別なToDo管理ソフトを探してきました。

Remember The Milk(RTM)です。Check*padと迷ったけど、機能が多そうという事で。KamiWikiは自分のサーバに乗せるタイプだけど、RTMはASPだね。

会員登録して早速ログイン。RTMはリストというグループを作って、その中にタスクを追加していくんだね。で、タスクが完了したら完了ボタンを押して終了。多機能そうだけど、とりあえず簡単に使えるね。

もちろん携帯電話にも対応してるので、タスクが増えたら即、追加できます。ただ、ページ移動するごとにSSL認証開始みたいなのが出るんだけど、それがちょっと不満。これって消せるのかな?

毎日やることは1回登録すれば、ちゃんと毎日タスクが生成されるみたいだし、なかなか良いです。

しばらく使ってみよう。

ゲーム開発1:Visual Studio 2008 Express Edition with SP1を入れる

ネットニュースでVisual Studio 2008 Express Edition with SP1が提供開始したとなっていたので、これを機にインストールしてみました。無料だし。

以下のサイトから
http://www.microsoft.com/japan/msdn/vstudio/express/

Visual StudioのExpress Editionは、無料で使えるプログラムの統合環境です。色々制限がかかってるけど、商用利用もOKなので、同人ゲーム開発なんかには良いね。俺はVisual C++を使うことにしました。

ためしにコンソールアプリケーションで“Hello, world!”を表示させてみました。うん、簡単。次にWindowsアプリのテンプレートプロジェクトを開いてみたら…よくわからん。知らない構造体?クラス?や関数だらけだし。まあネットでちょっと調べてみたら、Win32で組むプログラムの構造は昔と変わってないみたいだったので安心した。

次にDirectXの開発一式を以下からダウンロード
http://www.microsoft.com/japan/msdn/directx/downloads.aspx

今の最新はMicrosoft DirectX SDK (Mar 2008)です。インストールしたら勝手にVisual Studioにパスを通してくれるから便利だね。

これで一通り準備は整いました。ちなみに、試しにDirectX8.0で組んだプログラムをビルドしようとしたら色々足りないってエラー出たw 今はDirectX9.0cの時代だからまぁ仕方ない。

次回はメインループを組んでみようかね。

タイムホロウ クリア

タイムホロウ 奪われた過去を求めてをクリアしました。このゲームは深夜によくTVCMやってたね。

過去修正アドベンチャーとかいう変わったジャンルのゲームです。ある場所の、過去のある時間を操作できてしまう不思議なペンを操って、身近な不幸を回避したりとか、そんなお話です。

以下ネタバレ。

プレイしてまず、ネーミングがどうかと思ったね。主人公の名前が歩郎(ホロウ)で、飼い猫の名前はフォ郎、不思議なペンの名前はホロウペンだしね。ひょっとして、主人公は両親に好かれてないのではw

ゲーム自体は一本道だけど、結構ストーリーに引き込まれて面白かったです。過去を修正してタイムパラドックスを発生させる(させられる)たびに、ガンガン現代が変わっていくのが良いね。

過去の人に手紙とか送れちゃうけど、俺ならどうするかな。「その会社はやめとけ、倒産するぞ」とかw しかし舞台はご町内だけで完結してたけど、悪用すれば何でも出来そうだね。てゆうか、そんなドラマを昔見た気がする。

いつも金に困ってるダメなおじさんが、最後は格好良く締めるのが良かったけど、他にもやりようがあった気がするなぁ。で、主人公が好きだった十二林さんはおじさんと結婚して、主人公は十二林さんの娘(従姉妹)と付き合う…のか?

5時間くらいでクリアしちゃってちょっとやり足りない気はするけど、おおむね満足でした。