記事一覧
-
2006/02/02
本格的なシューティングゲームを実現するタスクシステム
本稿では、オブジェクト指向に基づいたタスクシステムを実装し、シューティングゲームを作成する方法を解説します。タスクシステムを利用すると、ゲームの流れを自然に表現できるため、制御が必要な要素の多いシューティングゲームやアクションゲームに適しています。
-
2006/02/01
OSCacheのキャッシングでWebアプリケーションのパフォーマンスを向上する
多数のクライアントからのリクエストを処理するWEBシステムでは、パフォーマンスの問題が重要であり、その解決策の一つとして「キャッシング」技術があります。本稿では、J2EEキャッシングフレームワーク「OSCache」を使ったWEBコンテンツのキャッシング方法を、サンプルを用いて紹介します。
-
2006/01/31
フリーのFlashコンパイラMTASCを使ってお絵かきツールを作る
Flashファイルを作るには、Macromedia Flashを使わないといけないと思われていますが、Flashの仕様は公開されており、フリーのFlashコンパイラMTASC(Motion-Twin ActionScript2 Compiler)があります。そこで、MTASCを利用して、お絵かきツールを作ってみます。
-
2006/01/26
高速かつ省メモリで文字列を扱うデータ構造「wavelet tree」
本記事では大規模なデータを扱うためのデータ構造であるwavelet tree(WT)を紹介します。WTは文字列が与えられた時、文字cのi番目の出現位置や、文字cの位置pまでの出現回数を定数時間で答えるデータ構造です。作業領域量は元テキストの約2倍です。WTはsucBVの延長上にあるデータ構造であり、WTを用いることで圧縮索引やsuccinct data structureなどを実装できます。
-
2006/01/23
ATL/WTLプログラミング 4:ダイアログリサイズ
Windowsアプリケーションを作成するためのC++クラスライブラリといえば、Microsoftが提供するMFCが有名ですが、同社が提供するライブラリATLを利用して作成することもできます。本稿では、ダイアログウィンドウのリサイズについて解説します。
-
2006/01/18
高速かつ省メモリなbit vector「sucBV」を作る
本記事では大規模なデータを扱うためのデータ構造である操作付きBit Array (SUCcinct Bit Vector: sucBV)を紹介します。sucBVは、vectorと同様に2値配列情報を保存する他にrank, selectと呼ばれる二つの操作を定数時間でサポートします。作業領域量はvectorの約3倍です。sucBVを用いることで、圧縮索引やsuccinct data structureなどを実装できます。
-
2006/01/17
mavenのプラグインを作成して独自のレポートを追加する
mavenは、プロジェクトの情報をまとめたサイトを自動生成する機能が標準で備わっています。標準のままでも豊富なレポートを利用できますが、独自のレポートを追加できれば、より円滑にプロジェクトを進めることができるでしょう。今回は、その方法を具体的な例を基に詳しく解説します。
-
2006/01/16
C++による開発で陥りやすい問題点の検証
C++でソフトウェアを作成する際に陥りがちなミスについて、いくつか実例を交えながら解説します。プログラムの不具合をなくすためには、エンジニア個人の能力を高めていく努力が不可欠です。その王道は基礎をしっかり身に付けることに違いありません。
-
2006/01/16
CPUID命令によるプロセッサ環境の判別
本稿では、CPUID命令を利用して、現在動作しているプロセッサが論理プロセッサ(ハイパースレッディングまたはデュアルコア・マルチコア)なのか、物理プロセッサ(マルチプロセッサ)なのかを検出する方法を検討します。
-
2006/01/13
マンデルブロー集合による新しいフラクタル図形を探索する
マンデルブロー集合はフラクタル図形の一種として有名で、これを描画する方法は広く知られています。本稿では、単なる描画ではなく、マンデルブロー集合から面白いパターンを容易に探索できるように実装します。
-
2006/01/12
JavaScriptとDHTMLによるタイピングゲームの作成
本稿では、JavaScriptとDHTMLを利用してブラウザ上で動作するゲームを開発します。スクリプトからHTMLドキュメントの内容を書き換える方法を詳しく解説し、最終的にサンプルプログラムとして、シンプルなタイピングゲームを作成します。
-
2006/01/10
Microsoft Web Browserコントロールのセキュリティを制御する
Windowsフォームアプリケーションでは、Microsoft Web Browserコントロールを使用して簡単にブラウザ機能を追加できますが、デフォルトではHTML内のスクリプトやActiveXコントロールまで実行されてしまいます。IInternetSecurityManagerを実装すると、スクリプトやActiveXコントロールの実行許可・不許可を制御することができます。
-
2005/12/20
DirectX Graphicsの隠し設定を利用した開発テクニック
Windows OSにはコントロールパネルから変更できない多くの設定が存在し、それらの設定の多くはレジストリやiniファイルに格納されています。これと同じように、DirectX Runtimeにもいくつかのシステムレベルの設定が存在します。この記事ではこれらDirectX Graphicsの隠れた設定について、実装上のテクニックを交えながら紹介してゆきます。
-
2005/12/16
落ち物ゲームの作り方 第2回:「聖夜の落とし物」編
本稿では、第1回で解説した「TETRA」とは別の落ち物ゲーム「聖夜の落とし物」を作ります。「聖夜の落とし物」も、ある有名な落ち物ゲームを模しています。「聖夜の落とし物」に特有な処理として、4個以上つながっているかの判定、妨害ブロックの取り扱い、などがあります。
-
2005/12/16
ムービーファイルをDirect3Dのテクスチャとして利用する
DirectShowで読み込んだムービーファイルを、Direct3Dのテクスチャとして利用する方法を解説します。ムービーファイルを3DCGのテクスチャとして利用すると、動画を背景に利用したり、グラフィックカードのシェーダプログラミングでエフェクトをかけたりすることができます。