+にゃんにゃんにゃんこの演習+ ゲーム制作

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ゲームにおける、魅力的なキャラクター表現とは?

最近スターオーシャン4をやってました。XBOX360版です。

いやーやっぱり面白い!
ゲームとしてのクオリティはやっぱりしっかりしてるし、
一緒に旅してるうちにキャラクターに愛着が湧いてくるし、
メリクルちゃんエロいし、ちっちゃいし、可愛いし!

まぁキャラデザが可愛らしいのもあるんですが、スターオーシャンシリーズはキャラクターがどれも個性的で魅力的。
二次創作も盛んだったし、そういう人を引き込む作品ってのは必ず何か法則があるはず!


というわけで、自分が知ってる中で「よく二次創作される作品の特徴」をピックアップしてみようかと。
エロパロは根本的に違うと思うので除外。
私的考察なので正当性は保証しません。


以下メモ

続きを読む

スポンサーサイト

テーマ : ゲーム製作 関連
ジャンル : ゲーム

DXライブラリ初心者へお願いしたいこと

私はちょくちょくフリゲなんかをプレイしたりするんですが、その時DXライブラリ製のゲームにありがちなイライラが「フルスクリーン起動に対応していない!」ということだったりします。

ゲームにおいて「フルスクリーンにできない」ということは言語道断だと思っています。
例えるならラーメンと一緒にスプーンを出されたのと同じような感じです。
味わう以前の問題だよ!!と


だって、プレイする時ゲーム以外の画面の情報がチラチラ目に入ってくるのって非常にウザったいじゃないですか!
人はどうしても目に入ってくる情報を気にしてしまう生き物なので、作る側としてもプレイヤーが画面に目線を移した時、何がどう目に付くかということを念頭において画面をデザインするべきだと思っています。
ウィンドウモードだとそれだけで画面からの情報伝達力が弱くなっちゃうんです。

あと画面がちまくて見難い(これが一番大きい)


「でも、そんなこと言ったって、オプション組む技術もないし、ウィンドウ派の声は大きいから強制フルスクリーンにするのも気が引ける……」という初心者さんの為に、以下のコードを。




if(MessageBox(NULL,"フルスクリーンで起動しますか?","起動オプション",MB_YESNO)==IDYES){
ChangeWindowMode(0);
}else{
ChangeWindowMode(1);
}



これをDxLib_Init()を呼ぶ前の位置にコピペすればそれだけで起動時にフルスクリーンにするかどうかを選べるようになります。

当然640x480等のフルスクリーン可能な画面サイズに指定していないとフルスクリーンになりません。
そこだけ注意

起動時に毎回ダイアログが出るのがウザいかもしれないけど、ゲームプレイにストレス感じさせるよりはだいぶマシ。
フルスクリーン表示できないという理由だけでプレイするのをやめたゲームがいくらあったことか……




ちなみに、ちょっと弄ってテキストを書き換えることもできます。
起動するとこんな感じ。

StarKoishiAttackより

何言ってんのかわからないくらい捻るとプレイヤーはイラッとくるので、意味が伝わる範囲にしておきましょう。




MessageBox関数は、呼ばれたその場でダイアログを出し、入力があるまでプログラムを待機、ボタンが押されたら押されたボタンの番号を戻り値として返す……といった関数です。
Windows.hに含まれる関数ですが、DXライブラリがインクルードしてくれているのでDXライブラリ製のアプリなら特にヘッダをインクルードすることもなく使えるはずです。

詳しくは
http://msdn.microsoft.com/ja-jp/library/cc410914.aspx



プログラムに慣れてきたら環境設定などに挑戦して、ゲームを快適にプレイできるようにしてみましょう。
それまでの繋ぎに、是非。
……というかフルスクリーンできないと私が辛いのでお願いします。

テーマ : ゲーム製作 関連
ジャンル : ゲーム

環境に関わらずゲームを綺麗なアイコンに!(マルチアイコン)

最近、「どうやったらどのOSでもゲームのアイコンを綺麗に表示できるんだろー?」とか悩んでしまったので、
微妙に知名度が低いと思われる「マルチアイコン」について記しておきたいと思います。

