<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GEOQUAKE Backstage &#187; ゲーム制作</title>
	<atom:link href="http://geoquake.jp/blog/tag/%e3%82%b2%e3%83%bc%e3%83%a0%e5%88%b6%e4%bd%9c/feed/" rel="self" type="application/rss+xml" />
	<link>http://geoquake.jp/blog</link>
	<description>ゲームとか鋭意制作中のブログ</description>
	<lastBuildDate>Wed, 09 Nov 2011 21:37:50 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Unityで１週間でミニゲームを作ってみた</title>
		<link>http://geoquake.jp/blog/2011/07/19/avoider/</link>
		<comments>http://geoquake.jp/blog/2011/07/19/avoider/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 15:00:03 +0000</pubDate>
		<dc:creator>k0rin</dc:creator>
				<category><![CDATA[雑記]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[ゲーム制作]]></category>

		<guid isPermaLink="false">http://geoquake.jp/blog/?p=1786</guid>
		<description><![CDATA[最近なにかと話題のゲームエンジンUnity。ずっと前から気になっていてちょくちょくいじってはいたんですが、実際にゲームを作ってみたことはありませんでした。そんなところにIGDA日本のUnityのセミナーがありまして、面白 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://geoquake.jp/webgame/Avoider/"><img src="http://geoquake.jp/blog/wp-content/uploads/2011/07/screenshot600px.png" alt="" title="screenshot600px" width="600" height="338" class="alignnone size-full wp-image-1787" /></a></p>
<p>最近なにかと話題のゲームエンジン<a href="http://unity3d.com/">Unity</a>。ずっと前から気になっていてちょくちょくいじってはいたんですが、実際にゲームを作ってみたことはありませんでした。そんなところに<a href="http://www.igda.jp/modules/bulletin/index.php?page=article&#038;storyid=501">IGDA日本のUnityのセミナー</a>がありまして、面白そうな内容でぜひ行こうと思ったんですが、Unityをろくに触らないまま遠路出かけるのはもったいないということで、急遽ゲームを１本でっちあげてみました。</p>
<p>ゲームはこちらです。要求スペックはそこそこ高めです。</p>
<ul>
<li><a href="http://geoquake.jp/webgame/Avoider/">Avoider</a>（要Unity Web Player）</li>
</ul>
<p>ちなみにセミナーの内容については「強火で進め」さんのブログにまとめられています。</p>
<ul>
<li><a href="http://d.hatena.ne.jp/nakamura001/20110716/1310821202">IGDA日本ゲーム開発セミナー「Unityの導入と実践」に参加して来ました</a></li>
</ul>
<p>以下、メイキング的なメモ書きです。</p>
<p><img src="http://geoquake.jp/blog/wp-content/uploads/2011/07/editor600px.png" alt="" title="editor600px" width="600" height="349" class="alignnone size-full wp-image-1791" /></p>
<p>今回、時間がなかったこともあって、「リソースは自作しない」というのを絶対方針にしました。UnityにはAsset Storeという公式の素材マーケットがあるので、主にそこからフリーのものをいろいろ見つくろってきています。背景やトゲ付き鉄球など、全部既製の素材です。</p>
<p>また、プレイヤーキャラクターは<a href="http://www.mixamo.com/">Mixamo</a>を利用しました。有料ですが、3Dの人体モデルを作成したり、自作のモデルをアップロードしてモーションをつけたりできるサービスです。今回は、Mixamo本家で3Dモデルを作成して$10で購入し、Unityのプラグイン（<a href="http://www.mixamo.com/c/mixamo-unity-asset-store">Mixamo Animation Store</a>）から歩きモーションと立ちモーションをそれぞれ$10で購入しました。しめて$30です。モデリングもモーション付けも自分でやるとものすごく大変な作業ですから、とりあえずこうして解決してしまえるのはとてもありがたいです。</p>
<p><img src="http://geoquake.jp/blog/wp-content/uploads/2011/07/mixamo480px.png" alt="" title="mixamo480px" width="480" height="403" class="alignnone size-full wp-image-1869" /></p>
<p>ゲームデザインについてですが、作る直前にUnity上でラグドールの実験をしてまして、ラグドールが吹っ飛ぶのは面白いよねということで（ゲームのバグ動画などでよくありますよね）いろいろ物を投げ込んでぶつけて吹っ飛ばしてやろうと。物理エンジンも活用できるし、見栄えがするのでいいかなと思いました。</p>
<p>吹き飛ぶときの爆発は<a href="http://u3d.as/content/unity-technologies/detonator-explosion-framework/1qK">Detonator Explosion Framework</a>を使用しています。Prefabをスクリプト１行で生成するだけで派手な爆発をしてくれるアセットです。ゲームの内容的にはなぜ爆発するんだって感じですが（笑）、一度使ってみたかったので。まあ、特撮などでも意味もなく爆発しますし。このキャラがそういう体質なんでしょう、きっと。</p>
<p><iframe width="599" height="371" src="http://www.youtube.com/embed/wh-vctBPRxc" frameborder="0" allowfullscreen></iframe></p>
<p>避けゲーということで安直にAvoiderとタイトル決定。たぶん主人公の名前か何かでしょう。タイトル画面は、Adobe Fireworksで適当にプリセットのスタイルを適用して字詰めしてロゴを作成、プレイヤーキャラを配置してライトを当ててできあがり。ちょっとでも動きがないと寂しいので、トゥイーンライブラリの<a href="http://itween.pixelplacement.com/index.php">iTween</a>を使って、ライトのフェードインとロゴの明滅をさせています。ちなみにこのトゥイーンライブラリというのはFlashの世界で生まれて発展してきたもので、簡単に言うと「動き」をライブラリ化したものです。コード１行でオブジェクトをアニメーションさせたりできます。UnityにもFlashのタイムラインのようなアニメーション機能があるのですが、Flash同様、トゥイーンライブラリのほうが楽に動きをつけられる場面が往々にしてあります。iTweenのサイトの<a href="http://itween.pixelplacement.com/examples.php">Examples</a>に印象的なデモがたくさんあります。</p>
<p><img src="http://geoquake.jp/blog/wp-content/uploads/2011/07/title.png" alt="" title="title" width="600" height="338" class="alignnone size-full wp-image-1911" /></p>
<p>ただ避けて生き延びるだけではゲームとして単純すぎると思ったので、宝石を取るとスコアが加算されるようにしました。ゲームはプレイヤーに２つ以上のことを同時にさせるといいそうです（参考：<a href="http://www.nintendo.co.jp/wii/interview/smnj/vol1/">社長が訊く『New スーパーマリオブラザーズ Wii』</a>）。というか、Asset Storeに<a href="http://u3d.as/content/unity-technologies/gem-shader/1qM">Gem Shader</a>というシェーダがあって、綺麗な宝石モデルも入っていたので使ってみたというのが本当のところで、順序が逆かもしれません。ちなみにシェーダの中身をまったく見てません。ブラックボックスのまま使って（使えて）しまっています。</p>
<p>宝石を取ったときにエフェクトがないと取った感が出ないのでどうしようかと思ったんですが、標準アセットのParticlesパッケージの中にあったFireworksをもうこれでいいやとそのまま使用。あとは、せっかくなのでコンボボーナスをつけたり、宝石を２種類にしてスコアを変えたりしてよりゲームっぽくしてみました。なお、時間が経つと宝石が小さくなって消えるのもiTweenを使ってます。</p>
<p>難易度調整、実はこれが一番時間がかかったかもしれないんですが、NORMALモードとHARDモードを用意するという逃げに走りました。あとカメラアングルは最初もっと低かったんですが、フィールドの上のほうがオブジェクトに隠れて見づらくなり、下のほうばかりをうろうろするプレイになってしまって、あまりに不自然だったので、ほとんどトップビューにしてしまいました。せっかくのキャラクターがよく見えなくなってしまうので躊躇したんですが仕方なしです。タイトル画面のアップでカバーする感じですかね（笑）。それと、プレイヤーキャラの当たり判定は、胴体より下だけにしてあります。</p>
<p>BGMは、一応DTMerなので本来なら自作するべきところなんですが、CubaseのLoopMashのプリセットをちょっといじって書き出してシーンに配置して終わり。宝石を取った効果音もCubase付属音源から適当な音色を探してきて使用。オブジェクトが跳ね返る音は効果音素材CDからです。</p>
<p>と、こんな感じで作ったんですが、ゲーム内容的にも制作工程的にも相当横着してますね。とりあえず見ていただいた方々に面白いと言っていただけたので（ありがとうございます！）いいのかな？と思います。既存のアセットを使いまくってるのはバレバレでしたけど（笑）。</p>
<p style="text-align:center;">*</p>
<p>さて、こうして短期間で１本でっちあげてみて、Unityのことが以前よりもずっとよくわかったというか、正直、過小評価してたような気がしてきました。すごいゲームエンジンだとは認識していたんですが、ゲームエンジン本体よりも、周辺の文化圏こそが真価だったんじゃないかと。今回、他人のアセットの力を素直に借りようと最初に決断していたとはいえ、素材を探してぽんぽん放りこんで、ちょこちょことスクリプトを書き足すだけで、あっという間にそれっぽいものが組み上がっていくのは、いいんだろうか本当にって感じでした。ほとんどチートのような気もするんですが、実はこれが本来の使い方（のひとつ）なのかもしれません。セミナーの講演の中でもレゴブロック的という話があったように記憶しています。</p>
<p>実のところ、現状のAsset Storeはサーバがかなり重かったりして、お世辞にも使いやすいとは言えないのですが（公式フォーラムの<a href="http://forum.unity3d.com/threads/91644-Asset-store-grievances">このスレッド</a>で、Unityの中の人いわくなんとかするそうです）、そのあたりが解決されてアセットの数が増えれば、さらにとんでもないことになりそうな予感がします（なお、ゲームに使用可能な3D素材については他にも<a href="http://www.turbosquid.com/">TurboSquid</a>などがあります）。</p>
<p>あと、スクリプトについても、まだ慣れていなくてAPIがあまり身についていないのですが、何か引っかかったら<a href="http://answers.unity3d.com/index.html">Unity Answers</a>や<a href="http://forum.unity3d.com/">フォーラム</a>で検索すればすぐ答えが出てきましたし、そもそも今回自分で書いたJavaScriptコードが全部で600行ほどしかありません。流暢に書けなくてもどうにでもなる量です。</p>
<p>このスピードとこのコード量で、１人で、仮にも物理エンジンが走り、人体モデルが動くような3Dゲームをでっちあげられるというのは、今までは考えられなかったことなんじゃないでしょうか。3Dゲームを作れるのはナムコとセガくらいみたいな時代もあったと思うんですが、すごいカジュアル化です。Unityが言うには「民主化」とのことですが、ある意味、言い訳ができなくなりつつあるようで、ちょっと怖いなと……まあ、一方で、リソース作りが大変なのは基本的に変わらないとも思うんですけどね。</p>
<p>こうした至れり尽くせりのゲームエンジンに乗っかれるかというのは、特にプログラミングをする人にとって心情的に難しいところもあると思うんですが、自分の場合はどうもメリットのほうが大きそうなので、本気で乗っかってみようかなと考えはじめてます。</p>
<p>とりあえず、もう１本くらい実験作を作ってみたいですね。もうちょっとシーンやスクリプト的に凝った何か。</p>
]]></content:encoded>
			<wfw:commentRss>http://geoquake.jp/blog/2011/07/19/avoider/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Unityでパーティクルの実験</title>
		<link>http://geoquake.jp/blog/2010/01/05/unityparticletest/</link>
		<comments>http://geoquake.jp/blog/2010/01/05/unityparticletest/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 12:23:11 +0000</pubDate>
		<dc:creator>k0rin</dc:creator>
				<category><![CDATA[雑記]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[ゲーム制作]]></category>

		<guid isPermaLink="false">http://geoquake.jp/blog/?p=1083</guid>
		<description><![CDATA[最近Unityをいじくったりしてます。 Unityの簡単な説明をすると、米Unity Technologies社製のゲームエンジンで、PCやブラウザ、iPhone等で動く3Dアプリケーションを作ることができます。GUI環 [...]]]></description>
			<content:encoded><![CDATA[<p>最近<a href="http://unity3d.com/">Unity</a>をいじくったりしてます。</p>
<p>Unityの簡単な説明をすると、米Unity Technologies社製の<a href="http://ja.wikipedia.org/wiki/%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3">ゲームエンジン</a>で、PCやブラウザ、iPhone等で動く3Dアプリケーションを作ることができます。GUI環境に3Dモデル等の素材を放り込んで、JavaScriptやC#でスクリプトを書くだけで（割と）簡単に動かせます。Flashを触っている方は、Flash IDEの3D版だと考えればだいたい感覚的にあってるかも。ブラウザ上でGPUアクセラレーションつきの本格的な3Dが動くこと、iPhoneの3Dゲームが比較的手軽に作れること、開発環境の制限バージョンが無料になったことなどで人気が出ているようです（残念ながらまだ日本語化されていないのですが）。ブラウザのプラグインをインストールして<a href="http://unity3d.com/gallery/live-demos/index.html#tropical-paradise">公式のデモ</a>を見ると、かなりのものが動くのが分かると思います。</p>
<p>というところで、唐突ですが、<a href="http://d.hatena.ne.jp/ABA/20091220#p1">ABAさんのパーティクルテスト</a>につられて、似たような、オブジェクトをたくさん出す実験をしてみました。</p>
<p><a href="http://geoquake.jp/experimental/UnityParticleTest/"><img src="http://geoquake.jp/blog/wp-content/uploads/2010/01/UnityParticle500.png" alt="UnityParticle500" title="UnityParticle500" width="500" height="375" class="alignnone size-full wp-image-1084" /></a></p>
<ul>
<li><a href="http://geoquake.jp/experimental/UnityParticleTest/">Particle Test</a></li>
</ul>
<p>プロジェクトファイルは<a href="http://geoquake.jp/experimental/UnityParticleTest/ParticleTest.zip">こちら</a>。</p>
</p>
<p>おそらく個々のGameObjectがパーティクルを描画するのはGPU的に嫌だろうということで、GameObjectは座標を保持するだけにして、下のようなスクリプトでビルボード群のメッシュを毎フレーム作成してまとめて描画してみました。とりあえずCore 2 Duo/3.16GHz、RADEON 4550で10000個は出ているようです（上限を上げればもっと出るかもしれません）。UnityのJavaScriptは<a href="http://forum.unity3d.com/viewtopic.php?t=1140">.NET（Mono）ベースで、C++の半分の速度は出るよ</a>とのことなんですが、確かに結構な速さはあるようです。</p>
<pre class="brush: jscript; title: ; notranslate">
function LateUpdate()
{
	var particles = GameObject.FindGameObjectsWithTag(&quot;Particle&quot;);
	...

	var i = 0;
	var size = 0.5;
	for (var particle in particles) {
		var position = particle.transform.position;
		vertices[i++] = Vector3(position.x - size, position.y - size, position.z);
		vertices[i++] = Vector3(position.x - size, position.y + size, position.z);
		vertices[i++] = Vector3(position.x + size, position.y + size, position.z);
		vertices[i++] = Vector3(position.x + size, position.y - size, position.z);
	}
	...

	var mesh = GetComponent(MeshFilter).mesh;
	mesh.Clear();
	mesh.vertices = vertices;
	mesh.colors = colors;
	mesh.uv = uv;
	mesh.triangles = triangles;
}
</pre>
<p>まあ、パーティクルを多数出すだけならUnity組み込みのパーティクルシステムを使えばいいんですが、シューティングの敵弾などで自前でやる必要が出てくることもあるかなと。</p>
<p>ちなみにUnityのいいところは、開発環境がそのまま実行・デバッグ環境になることですね。下の画面のように、実行中に視点を動かして、描画が正しく行われているか確認したりというのが、何の苦労もなくできます。</p>
<p><a href="http://geoquake.jp/experimental/UnityParticleTest/UnityIDE.png"><img src="http://geoquake.jp/blog/wp-content/uploads/2010/01/UnityIDE500.png" alt="UnityIDE500" title="UnityIDE500" width="500" height="304" class="alignnone size-full wp-image-1085" /></a></p>
<p>Unityというプラットフォームがどんな感じかについてはまた後ほど（たぶん）。</p>
]]></content:encoded>
			<wfw:commentRss>http://geoquake.jp/blog/2010/01/05/unityparticletest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warp Smash</title>
		<link>http://geoquake.jp/blog/2009/05/11/warpsmash/</link>
		<comments>http://geoquake.jp/blog/2009/05/11/warpsmash/#comments</comments>
		<pubDate>Sun, 10 May 2009 16:48:48 +0000</pubDate>
		<dc:creator>k0rin</dc:creator>
				<category><![CDATA[雑記]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[ゲーム制作]]></category>

		<guid isPermaLink="false">http://geoquake.jp/blog/?p=355</guid>
		<description><![CDATA[Warp Smash (Pong variation) &#8211; wonderfl build flash online どこかの絵を見て連想したので作ってみました。いわゆるポンのバリエーションで、マウスクリックで [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align:center;width:465px;"><iframe title="Warp Smash (Pong variation) - wonderfl build flash online" src="http://wonderfl.kayac.com/blogparts/ed0c2c3b52880e0d9cefdafd7a89722a4d2e5b4f" width="465" height="490" style="border:1px black solid;" frameborder="0"></iframe><a href="http://wonderfl.kayac.com/code/ed0c2c3b52880e0d9cefdafd7a89722a4d2e5b4f" title="Warp Smash (Pong variation) - wonderfl build flash online">Warp Smash (Pong variation) &#8211; wonderfl build flash online</a></div>
<p><br/></p>
<p>どこかの絵を見て連想したので作ってみました。いわゆる<a href="http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%B3_%28%E3%82%B2%E3%83%BC%E3%83%A0%29">ポン</a>のバリエーションで、マウスクリックでパドルが反対側にワープします。せっかくなので、BlurFilterを使ってパドルにモーションブラーをかけてみたりしました。</p>
<p>パドルをボールに合わせるのに加えて、パドルを早く反対側に移動させないとボールが返しにくい、でも早くクリックしすぎても駄目というタイミングゲームにもなっているのがミソかなと勝手に思ってます。だいたいゲームというのは、アクションにせよ何にせよ、プレイヤーに２つ以上のことを同時にさせると面白くなるんじゃないかと。１つだとどうすればいいかすぐ分かってしまうので。</p>
<p>ただ、マウスカーソルがFlashからはみ出さないように頑張るという不自然な３つ目が出てきてしまって微妙。マウスカーソル自体邪魔だし、ブラウザゲームでは、マウスが使えるといってもネイティブアプリケーションと同じようには扱えないってことでしょうか。</p>
<p>今日活躍のプチ関数。</p>
<pre class="brush: jscript; title: ; notranslate">
private function clamp(n:Number, min:Number, max:Number):Number {
	if (n &lt; min) { n = min; }
	if (n &gt; max) { n = max; }
	return n;
}
</pre>
<p>スコアのカンストつき加算にまで乱用してたり。</p>
<pre class="brush: jscript; title: ; notranslate">
　
score = clamp(score + 1, 0, 9999);
　
</pre>
<p>作る前は<a href="http://d.hatena.ne.jp/ABA/20090130">100行ゲーム</a>を意識してたんですが、こういうのが好きな体質なので無理っぽいです……。</p>
]]></content:encoded>
			<wfw:commentRss>http://geoquake.jp/blog/2009/05/11/warpsmash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>同人・インディーゲーム開発の現状と課題</title>
		<link>http://geoquake.jp/blog/2009/05/03/indiegame/</link>
		<comments>http://geoquake.jp/blog/2009/05/03/indiegame/#comments</comments>
		<pubDate>Sat, 02 May 2009 21:08:37 +0000</pubDate>
		<dc:creator>k0rin</dc:creator>
				<category><![CDATA[雑記]]></category>
		<category><![CDATA[ゲーム制作]]></category>

		<guid isPermaLink="false">http://geoquake.jp/blog/?p=319</guid>
		<description><![CDATA[IGDA日本　同人・インディーゲーム部会（SIG-Indie）第1回研究会「同人・インディーゲーム開発の現状と課題」 面白そうなので行ってきました。日帰りだし、まだその域に達していないので研究会だけ。たまにこういうのに行 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.igda.jp/modules/news/article.php?storyid=1633">IGDA日本　同人・インディーゲーム部会（SIG-Indie）第1回研究会「同人・インディーゲーム開発の現状と課題」</a></p>
<p>面白そうなので行ってきました。日帰りだし、まだその域に達していないので研究会だけ。たまにこういうのに行ってみるとやる気が出てくるなあ。パワーエサを食べたパックマンみたいに一定時間（駄目だろうそれ）。</p>
<p>パネルディスカッションの、フリーソフトを同人ソフトとして作り直すのはどうかという話。付加価値は絶対に必要として（iPhoneみたいに別プラットフォームならあまり気にならない？）、フリーでうまくいっていたものをリッチに作り直しても、文字通り蛇足になりかねないのが難しいところだと思います。プロトタイピングの話との合わせ技で、フリー版をプロトタイプを兼ねて公開するというやり方ならありかも。というか割と普通ですかね。</p>
<p>プロトタイピング自体は、ゲームに限らず、何かを作るのに普遍的に有効なテクニックだと思います。たとえば絵なら、ラフ絵をたくさん描いて、良さそうなものだけを選んでペン入れ・彩色みたいな。早い段階で悪いものを取り除いたり、きちんと修正すれば、結果が底上げされて実力を水増し（笑）できると。コーエーのシミュレーションゲームの君主パラメータ決定みたいなものだと思ってるんですが。</p>
<p>音楽も同様。というか自分そんな感じで作曲してます。HDDに思いつきで入力したフレーズがたくさんあって、ファイル名に使えそうなら&#8221;#&#8221;、使えなさそうなら&#8221;-&#8221;とか印をつけて（記号に意味はない。いつのまにかそうなってた）。困ったら適当にいくつか引っ張り出して無理やりくっつけるとか。安直です。まずいです。</p>
<p>ちなみに、ABAさんの講演で<a href="http://wonderfl.kayac.com/">wonderfl</a>が紹介されてました。もっともっと人気になってほしいウェブサービスです。</p>
<p>あと帰りにちょっと寄った<a href="http://www.taito.co.jp/gc/details/tokyo/tokyo/sgc00366/index.html">秋葉原Hey</a>。ミスタードリラーグレートが２台並んでるとか、しかも同期連射つきとかうらやましい。だいたい、連射装置で有利になるパズルゲームってどうなんだろう。先行入力でもつければなんとかならないかなあ。</p>
]]></content:encoded>
			<wfw:commentRss>http://geoquake.jp/blog/2009/05/03/indiegame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ゼルダの伝説の画面切り替え</title>
		<link>http://geoquake.jp/blog/2008/11/26/zelda/</link>
		<comments>http://geoquake.jp/blog/2008/11/26/zelda/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 14:59:41 +0000</pubDate>
		<dc:creator>k0rin</dc:creator>
				<category><![CDATA[雑記]]></category>
		<category><![CDATA[ゲーム制作]]></category>

		<guid isPermaLink="false">http://geoquake.jp/blog/?p=46</guid>
		<description><![CDATA[時のオカリナにおける上から目線 &#8211; 枯れた知識の水平思考 を読んで思い出したこと。 初代ゼルダの伝説は画面の端に移動するとマップが切り替わるようになってますけど、地上と地下で画面切り替え時のスクロール速度が違 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://d.hatena.ne.jp/hamatsu/20081018/1224345320">時のオカリナにおける上から目線 &#8211; 枯れた知識の水平思考</a></p>
<p>を読んで思い出したこと。</p>
<p>初代ゼルダの伝説は画面の端に移動するとマップが切り替わるようになってますけど、地上と地下で画面切り替え時のスクロール速度が違うんですよね。これも地下の閉塞感を効果的に演出していて、ボディブローの類だと思います。この条件式たったひとつでできる処理がどういう経緯で入ったんだろうと考えると興味深いです。</p>
]]></content:encoded>
			<wfw:commentRss>http://geoquake.jp/blog/2008/11/26/zelda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ゲームのフレームレート</title>
		<link>http://geoquake.jp/blog/2008/09/30/gameframerate/</link>
		<comments>http://geoquake.jp/blog/2008/09/30/gameframerate/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 15:00:37 +0000</pubDate>
		<dc:creator>k0rin</dc:creator>
				<category><![CDATA[雑記]]></category>
		<category><![CDATA[ゲーム制作]]></category>

		<guid isPermaLink="false">http://geoquake.jp/blog/?p=38</guid>
		<description><![CDATA[ゲームでは60ｆｒより30ｆｒの方がいいこともある、というお話 以前は60fps原理主義者だったけど、DSでいろいろ遊んでいて考えが変わったなあ。遅延のある液晶画面で同期スムーズスクロールは画面がぼけっぱなしで目がやられ [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://plaza.rakuten.co.jp/fantag/diary/200809250000/">ゲームでは60ｆｒより30ｆｒの方がいいこともある、というお話</a></li>
</ul>
<p>以前は60fps原理主義者だったけど、DSでいろいろ遊んでいて考えが変わったなあ。遅延のある液晶画面で同期スムーズスクロールは画面がぼけっぱなしで目がやられることが。こういう場合、あえて30fpsにして液晶が完全に描き換わるのを待ったほうがいいのかな、とか。</p>
<p>あと、今のGPUってフルHDで60fpsキープして好き放題描画するにはまだ全然性能足りてないでしょうし。たとえGPUの性能が10倍になっても、なんだか今の10倍くらいの仕事は余裕でさせられそうじゃないですか。真・三國無双で画面内が本当に群衆で埋めつくされるのはいつになるんだろう。</p>
<p>RPGなどで映画的な演出をするには低フレームレートのほうがいい場合があるんでしょうね。映画は24fpsなので、ゲームでも24fpsにするとそのカクカクした動きが映画のように格調高く見えることがあるという。ただ、<a href="http://www.varietyjapan.com/interview/2k1u7d0000013gqx.html">映画もフレームレートを上げよう</a>という話があるみたいなので、今後はそうした効果は保証されなくなったりするのかも。</p>
<p>ちなみに、2Dシューティングだと60fpsでもフレームあたり自機が４ドット（低解像度で）とか動くので、30fpsだと弾幕の間をすり抜けられなくなります。ケイブの弾幕シューティングでショットボタン押しっぱなしで移動速度が遅くなるようになっているのは、単にそういうゲームデザインというだけでなく、フレームあたりの移動量を落とさないと敵弾の隙間で止まれず弾避けが物理的に不可能になるという切実な面もあると思います。そのあたりを意識していなくて理不尽ゲー気味になっているシューティングをたまに見る気がする。つまり、自機の速度が速い（＝１フレームあたり移動量が大きい）のに隙間の狭い弾幕が飛んでくるという。</p>
<p>それとモーションブラーのこともありますね。ゲームの映像の多くは、フレームごとに動きの情報が含まれていない、リアルのカメラでは撮影できないシャッター速度１／∞という特殊な映像。モーションブラー＝時間軸のアンチエイリアスってどこで耳にしたんだっけ。全画面で時間軸アンチエイリアスをかけるとそれだけで負荷数倍になるわけで、他の要因とあわせて数倍、数倍と掛け算していくと、GPUの性能はまだ本当にまったく足りないんだと思う。その筋では。3Dゲーム自体がムーアの法則に喧嘩売ってるというか。</p>
<p>僕なんかのやることにはもう完全にオーバースペックですけど。<a href="http://geoquake.jp/blog/2008/09/25/ssd/">PCから駆動系はなくなってしまえ</a>と思っているので、当然ビデオカードもファンレスだし（笑）。</p>
]]></content:encoded>
			<wfw:commentRss>http://geoquake.jp/blog/2008/09/30/gameframerate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>特性エディタ（仮称）が欲しい</title>
		<link>http://geoquake.jp/blog/2008/06/17/characteristic/</link>
		<comments>http://geoquake.jp/blog/2008/06/17/characteristic/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 22:02:18 +0000</pubDate>
		<dc:creator>k0rin</dc:creator>
				<category><![CDATA[雑記]]></category>
		<category><![CDATA[2D自動車シミュレーター]]></category>
		<category><![CDATA[ゲーム制作]]></category>

		<guid isPermaLink="false">http://geoquake.jp/blog/?p=27</guid>
		<description><![CDATA[自動車シミュレータなどと標榜してはいるけれど、挙動については、最低限の力学的な加減速に、ころがり抵抗、空気抵抗、アッカーマンステアリングの幾何的な旋回、それに擬似的にアンダーステアにする程度のことしかやっていなかったりす [...]]]></description>
			<content:encoded><![CDATA[<p>自動車シミュレータなどと標榜してはいるけれど、挙動については、最低限の力学的な加減速に、ころがり抵抗、空気抵抗、アッカーマンステアリングの幾何的な旋回、それに擬似的にアンダーステアにする程度のことしかやっていなかったりする。もちろんグリップを失うこともない。</p>
<p>ActionScript 2ではこれを秒100回実行するだけでパフォーマンス的にもう限界だったんですが、ActionScript 3では余裕があるのでもう少しきちんとやりたいなと（2Dで、しかもキーボード操作でどこまでやる意味があるのかわからないので、あくまで未定）。</p>
<p>で、いろいろ本を眺めて付け焼刃をつけようとしてるわけですが、本格的にやるなら、走行性能曲線やその他のいろんなグラフを作成してコードから利用するものを作らないといけなさそう。これは挙動のシミュレートだけじゃなく、<a href="http://geoquake.jp/blog/2008/06/12/response/">先のエントリ</a>で書いた、ハンドルの応答の調整のようなことにも役に立つんじゃないかと。</p>
<p>さらに、そうした特性エディタ（仮称。もっといい呼び名ないでしょうか）は、ゲーム一般のオブジェクトの制御にも便利なんじゃないだろうか。特に、ゲーム実行中にon the flyでオブジェクトやカメラなどの特性をグラフでコントロールできれば、かなり制作効率が上がって、なおかつゲーム自体のバランスもきちんと調整できるような気がする。いちいち勘で式を何度も書き換えてコンパイルせずに済むし、assert的な異常値の入力の検知も自動的についてくる。どう使うか、どれだけうまく行くかはともかく、そうした仕組みを検討してみる価値はあるように思った。</p>
<p>エディタをどうしよう。何か出来合いのソフトで使えそうなものがあればそれが一番なんですが。単に曲線を描いてデータ化できるだけでなく、数式なども通るやつ。</p>
]]></content:encoded>
			<wfw:commentRss>http://geoquake.jp/blog/2008/06/17/characteristic/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>今作っているもの</title>
		<link>http://geoquake.jp/blog/2008/02/29/nowmaking/</link>
		<comments>http://geoquake.jp/blog/2008/02/29/nowmaking/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 22:00:10 +0000</pubDate>
		<dc:creator>k0rin</dc:creator>
				<category><![CDATA[雑記]]></category>
		<category><![CDATA[XNA]]></category>
		<category><![CDATA[ゲーム制作]]></category>
		<category><![CDATA[デルタ・ストライダー2]]></category>

		<guid isPermaLink="false">http://geoquake.jp/blog/2008/02/29/nowmaking/</guid>
		<description><![CDATA[ゲームを鋭意制作中ということで、そのあたりについて。 現在メインで作っているのは、Windows用の全方向スクロールシューティングです。タイトルは「デルタ・ストライダー２（仮称）」。開発度は30％くらいで、まだ画面を見せ [...]]]></description>
			<content:encoded><![CDATA[<p>ゲームを鋭意制作中ということで、そのあたりについて。</p>
<p style="text-align: center"><img src="http://geoquake.jp/blog/wp-content/uploads/2008/02/makingdeltastrider2.jpg" alt="makingdeltastrider2.jpg" /></p>
<p>現在メインで作っているのは、Windows用の全方向スクロールシューティングです。タイトルは「デルタ・ストライダー２（仮称）」。開発度は30％くらいで、まだ画面を見せられる段階にはなってません。</p>
<p>とりあえず前作のデモ動画です↓</p>
<div id="deltastrider"></div>
<p><script type="text/javascript">
	var flashvars = {
		width : "320", 
		height : "260", 
		file : "/assets/movie/DeltaStriderDemo.flv", 
		image : "/assets/movie/DeltaStriderDemo.jpg"
	};
	var params = {
		allowFullScreen : "true"
	}
	swfobject.embedSWF("/assets/flash/player.swf", "deltastrider", "320", "260", "6", "", flashvars, params);
</script></p>
<p>操作はアナログスティックとショットボタン１個のみ。非弾幕系で、ちゃんと意識して狙って撃てて、避けられて、ごく自然にかっこいい動きができるのが売りです。これを操作そのままに大幅発展させたものになるんですが……順調に遅延してます（シェ○ムー並み）。</p>
<p>それどころか、<a href="http://www.xbox.com/ja-JP/press/release/20080221-1.htm">Xbox 360で自作ゲームの配信が可能になる</a>そうで、今C++で作ってるんですが、いっそのことXNAでプログラム書き直したほうがいいんじゃないかとあわてて調べてたり。まだどうするかわかりませんが。</p>
<p>というか、ずっとダラダラやってる間にあちこち全方向シューだらけになってしまったような。皆考えることは同じってことでしょうか。できれば今年中に完成が見えるあたりまで持っていきたいなと。こればかり作っているともたないので（特に敵キャラのモデリング。いわゆるアブストラクトシューティングのように割り切ったほうが賢いのかもしれないけれど……）息抜きでFlashで遊んだりすると思いますが。</p>
]]></content:encoded>
			<wfw:commentRss>http://geoquake.jp/blog/2008/02/29/nowmaking/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

