2008年02月08日

開発に便利なツールたち

今回の開発でお世話になっているツールたちを紹介します。つか統合開発環境(Microsoft Visual C# 2005 Express Edition)やSDK(DirectX SDKやYaneSDK.NET)も含めて全部フリーって、凄い時代になったもんだ。

・ドット絵描きツール「EDGE
主に256色でのドット絵描きに必要な機能を多数備えた良ソフト。多機能だけど使い方は平易。アニメーションもでき、アニメーションデータを保存したファイルはテキストなので、コンバータを作ればそのままゲームに流用できる。PNGの読み書き可。
高機能版「EDGE2」もシェアウェアであり。

・マップエディタ「Platinum
マップエディタなんて作らないかんやろと思ってたら、こんな素晴らしいソフトがあるのね。マップチップを集めた画像を読み込んで、マウスで配置。レイヤーも重ねられる(透過色あり)し、出力形式も1枚絵のBMPのほか、チップの番号で示したCSV、独自のバイナリ形式(C++で読み込むサンプルコード付き)と、使いやすい。難をいうなら、PNGの読み書き、作業途中でのbit数の変更、特定レイヤのCSV出力ができないことか。

・バックアップツール「copix
lifeは、私の開発したソフトのなかではかなり大規模な部類に入るので、万が一にも消えたり破損したら泣きます。なので、バックアップツールを探してみて、圧縮して世代管理が出来てフリー、というのがこれしか無さそうだったのでこれに。圧縮にしても、わざわざ日付別のフォルダ作るのがちょっとなー、という感じですが、まあ便利。

・キャプチャソフト「Capture STAFF -Light-

普段、キャプチャソフトはあんまり使わなんですが、基本ドット絵で、DirectX使ったソフト開発となると、描画の確認に必要です。普通のPrintScreenじゃDirectXで描画したのが撮れないからね。さすがに定番だけあって便利です。
拡大とスクロールがもうちょっとやりやすいといいけど、まあ、用途外だろうなあ。

posted by ラボ長 at 10:44| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年02月03日

参考資料

今までのところで参考にさしてもらった主なサイト様。

C# によるプログラミング入門
http://ufcpp.net/study/csharp/

入門、でも中身はしっかりしてる。

@IT:連載 改訂版 C#入門
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html

ほか、@ITの記事。
上記の入門より少し難しめ。リファレンス的に使用。

C#でゲームプログラム講座
http://www.clks.jp/csg/

Managed DirectXの使い方。Direct3Dによる2D描画は丁寧でとても助かった。DirectInputとFPSタイマーの作り方も参考に。

Managed DirectX
http://sorceryforce.com/programing/mdx/

Managed DirectXのDirect3Dによる3D描画について参考。わかりやすい。

C#でDirectSoundのストリーム再生 - WonderRabbitProject
http://wonderrabbitproject.or.tp/diarypro/archives/94.html

独力では絶対しなかったであろうストリーム再生。ちょっと手を加えて、任意の箇所へループで戻れるようにして使用。

s.h.log: ManagedDirectXでJoystickを使う
http://web.sfc.keio.ac.jp/~shokai/archives/2005/10/manageddirectxj.html

そのまま。でもまだちゃんと試してません。

なんか、昔に比べて開発環境も情報も多くてありがたいですな。
posted by ラボ長 at 08:01| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

life(仮)開発日誌 事始め

こんにちは。ペンギンラボのラボ長です。
このブログはペンギンラボ初のゲーム開発プロジェクト「life(仮)」の開発日誌です。1月初旬から開発を始めて、もう頭がパンクしそうなので、作業記録&備忘録として日誌を書く事にしました。

とりあえず、これまでの経緯。
(長いです。要はC# + Managed DirectXで開発することに落ち着いた、という話)



1月初旬、兄より「ゲーム開発するのにいいプログラミング言語は何か」と聞かれる。とりあえず使い慣れたVB.NETで、ちょっとしたデモを作ってみる。が、兄の構想は大きく、いっちょ本格的に作ってみるか!という事になる。



始めに作ったデモではGDI+を使って描画していたので、すぐに描画速度の限界が来た。YaneSDKの存在を知っていたので調べてみると、なかなか良さそうなので使ってみる事に。YaneSDK.NET自体C#で書かれているので、思い切ってC#に乗り換える。C#はおろかCもC++もほとんど触った事無かったが、VB.NETと殆ど変わらなかったので、ほとんど問題なし。



兄:ドット絵、企画、作曲
私:プログラミング、企画協力、作曲
という感じで作業がすすむ。



せっかく作曲したので、BGMとして流してみるも、ループがひどい。
ループで戻る箇所を指定できないのはもちろん、ループで戻る際のタイムラグが無視できない。むむむ。



YaneSDKのTexturesの扱いがどうも好きになれなかったこともあり、別のSDKがないか探す。Seleneというのが良さそうだったが、なんかめんどくさそうで挫折。結局、ソフトテルミンのコードを流用して、DirectSoundで音楽を鳴らしてみる。



DirectSoundでの音楽再生は充分満足できたので、これでOK。しかし、新たな問題が。「life」はスーパーファミコンみたいなグラフィックを意識しているので画面が小さい(256*224)。そのため、プレイ時にはタテヨコ2倍くらいで表示したいのだが、やってみるとどうもぼやっとしている(ニアレストネイバーで補間される)。ドット絵の魅力を活かすためにもっと単純に拡大してほしいのに・・・。



調べてみるとGlTexture.GlobalOption.Smooth = false;で単純に拡大(バイリニア補間)できるようになるみたい。でも、ならない。と、思ったら別のPCならできた。どうやらビデオカードのOpenGLへの対応具合によるらしい。むむむ。



どうもうまく拡大できないのが気に入らないので、DirectXでやってみようと思い立つ。DirectX9からはManaged DirectXつうのがあって、VB.NETやC#から簡単に使えるらしいのでやってみる。おお!たしかに簡単!テクスチャの補間方法も以下の文でバイリニア補間にできたので、描画まわりもDirectXに移行。
//deviceはDirect3Dデバイス
device.SamplerState[0].MagFilter = TextureFilter.Point;
device.SamplerState[0].MinFilter = TextureFilter.Point;



現在、DirectXを使ったコードに書き直し中&コード整理中。




細かい部分・再利用できそうな部分に関してはまた別の記事で。

posted by ラボ長 at 07:44| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は90日以上新しい記事の投稿がないブログに表示されております。