横スクロール型のゲームを作ろう!! †
マリオ風の横スクロール型のゲームのそれぞれの1ステージを一人一人が作るって楽しそうですよね?
これなら、開発メンバーとして参加して自分の作業がもし遅れて足を引っ張ってしまうという不安等もなくて参加しやすいと思います。
次のステージとの繋がりがある程度ある場合と全くない場合のどちらでも面白いと思います。
ステージを作ることに参加するかを、まずはソフトのハード面、つまりどういう画像を使ってどれくらいキャラクターがジャンプして画面にいくつのマップチップが表示されるか等が分かってから決める人もいるとは思いますが、とりあえず今はそれも決めずに参加する人がいるのかどうかを聞きたいと思います。
参加する人どうしでソフトのハード面を話し合いましょう。
参加する人はコメント欄にコメントをどうぞ。 -- パタパタ大王
使用プラグインの検討やコーディングルール( 名前の命名規則など )の検討
+
| | プログラム規格
|
- プラグイン候補
- 音声:DirectSound?対応プラグイン
- グラフィック:プラグインなし(グラフィックでのDirectXの使用はなし。)
- ジャンル:ジャンプアクションゲーム(横スクロール型2Dアクションゲーム)
- 規格
- 画面サイズ:512*448ピクセル (チップのサイズが32*32だと横に16,縦に14入る画面サイズ)
- 変数
- 把握しやすい名付け方があれば用いましょう。
- プログラム全体で有効なグローバル変数の命名規則(接頭辞を用いるなど[例:GL_score])
- 各ステージ(=各担当者)内でのみ有効なローカル変数の命名規則(略称を用いるなど[例:太郎さん=>tro_speed])
- ステージデータのフォーマット
|
アイディア †
浮かんだアイディアを次々と書き込みましょう。
設定 †
キャラクター設定、ストーリー設定、世界観設定、などなど。設定に関する提案。
+
| | 設定
|
- プレイヤーキャラクター
- 性別/男、職業/学生、年齢/10代後半
- 目的:さらわれたお姫様を学費のために奪還する。
- 特徴・性格:バカではないが賢くはない。普通。
- 性別/女、職業/学生、年齢/10代
- 目的:あこがれのあの方(姫)を救うため走っている。
- 特徴・性格:猪突猛進。本人はお姉さまと呼んでいるが、姉妹ではない。けむたがられているのだが本人は気付いていないという幸せものである。
- 味方キャラクター
- 性別/姫、職業/女、年齢/10代後半
- 目的:公務ばかりの退屈な日々にあきており、人生に刺激がほしいと思っている。
- 特徴・性格:行動派。人望あつい。
- 犬or猫
- 目的・PCとの関係:親友。ペット?
- 特徴・性格:プレイヤーキャラクターのピンチを救う名脇役 兼 雑用係り。
- 敵キャラクター
- モンスター全体
- 職業/?、年齢/3ヶ月〜1200代
- 目的:いたって悪気はない。
- 特徴:年をとるほど数は少ない。種類は豊富。ザコ、中ボス、ラスボスなど多種多様なものが存在する。
- モンスター、性別/男、職業/ボス、年齢/300代前半
- 目的:お姫様と仲良しになること。いたって悪気はない。
- 特徴:ザコ、中ボス、ラスボスなど多種類が存在する。
- モンスター、性別/-、職業/ザコ、年齢/3ヶ月〜20代
- 目的:いたって悪気はないが、身を守るための本能として攻撃する。
- 特徴:弱い
- 催眠を受けた一般人
- ストーリー
- お姫様がさらわれた!!さあ助けろ!!w
- 村に呪いが?!呪いをかけたモンスターを倒せ! (-_-;
- 前代未聞の障害物レースが開催された。さぁキミはゴールできるのか?! orz
- 世界の危機だ、悪の組織をぶっつぶせ!
- 世界観
- 異世界。モンスターと魔力が現存する世界。
- 時代背景:現代に近い。魔導科学が発達し、モンスターの名前がレッドリスト(絶滅危惧種リスト)にならぶ時代…。(なんだそりゃw)
- 巨人の国・小人の国
|
ゲームシステム †
検討が必要な必須となるシステムから搭載してみたいシステム(ルール)など。
+
| | ゲームシステム
|
構想
キャラクターもマップも背景もこれからはチップの種類だとします。スプライトと同じ考えです。
マリオの例からですが、ノコノコに羽が生えているのをパタパタというんですが、跳ねているのと飛んでいるのがいるんです。どちらも一度踏むと(イベントハンドラ:触れられる(上))羽がなくなって(アクション:画像変化(80-32,0))歩き出します(アクション:移動タイプ(歩く))。またはノコノコに変身(アクション:変身(ノコノコ))したと言っても良いです。後はノコノコと同じ処理みたいです。
コインを出すハテナブロックは、触れる(下)のイベントハンドラを受けるとアニメーション()して変身(硬ブロック)という感じです。
変身と画像変化の違いですが、変身はあるイベントハンドラが出た場合に変化させるタイプなどをひとつひとつ設定して変えていくのではなくて、あらかじめ決めているチップのタイプを一括で代入するという感じです。画像変化は画像を変化するだけです。
- チップ
- 移動タイプ:歩く・走る・転がる・滑る・跳ねる・飛ぶ・移動しない
- 攻撃タイプ:触れる・踏む・武器を投げる・刀剣類。回数制限付きボスも一撃の必殺技・攻撃しない
- 属性:キャラクターと当たり判定をする・キャラクターと当たり判定をしない・マップと当たり判定をする・マップと当たり判定をしない・重力を受ける・重力を受けない
- ダメージ評価:ヒットポイント制
- イベントハンドラ:画面内に入る・画面内から出る・触れられる(方向)・飛び道具で攻撃される・ライフ(数)
- アクション:変身(キャラクター名)・画像変化(イメージのインデックス座標,変化してからウェイトする秒数)・消去()・ダメージを与える(ポイント)・ダメージを受ける(ポイント)・移動タイプ()・攻撃タイプ()・属性()・ライフ()・アニメーション()
- 味方キャラクター
- キャラクター毎にジャンプ力等のパラメータが違うようにする。
- 敵キャラクター
- 一番弱い敵の色違いで、賢くて強い敵。
- マップチップを敵キャラクターに変える魔法使い。
- ステージ
- 陸(氷、月面など)、海(海中、海上)、空(飛行、空中の足場)、ダンジョン(迷路、洞窟、パズル)
- RPG風のフィールドマップに1ステージ毎の建物や洞窟の絵を用意する。
- パズル要素
- 箱を運んで重ねて上の段に届く。
- 上から天井が落ちてくるけどジャンプして天井に頭をぶつけた分だけ天井が上がる。その間に右上の段に行く。
- 勝利条件:ステージを通過。
- 評価:ポイント制。たおした敵の種類と数、ステージ通過タイム、ポイントアイテムの取得、パワーアップアイテムの使用の有無で評価。なおパワーアップアイテムを使用するとポイントは下がる。
ポイントが低い状態でステージクリアすると次ステージでの難易度がちょっと下がる。また逆に高ポイントクリアすると難易度が少し上がる。
- プログラム
- プレイ時に使用するキャラクターを複数のキャラクターの中から選択できる。
キャラクターは最後まで変更不可能?ステージごとに選択?(この辺は設定やストーリーの影響で変わってくると思う。)
- ギミック
- ベルトコンベアみたいなキャラクターが勝手に移動してしまう床。移動する床。乗ると落ちていく床。
- アイテム摂取によりパワーアップや、能力が変化したりする。
- 条件がそろうとイベント発生。シナリオが進行される。シナリオ真光寺のグラフィックはAVGのようなイメージ。(でかいイラストの下側に文字でセリフを表示。)
|
提案 †
開発の方向性への提案や、部類わけできない意見などどうぞ。
ここの提案に関する議論はコメントで。
+
| | 提案
|
- マリオのコピー(絵が違うだけでシステムがほとんど同じ)にならないよう注意したい。 - GENKI?
- 何らかの独自の(マリオにない)システムとかルールとか、ひとつはほしい。例えば?と聞かれるとちょっと困りますが…考え中です。 - GENKI?
- 自分がゲーム苦手だった事思い出しました。_| ̄|○ 特に反射神経を使う系。ジャンプアクション系はよく穴に落ちて死んでます…。
というわけで、諦めないかぎりクリアは誰でも出来るが、高得点?を目指すと難易度高い…みたいな感じを個人的には希望。 - GENKI?
- 「今までの全てから普遍的なものを見出して具体的なものに生み出す。」通り、キャラクターもマップも背景もチップとしてまとめられて、これからはチップに対しての操作や関係を考えるという段階になったと思います。
また、ゲームシステムのところで示しましたが、普遍なチップを予め作っておいてみんなで簡単に利用できるようにします。
しかも今考えているのは、マップエディターを簡単に作って、敵キャラクターを配置する場合にソフトに登録されている普遍なチップを選ぶ以外に、横スクロール型ゲームのサブページに普遍なチップを集めて、そのページからソフトでダウンロードして利用しようというものです。
この他に、チップには画像のインデックス座標や初期位置の座標や攻撃タイプなどの要素がありますが、アクション要素にHSPのスクリプトを動作させるものも入れたいと思います。これで自由度が大きく増えます。 -- パタパタ大王
- 紙飛行機に乗って空を飛ぶステージとか、どうでしょう。友達が言ってました。-- a-okada
|
基礎フォルダ20060528.lzh
パタパタラボ †
+
| | メモ
|
- 当たり判定
わたくしが前に作ったもので、x方向とy方向を同時に判定すると斜めの移動に対してもちゃんと判定できるかも知れない。
押されて壁にめり込むのは、マップチップに位置優先属性を付けてその属性に触れているチップも位置優先属性にすると壁に接しているチップが他のチップに押されてめり込むことがなくなるかも知れない。
積み重なったブロックに左から接しながら右を押し続けてジャンプキーを押してもジャンプできない問題を解決する。
- ステージエディタ
右クリックでチップへの色々な操作が出来るようにする。
- 色々な効果音を付ける
- 効果音を同時に複数鳴らせるプラグイン
- 敵キャラクター
- ギミック
- タイトル画面やステージ前の画面
- vxが小さいと背景がスクロールしないのを直す
- 座標関係の変数を*100/100
- チップ属性zokuseiをまとめる
|
+
| | 研究
|
研究
- チップ
- コンセプト
組み合わせることで少ない要素から多くのチップを表す。
- 要素
イベントとアクションはステージエディタ用のまとめ。
移動タイプ | 当たり判定 | 属性 | イベント | アクション |
---|
移動しない | 当たり判定しない | 重力を受けない | 画面に入る() | 変身(キャラクター名) | 歩く(速度) | 判定だけ | 位置を優先する | 画面から出る() | 画像変化(バッファ番号,インデックス座標) | 跳ねる(速度,高さ) | 速度修正 | アニメーションしない | 触れられる(方向) | ダメージを与える(ポイント) | 走る(速度) | | | 武器で攻撃される() | ダメージを受ける(ポイント) | 滑る(速度) | | | ライフ() | 消去() | 飛ぶ(速度) | | | | アニメーション() | 回転(回転速度) | | | | ウェイト(秒数) | | | | | 移動タイプ(要素) | | | | | 当たり判定(要素) | | | | | 属性(要素) |
- 例
チップ名 | 移動タイプ | 当たり判定 | 属性 | イベント | アクション |
---|
硬ブロック | 移動しない | 速度修正 | 重力を受けない 位置を優先する アニメーションしない | なし | なし | ブロック | 移動しない | 速度修正 | 重力を受けない 位置を優先する アニメーションしない | 触れられる(下) | 当たり判定(当たり判定をしない)→アニメーション()→消去() | コインブロック | 移動しない | 速度修正 | 重力を受けない 位置を優先する アニメーションしない | 触れられる(下) | アニメーション()→コインが増える(1)→ダメージを受ける(1) | | | | | ライフ(0) | 変身(硬ブロック) | コイン | 移動しない | 判定だけ | なし | 触れられる() | コインが増える(1)→消去() | クリボー | 歩く(1) | 速度修正 | なし | 触れられる(上) | ダメージを受ける(2) | | | | | 触れられる(左下右) | ダメージを与える(2) | | | | | ライフ(0) | 当たり判定(当たり判定をしない)→画像変化(3,120,0)→ウェイト(1)→消去() |
- 変数と要素の対応表
要素 | 変数 |
---|
移動タイプ:移動しない | MoveType? | 移動タイプ:歩く(速度) | MoveType?とmaxvel1 | 移動タイプ:走る(速度) | MoveType?とmaxvel2 | 移動タイプ:跳ねる(速度,高さ) | MoveType?とmaxvel1とjumph(予定) | 当たり判定 | ConType?(予定) | 属性:重力を受けない | zokusei | 属性:位置を優先する | zokusei | 属性:アニメーションしない | acntとacnt3 |
- ステージデータ
- 別ファイルで初期化するチップデータ(csv形式)
px,py,空き,空き,空き,maxvel1,maxvel2,accel,frict,prm1,MoveType?,buf_num,buf_sx,buf_sy,buf_px,buf_py,sx,sy,muki,acnt,空き,acnt3,空き,zokusei,空き,イベント・アクション,〃,〃,〃,〃,〃,〃,〃
- 本体で初期化するチップデータ
vx vy maxvel acnt2 flag con
|
提供してくれる人を探したり、フリー素材を配布してくれているURLを載せたりしましょう。
+
| | 画像・BGM・効果音・スクリプトの素材
|
- 画像
- 味方キャラクター
- 敵キャラクター
- マップチップ
- 背景
- キャラクター、マップ、顔、など一式
- 効果音・BGM
- 参考スクリプト・モジュール
- 衝突判定 : 衝突判定・当たり判定の処理の例
- 当たり判定モジュール : 衝突判定・当たり判定の処理の例
- 小ワザ/マップスクロール/横 : 背景画像のスクロールのサンプル
- 小ワザ/アクションゲーム
- 小ワザ/アクション/基本動作 : アクションゲームの基本動作サンプル
- 小ワザ/アクションゲーム/pget : 色取得によるMAP移動
- 小ワザ/アクションゲーム/ジャンプアクションゲーム : アクションゲームのサンプル
- 物理のおおまかな話 : 自由落下や地面との摩擦などのサンプル付き解説。
|