32ドットのアイコンしか持ってないEXEファイルは、それ以上大きいサイズで表示する環境だと汚く表示されてしまいます。
それを、アプリケーションのアイコンを、「一覧」なら16ドット、「アイコン表示」なら32ドット、xp以降の「並べて表示」なら48ドット、vista以降の拡大表示ならそれ以上のサイズのアイコンで表示されるようにしよう、ということです。
(冗長でわかりにくいな


まぁ、こうやってゲーム制作関係の記事として描いておけば、マルチアイコンの存在を知らずに生きてきた、同じ悩み持った人が見つけて参考にしてくれるんじゃないかなー、と。

続きを読む

DXライブラリではどの画像形式を利用するべきか?(不完全版)

DXライブラリでゲームを作る際、画像形式を迷ってる人向けの記事……のはずでした。
なぜ不完全なのかは記事下部にて。






アバウトですが、PNG、DDS、TGA、BMPのファイルサイズと読み込み速度を比較してみました。

チョイスの基準としては、画像の劣化がなく、かつ透明度を扱える形式。
ARGBがないのは手元に画像をARGBで保存できるエディタがなかったからです。
PNGとTGAは圧縮形式、DDSとBMPは無圧縮形式。 BMPは8ビット形式のアルファ抜き用画像とのセット。
DXライブラリは圧縮DDSに対応してないのです(読み込むと画像が化けます


画像の内容は↓の画像を2048x2048に拡大したものです


そこそこ圧縮されてそこそこ内容の詰まった画像にしただけで、内容にあまり意味はないです


とりあえずの実測結果
VC++2008にて、2048x2048サイズの各画像を8枚読み込むのに掛かった時間を計測するプログラムを書き、
WindowsXP、Pentium4 2,8GHzの環境にて計測。

画像形式一枚あたりのファイルサイズ読み込み最速値読み込み最遅値
圧縮PNG4.14 MB6,172 ms6,548 ms
無圧縮DDS16.0 MB1,497 ms1,627 ms
圧縮TGA12.1 MB1,941 ms2,057 ms
BMP+α16.0 MB(12.0MB+4.0MB)1,743 ms1,863 ms


とりあえずわかることは、PNGは読み込みが遅いということです。
展開処理に大分処理時間を持っていかれてる様子。

そして一番読み込みが高速なのがDDS。


実は、この記事は本来「DXライブラリならPNG使わずにDDS使えよ!!」という内容になるはずだったのですが、この記事を書いている途中にDXライブラリ付属のアーカイバに「10MB以上のファイルは圧縮せずに格納する」という仕様があることが発覚。
アーカイバにて圧縮後のファイルサイズを併記し、どうせ圧縮されるんだからDDSにしようぜ!と主張しようと思ったのに、2048x2048の巨大なDDS画像じゃ16MBで圧縮されないのです。いやぁまいった。

一般的にゲーム制作で用いられる範囲のテクスチャサイズである1024x1024で計測し直そうとも思ったのですが、ファイルを用意するのが非常にめんどくさいので……


というわけでこの記事は不完全版。
適当なデータだけが残ったので、一応役に立つかなと書き残しておきます。
気が向いたら新しく計測して書き直すかも。直さないかも。

びゅるびゅるレーザー

びゅるびゅる

びゅるびゅると迸ってる感じのレーザー、なんかいいよね、ってことで作ってみた。

画像を引き伸ばしつつスライドさせてるだけですが、結構簡単にそれっぽくなりました。

GameMakerでのテスト描画ですが、DXライブラリでDrawRotaGraphF3という便利な関数が追加されたので、
そっちの方が簡単に再現できそう。


最近ブログが絶賛放置だったので、どうしようかなーと。
なんとなく役立ちそうなことをチラっと書いたらいいのかなとか思ったので、ちょっとだけ解説。


まず、以下のような画像を作ります(2倍に拡大表示してます)
適当にやればなんとかなると思います。歪ませた後横方向にランダムシフト掛けたり、ぼかし掛けたり等。
素

そして、それをphotoshopのグラデーションマップで着色。
着色

後は横方向に4倍に引き伸ばして加算合成するとあのように。

グラデーションマップは非常に強力な機能で、弾画像の色違い等の制作に非常に便利です。


もしかしたら、グラデーションマップ専用のツールとか作ったら需要あるかもしれない……
画像のRGBの平均値に従って色を当てはめていくだけだから、仕組みとしては簡単なはず。

テーマ : ゲーム製作 関連
ジャンル : ゲーム

+サークルのサイト+
森の中の猫の小屋 author:稲塚 春
+twitter+
+エントリサーチ+
+カテゴリ別エントリ+
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。