しらいとブログ

ネットで検索してもなかなか出てこないIT情報を独自にまとめています

Windows 10で昔のゲームを動かすプロジェクト Part 1

久しぶりに昔のゲームをやろうとしたら今のPCではまともに動かなくなっていました。そこで、昔のゲームをWindows 10でも動くようにするパッチを作りました。Windows 10より前のOSでも効果があるかもしれません。

続きを読む

Rust言語でDxLibを使う

DxLibはWindows用のゲームなんかを作れるライブラリです。DxLibはC++のライブラリですが、C#用のDLLバージョンも公開されており、C#以外でもFFI(Foreign function interface)が使える言語なら使えます。RustもFFIが使える言語なのでDLL版DxLibを使うことが出来ます。

ただし、DLL版はいくつかの関数が使えません。例えばprintfDxDrawFormatStringのような可変長引数を使った関数は呼び出し規約がstdcallなため使えません。ですが、普通にゲームを作るだけならあまり困ることは無いと思います。ちなみにstdcall以外を使うよう自分でDLLを作ればこのような制限はありません。

この記事ではRustでDxLibの関数を呼び出し、ウィンドウを出すところまで解説します。

続きを読む

垂直同期とダブル/トリプルバッファリング

垂直同期とダブルバッファリングとトリプルバッファリングの解説スライドを作りました。

この3つはゲームプログラミングには欠かせない知識なのですが、何故か検索してもゲーマー向けの情報ばかりなので、プログラマ向けの情報として書きました。と言ってもコードはありません。やり方ではなく意味や違いを説明しています。

続きを読む