プチコンまとめWiki (初代/mkII)

Toukou/RAYCAST MAZE の変更点

パンくずリスト


#title(投稿プログラム : RAYCAST MAZE (3D迷路))
#contents
//------------------------------------------------------------------------------
2012年9月17日投稿
/ 投稿者 : Hepebell
/ &tag(投稿プログラム,ゲーム,QRコード,mkII専用);

//------------------------------------------------------------------------------
* 概要 [#Summary]
3D迷路です&br;
ルールが異なる2つのゲームモードを用意しました
-Game1:鍵を回収して脱出する、迷路風のゲームモード
-Game2:短い時間でゴールを目指す、レース風のゲームモード

3D描画にDOOMやPC88のSeeNaなどで有名になった、
レイキャストアルゴリズムいう手法を使ってます

プチコンでは処理が重たかったので、
色々と誤魔化しテクニックを使ってそれっぽく見せてます(^_^;

** 操作方法 [#Control]
-共通
|~ボタン|~説明|
|←→キー|ハンドル|
|Aボタン|アクセル|
|Bボタン|ブレーキ&br;時速0でさらに押し続けるとバックします|

-ゲームモード1のみ
|~ボタン|~説明|
|Xボタン|マップの見える範囲拡大|

-ゲームモード2のみ
|~ボタン|~説明|
|Yボタン|リトライ&br;ギブアップして同じ面を最初からやり直します|

** ルール紹介 [#Rule]
*** ゲームモード1 迷路 [#k815b863]
迷路内に散らばる0〜10個の鍵を全て回収してゴールを目指します&br;
爆弾に火が到達するかエネルギー(E)が0になるとゲームオーバーです&br;
全20面です

--壁の色にそれぞれ意味があります
|~色|~意味|~補足|
|黄|壁|普通の壁です|
|ピンク|ゴール|目的地です|
|緑|鍵|回収するとKEYの値が減って画面上に鍵が表示されます|
|青|エネルギー|エネルギー(E)を少し回復|
|茶|壊れる壁|スピードメータ(S)が赤のときにぶつかると壊れます&br;壊すとレベル(LV)が+1されて燃費が良くなっていきます|
|紫|ワープ|迷路内のどこかにランダムに飛びます&br;下画面のマップには表示されません|
|灰|モンスター|当たるとエネルギー(E)を吸われます|

--特徴
---下画面には自分を中心としたマップが表示されてます&br;ただし、ワープだけは表示されません
---見える範囲が限られてますが、Xボタンで範囲を広げることができます&br;エネルギーを少し消費しますのでご利用は計画的に!
---爆弾に火が到達するまでの時間はゆる〜くなってます
---残り時間が少なくなってくるとBGMが変わります
---スピード出した時のエネルギー消費(燃費)がかなり厳しいです!
---面構成(鍵の数や配置など)はランダムです&br;コンティニュー時は同じ面構成で再開します
---茶色の壁を壊すとレベルが上がり燃費が良くなっていきます&br;クリア目標レベルは50〜100です
---エネルギーを切らさないよう注意しながら鍵を回収して、&br;ゴールを目指すことがゲームの攻略ポイントとなります!!

*** ゲームモード2 レース [#ia02947b]
ゴールまでのルートを見つけ出し、短い時間でゴールを目指します&br;
爆弾に火が到達するかエネルギー(E)が0になるとゲームオーバーです&br;
全10面です

--壁の色にそれぞれ意味があります
|~色|~意味|~補足|
|黄|壁|普通の壁です|
|ピンク|ゴール|目的地です|
|青|スピードUp|一定時間スピードアップ|
|緑|スイッチ|どこかの壁が出たり消えたりします|
|紫|ワープ|迷路内の決まった飛び先にワープします|

--特徴
---下画面にはマップ全体が表示されてます&br;見える範囲の制限はありません&br;ワープも見える状態になってます
---自分は車のキャラになってます
---自分が通った跡が表示されます&br;特に意味はありませんが、コースの確認などに利用してください
---爆弾に火が到達するまでの時間がかなり厳しくなってます!
---スピード出した時のエネルギー消費(燃費)はゆる〜くなってます。(ゲームモード1のレベル120相当)
---面構成は固定です&br;スイッチで変化する場所や、ワープの飛び先なども固定です
---一見するとゴールにたどり着けない面も、スイッチやワープを使ってクリアできます&br;もし、クリアできない状態になったら、Yボタンでリトライできます
---面のギミックを解き、最短ルートを見つけ出して、&br;時間内にゴールを目指すことがゲームの攻略ポイントとなります!!

//------------------------------------------------------------------------------
* スクリーンショット・動画 [#ScreenShots]
&ref(raycast_maze_ss002.jpg,,75%);
&ref(raycast_maze_ss009.jpg,,75%);
&ref(raycast_maze_ss101.jpg,,75%);
&ref(raycast_maze_ss103.jpg,,75%);

こちらに、動画と他のスクリーンショットがあるので参照してください&br;
https://www.dropbox.com/sh/tl6bf4wszogwrvp/GEj_wsbasX

//------------------------------------------------------------------------------
* QR コード [#QR]
プチコンmkII 向けの QR コードです。
|>|>|~PRG:RAYCAST|
|~1/15|~2/15|~3/15|
|&ref(qr0.png,,200%);|&ref(qr1.png,,200%);|&ref(qr2.png,,200%);|
|~4/15|~5/15|~6/15|
|&ref(qr3.png,,200%);|&ref(qr4.png,,200%);|&ref(qr5.png,,200%);|
|~7/15|~8/15|~9/15|
|&ref(qr6.png,,200%);|&ref(qr7.png,,200%);|&ref(qr8.png,,200%);|
|~10/15|~11/15|~12/15|
|&ref(qr9.png,,200%);|&ref(qr10.png,,200%);|&ref(qr11.png,,200%);|
|~13/15|~14/15|~15/15|
|&ref(qr12.png,,200%);|&ref(qr13.png,,200%);|&ref(qr14.png,,200%);|

//------------------------------------------------------------------------------
* アルゴリズム解説 [#Algorithm]
レイキャストアルゴリズムについて基本的な考え方の説明です&br;
何かの参考にしてもらえると嬉しいです
#region(アルゴリズム解説)
視点から光の線を飛ばし(ray=光線, cast=投げる)、壁に当たるまでの距離を求めます&br;
距離が遠い(1)と壁のY軸を小さく、近い(2)と壁のY軸を大きくします&br;
これを視野角(正面を角度0として±60度の計120度)に対して処理して描画します&br;
描画するときは中央から上下にY軸の値を足します&br;
プログラムで書くとこんな感じ&br;
 FOR R=-60 TO 60
  D=壁までの距離を求める
  Y=Dの値が大きいと小さく、Dの値が小さいと大きくする
  X=256/2+R:YM=192/2
  GLINE X,YM-Y, X,YM+Y, 15
 NEXT
あとはこれの応用で、当たった壁の種類によって色を変えたり、&br;
線を模様(テクスチャ)に変えたりするとDOOMみたいな見栄えになっていきます&br;
&br;
&br;
&ref(kaisetsu.png);
#endregion

//------------------------------------------------------------------------------
* 投票 [#Vote]
#vote(どっちもよかった[23],Game1がよかった[2],Game2がよかった[5],努力はみとめる[3],ぜんぜんダメ[1])
#vote(どっちもよかった[23],Game1がよかった[2],Game2がよかった[5],努力はみとめる[4],ぜんぜんダメ[1])

//------------------------------------------------------------------------------
* CHECKER FLAG (ひとことコメント) [#Comments]
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は[[掲示板>Board]]へ)
- ''名無しさん'' : 下画面だけでも全然良かったw (&new{2012/09/17 (月) 14:01:48};)
- ''燻製'' : すげえええ (&new{2012/09/17 (月) 14:16:08};)
- ''燻製'' : でも少し上画面のコースが見えにくい (&new{2012/09/17 (月) 14:16:43};)
- ''名無しさん'' : sugeeeeee!すごい!すごい!凄い! (&new{2012/09/17 (月) 20:42:27};)
- ''Germ'' : Incredible! So much effort put into it! (&new{2012/09/18 (火) 04:56:00};)
- ''Hepebell'' : ↑*3 壁の色あいだったら、@WALLCOLORのパレット値で変えれます (&new{2012/09/18 (火) 08:58:16};)
- ''ゆう'' : 作品も良いですが、アルゴリズム解説が大変勉強になりました。 (&new{2012/09/18 (火) 10:51:33};)
- ''Hepebell'' : 拙い解説で公開ためらったけど、お役に立てて嬉しいです (&new{2012/09/18 (火) 22:18:17};)
- ''Joven'' : Amazing work! (&new{2012/09/19 (水) 16:12:41};)
- ''Hepebell'' : I'm so happy to hear such compliments! (&new{2012/09/19 (水) 20:07:32};)
- ''燻製'' : ↑3解説も十分すごいしそもそもプチコンでここまで3Dができるって相当すごいですよ (&new{2012/09/19 (水) 20:21:21};)
- ''名無しさん'' : やっぱり,こういう3Dものは、アメリカ人にウケるんだな。 (&new{2012/09/19 (水) 22:34:48};)
- ''トマト聖神'' : 最後のを取ってる時に戻るを押しちゃったww (&new{2012/10/08 (月) 19:53:24};)
- ''とめいとう'' : 面白っ! (&new{2012/10/08 (月) 20:04:45};)
- ''メルビル'' : 勉強になりますm(__)m (&new{2012/10/08 (月) 20:20:54};)
- ''otyaken'' : なるほど (&new{2012/10/14 (日) 19:53:22};)
- ''ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'' : すすすすすすすすすすすすすすすすすすすすすすすすすすすすす煤煤煤煤煤煤煤煤午後午後午後午後午後午後午後午後午後午後午後午後午後午後午後午後午後ごごごごごごごーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーいいいいいいいいいいいいいいいいいいいいいいいいいい (&new{2013/05/31 (金) 14:48:59};)
- ''名無しさん'' : win98のhoverみたいだな (&new{2014/10/26 (日) 15:33:59};)
- ''名無しさん'' : HOVER懐かしいなぁ。 (&new{2014/10/30 (木) 19:27:04};)

#comment

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.018 秒 | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30