SIG-Indie 第6回研究会「同人シューティングゲームの潮流」

2/20 に行われた研究会のメモ兼レポ。

SIG-Indie 初のSTG研究会。80年代, 90年代, 00年代という区切り方で、各世代の講演者が自身のゲーム制作に関して話していく形式。
どの講演も面白かったけど、特にicewind 氏の講演が素晴らしかった。参加者に何かを伝えようという意識が最も感じられる、これからゲームを作ろうと思っている人にぜひ読んで欲しい講演です。

今回最も印象に残ったのは、ハードのスペックが進化していく過程での「制限の中で表現を模索するのではなく、表現を後押しする方向で性能が進化した」という発言。ここが一つの世代間差なんじゃないかなと。「ゲーム性こそ重要。システムが面白ければ良い!」という世代と、演出まで含めたトータルバランスを意識するという世代の差があると思う。

個人的な印象としては、80年代・90年代・00年代。それぞれの環境や表現の違いは伝わってきたけど、世代の違いがあまり感じられなかった気がするので、次回があれば世代間差にフォーカスを置くと面白そう。盛り上がるかどうか分からないけど。


以下レポート。今回は技術的な話が多かったりペースが早かったりで、けっこう取りこぼしがあります。話題が急に飛んだりする可能性もあるので、そのつもりで読んでください。

全日本学生ゲーム開発者連合(全ゲ連)の宣伝とこれまでの歩み

  • 全日本学生ゲーム開発者連合とは
    • 学生発のゲーム作りに関心のある人の集まり
      • ノウハウの共有や技術を勉強したい人
      • 制作者と交流したい人
    • 定期的に交流会を行っている
      • 学生・社会人問わず、ゲーム作りに興味のある人ならだれでも参加できる会
      • 現在、だいたい3ヶ月に一回のペースで開催
  • 交流会の特徴
    • 講演希望の有志が講演する、いわゆる野良勉強会的な形式
    • ゲームに関係がある講演ならなんでもOK
    • 気軽に参加できるよう、参加費は無料の方針
      • 学生はお金が絡むと来なくなるので、今後も無料を貫いていきたい
    • 講演以外に、参加者が自身のゲームを持ち込みプロジェクタ等で遊ぶゲーム交流会を行っている
  • これまでの流れ
    • 大学のサークルが集まり「全日本学生ゲーム開発サークル連合」として開始
      • サークルに対して参加しませんかというメールを送ってたが、内部で満足しておりなかなか外に出てこない
      • ちゃんとゲームを作っている大学サークルは少ない
    • 第3回より「全日本学生ゲーム開発者連合」に名称変更
      • Webサイト, Twitterを利用し告知・参加登録を行う
      • 個人のゲーム開発者が多数参加するように
  • 参加者の種別
    • 大学生・大学院生が最も多い
      • 半数以上は大学生
      • 大学生は暇も勉強する時間もある
      • 大学生の講演は、技術的な講演が中心
    • 中高生も結構多い
      • 前回は10人も参加
      • 中学生なのに大学生顔負けの講演をする人も
    • 社会人の方も多い
      • 実は2割は社会人の方
      • 自身の開発経験やノウハウを講演して頂いている
      • これからゲームを開発しようと思っている方や、同人ゲームに興味のある方も
    • 専門学校生があまりいない
      • ゲーム専門学校はあれだけあるのだから、開発者も多いはず。ぜひ来て欲しい
  • 参加者の開発ジャンル割合
    • 開発している/これから開発したいゲーム
      • 全体的に動的ゲーム寄り。ノベルはあまり居ない
      • 最も多いのは2Dアクション
      • 次点がシューティング
      • 3Dアクションやパズルもちらほら
    • プラットフォームはほとんどWindows/DirectX
  • 現在の問題点
    • 「全日本」とは言っているが、交流会は東京で行っているため関東圏外の人が参加しづらい
    • 区の施設を会場にしており、駅から若干遠い
    • 講演がプログラム話に偏り気味
      • ぜひどなたかサウンド・グラフィックの講演を!
    • 同ソ系男子しか居ない
  • 最後に
    • 参加費無料ですので、気軽にご参加下さい
    • 講演して下さる方も随時募集中
    • 次回開催は5/22(土)を予定
      • 今度も無料なのでぜひ参加を

第一部 80年代同人シューティングゲーム

PC88 時代のシューティングゲーム

  • 同人シューティング(1987〜1993)
    • SUPER SONIC SHOOTER
    • MELTDOWN
    • ReFIGHT
    • REVOLTER
    • クリネックス
    • HARD RANK
    • LASTING ROAD
    • 寿司と茶伝説
    • DOUJIN

実体験に基づく、少人数制作によるシューティングゲームの提案

  • 80年代。コンピューターが個人が使用するに現実的な値段になった。
  • ハードのスペックが低く、実行速度が遅い
  • 画面上でいくつかのキャラクターを動かしただけでフレーム落ち
  • ツールや状況も少なすぎる。
    • 何千円も出して資料を購入。ベーマガなどの雑誌を見て打ち込む。自分で作る。
  • ゲーム開発の敷居は高かった
    • しかし、BASIC という環境は、それを上回るとっつきやすさがあった。
    • グラフィックキャラクターなどを用いた簡単なゲームならば、当時のコンピュータ少年ならばほとんどの人が作成してきた。
  • 最初の問題
  • ゲームアイデアで解決しよう!
    • ゲームとしての面白さを求めるためにハードのスペックや開発環境の溝を埋めるには、いくつかのアイデアで事足りる。
  • 1987年冬、TRCのコミケで購入したソフトのほとんどが、素人ならではの質の悪さが目立つゲームだった。
    • 戦闘機1個表示されてるだけ、みたいな出来の悪いゲームが1000円で普通に売っていた。
    • これを見て、安くて良いゲームが作りかいと思ったのがきっかけ
  • 1988年夏コミ
    • 自分の目が行き届いた環境で制作するために、個人でツールからDOSからサウンドドライバーから揃えることが必要
    • これ以前は、ほとんどの同人ソフトにはまともなBGMがなかった
      • BGMを鳴らしておいて割り込みをかけるといった荒技も使われていた。
    • REVOLTER のような、素晴らしいBGMを奏でる同人ソフトが登場
  • 制作経験から初心者に伝えること
    • 個人サークルなので、様々なデータ作成に時間を取られるわけがいかない
    • データが作れないのでゲーム制作に入れないと思っている方は、絵は漢字でも四角形でもいいのでとりあえず作ってみる。
  • とりあえずゲームとして完成させるのであれば、見た目は二の次でいい。
    • 1本でも、最初から手がけて完成させた経験は、何本もの未完成ソフトよりも価値がある。
  • 制限の中で成り立つゲームデザインもある。
    • むしろ、何でも出来る状況でのデザインは難しい。
    • 何かの制限があるのなら、それを活かす内容を考えてみよう

第二部 90年代同人シューティングゲームから現代まで

超連射 68k 開発日記 - 弾幕世代以前の90年代のSTGのこと

90年代前半期のSTGとそれを取り巻く状況
  • 当時のゲーセン=ゲーマーの交流の場
    • インターネットが無い時代
    • 「コミュニケーションノート」という雑記帳で交流
      • 馴れ合い、罵り合い、絵師の落書きなど、今で言う掲示
    • ノートを軸に常連客コミュニティが形成される
  • 熾烈なハイスコア競争が展開される
    • 雑誌が全国のゲーセンのハイスコアを集計
    • 攻略法研究の遠方ゲーセン訪問が流行(遠征という)
    • 遠征に来たライバルにスパられないよう(攻略法をスパイされないよう)ダンボール箱を被ってプレイする者も
    • スコアをめぐり、リアル抗争に発展する例も珍しくない
  • 当時ゲーセンで稼動していたSTG
    • STGはまだまだ花形ジャンル。スーパープレイと言えば STG
    • STG=指鍛錬
    • シューター曰く「STG萌え要素など、公私混同も甚だしいわ」
      • コットンのような萌え要素のあるゲームもあったが、そういうのはこっそりやっていた
    • 今で言う弾幕ものはまだない
      • 弾幕は高次周回でのみ観られる現象だった
  • 当時のSTGデザインの傾向
    • 張り付き撃ち速攻の美学
    • 敵の隙をつき懐にもぐり込む→張り付き撃ち(手連射)→瞬殺
    • スピード狂推奨
      • 自機速度をMAX に上げ、張り付いたり安全地帯に入ったり
  • 一方、弾幕世代は弾避けに専念できるデザイン
    • 弾避けに専念していても、敵にダメージを与え続けられる
    • オート連射機能。敵の耐久力=残り時間になってしまう懸念
    • 張り付き要素との両立は各タイトル工夫されているようです
  • 90年代半ばは STG 苦難の時期
    • 進化の方向性を模索するが糸口が見えない
    • 行き過ぎたマニア化をどう是正するか
    • インカム効率(売上げ)で対戦格闘ゲームに及ばず
      • 対戦では、どんなに上手いプレイヤーでも必ずどっちかが死ぬ
    • 格闘ゲームは数分で1コイン、一方 STG は数十分で1コイン
    • STGに強いメーカーの撤退が相次ぐ
超連射68K の制作について
  • 当時のコミケ
    • 晴海埠頭で開催(C49 まで)
      • なぜか毎年晴天に恵まれる。台風が進路を曲げる
      • オタクの熱気が作る上昇気流によるものであるという都市伝説も
    • 広く作品発表できる唯一の機会
    • インターネットが無い時代、オタクにとっては甲子園のようなもの
    • 同人ソフトはまだマイナーな扱い
      • 新館2Fという劣悪スペースに配置。夏はサウナ状態。館内に熱気で雲ができたという都市伝説が。
超連射68K の実装技術面について
  • 90年代すでにX68Kに陳腐化の兆し
    • スプライト機能の貧弱さが顕著になってきた
      • 当時の家庭用ゲーム機と同等以下
    • プログラムの工夫でカバーしないといけない
      • ファミリーベーシックの制約から逃れられたと思ったのも束の間、再びギリギリコーディングに(といいつつ楽しんでいたが)
  • スプライトを増やす
    • スプライトは走査線が通過した時に表示されるので、表示後に、走査線より下に移動させれば再表示が可能
    • これによりスペックの 4 倍の 512 枚表示を実現
  • 当時、重い処理と言えば衝突判定
    • 32体 VS 32体ごときで、60fps を維持できない
    • X軸Y軸個別に1次元のマスを用意し、論理積で評価して高速化を図った
STGを取り巻く状況。90年代後半に起きた変化
  • 同人ソフトに Windows95 の波が直撃
    • 大半のコード資産が無駄になった
    • X68K 的にはエンディアンが逆になったのは非常につらかった
    • 一時期、同人ゲームがかなり減ってしまった
  • ゲーセンで起きた変化
    • インターネットが普及し、コミュニケーションノートがその役割を終えていく
    • それに連動して、常連コミュニティの世代交代
    • ゲーメスト廃刊、ゲーマガのハイスコア集計終了
    • 弾幕STGというフォーマットが出現
  • スーパープレイの位置付けが変化
    • YouTubeニコニコ動画で観られるようになった
      • 手軽で良い。しかし、本物スーパープレイである保障は無い
    • TAS(Tool-Assisted Superplay)の台頭
      • エミュレータ等を駆使して作成したスーパープレイ動画
      • 処理落ち環境でリプレイ採取しただけのお手軽TASも横行
    • 本物スーパープレイのカリスマ性低下
      • STGはスーパープレイのカリスマ性と二人三脚で進化してきた
      • TASはそれを根底から揺るがす可能性がある
  • 90年代に積み残した問題。リプレイデータが本物であることをどう証明するか?
    • シューターにとってネットは競う土俵として不完全
    • ハイスコアが本物であると証明する方法がない
    • リプレイ添付でも、精巧な本物プレイっぽいTASの可能性がある
    • TAS 利用チートを 100% 検出できれば良いのではないか?
  • TAS 利用チート対策方法を考察
    • リプレイデータの改竄防止という方向性ではダメ。暗号化しても TAS には勝てない
    • TAS の弱点=実プレイ時間
      • TAS は繰り返しリトライするため実プレイ時間が非常に長い
      • 実プレイ時間を計測できれば TAS 利用チートは検出可能
    • 乱数を予測不能にしてやる
      • 乱数予測系のTAS(例:テトリス電源パターン系)を防止
  • 超連射68KでTAS対策を実験してみたところ、大半のTAS が不可能になった

司会の繋ぎ

  • Windows が登場して、描画能力の低さに愕然として皆逃げてしまった。
  • しかし、CPUとメモリはどんどん進化していった。
    • 制限の中で表現を模索するのではなく、表現を後押しする方向で性能が進化。

弾幕の科学 - モデル化、生成、ランク、おもてなし

  • 弾幕とは
    • 辞書によると、多くの弾丸が幕のように隙間無く飛んでくること
    • ゲームの場合は、プレイヤーに心地よく死んで頂くために、多くの弾丸が幕のように隙間無く飛んでくること
    • 大量の弾+極小の当たり判定
      • 俺ってすげー感を演出
  • 自機を殺しに来る「殺し弾」
  • 自機の行動範囲的にあまり意味が無い「おもてなし弾」
  • 弾幕以前のSTGは、殺し弾だけで構成されていた
    • 弾幕では考えられない早さの弾
  • 弾幕の始祖
    • 人によって意見は違うが、ここでは怒首領蜂を始祖とする
    • アーケード・同人・フリーの全てにおいて、弾幕はシューティング界を席巻
  • なぜ弾幕シューが流行ったのか
    • あたかもすごいことをやっている感
    • 花火職人のような幾何学的な美しさ
    • 弾幕職人のおもてなしの心
    • 作るのが簡単
      • 弾幕シューが沢山出てきた
      • ギミック無しで多彩な攻撃を行えるため、ボスの攻撃にバリエーションを持たせることが用意。
      • 従来:レーザー・炸裂弾など
      • 弾幕:弾の出し方を工夫するだけでいい
  • 弾幕の自動生成ってどうやるの
  • BulletML
    • 弾幕のモデル化
    • XML弾幕を定義
      • 当時はなんでもXML という風潮があったのでXML。今作るんならこんな長くて面倒な物は作らない
    • 弾幕は、弾と弾の相互作用で演出を作っていく
    • これで作ったのが、Noise2sa
  • Bulletsmorph
    • 進化する弾幕の遺伝子
    • 組み合わせで弾幕生成
    • BulletML木構造一部を別の物と組み合わせることで、新しい弾幕を無限に作れるのではないか
    • これで作ったのが、
      • rRootage:自動生成ボスシューティング
      • PARSEC47:レトロモダンハイスピードシューティング
    • 問題点:避けられない弾が生成される可能性がある
      • リミッタ。一定数の弾を撃ったら撃つのを止める
      • 弾幕を組み合わせる際に、避けるための隙間を作るように
  • ランク
    • ユーザーの腕前に合わせた難易度設定
    • 難易度に応じて弾密度が変化
  • 弾幕の自動評価
    • AIプレイヤーを多数場に放つ
    • 生き残りプレイヤー数で難易度評価
  • 弾幕の自動生成ができる時代がいずれ訪れるだろう
  • ステージの自動生成。これが夢
  • おまけ
  • 今回のプレゼンはSIGIndie6ML で書かれている。
    • これからの講演は、講演のために自作のDSLを用意することがトレンド(笑
    • 任意のスライドに弾幕を組み込める優れもの
      • 弾幕をプレゼンする際にぜひご利用下さい

00年代

SITER SKAIN 的シューティングの実装について

  • SITERSKAIN 昔話
    • 高校時代以前(〜1994年春)
    • ツクール作品「RAID WIND」作成
  • 大学時代1年目〜2年目(1994年春〜1995年秋)
    • ついにパソコンを購入(FM-TOWNS
    • 小規模なシューティングをいくつか開発
    • ALLTYNEX の開発
  • 大学3年目以降
    • Windows95 大人気。ゲームも今後はWindows で開発すべき。ということで以降
    • 神威の開発開始(じるるん)
    • Reflection の開発開始(ヤスウェア)
  • ここまでずっと雑誌投稿メインで、コミケのことを知らなかった
  • 大学4年目以降
    • 高速描画ライブラリWinGL との出会い
    • Delphi2.0 からC++への移植
  • 大学4年の夏に初めてコミケに参加
    • 1999年冬のコミケ57申込みに合わせて、サークル「SITERSKAIN」を結成
  • ここから神威のコンセプト・仮想ハードウェアスペック・実装など。メモしきれず割愛
  • 神威はint型を8bitシフトした固定小数点
  • ALLTYNEX 2ndはfloat型
  • モデリングにはメタセコイアを使用
    • 3Dソフトでのモーションデータ作成は行わず、プログラム内で手打ち
    • モーションデータに中間キーフレームの概念はない。開始と終了のみ指定
    • 当たり判定は立方体と立方体の単純な座標比較
  • まとめ、
    • 技術力は大したレベルではない
    • そんな中でも工夫次第で案外いろいろできる
    • 足りない技術は力技と作り込みでカバー
  • ゲームを作りたいと思っている人達へ
    • 品質の善し悪しはともかく、自分で「プログラム」「絵」「音楽」をやってみることをおすすめ。
    • プロとしてはムリでも、同人としてある程度見れるクオリティには誰でも到達可能。

RebRank なゲーム制作・Re:Blank なゲームデザイン

  • RefRain 作業の流れ
    • 設定を中心に据えて作業
      • 極端なリテイクを排除
    • 企画・設定に対して創作
  • メンバーが多いから、早く進むかというとそうでもない。
    • まとめ役に作業が集中する
    • それがデメリットかというとそうでもない。作業が集中した方が雰囲気も統一しやすい
  • 得意な作業を中心に進める
    • 時間はかかるが、納得いく物に
  • サークル内のコミュニケーション
    • ネットだけでは限界がある
      • ネット上で言葉だけでやり取りすると、語弊・勘違いが生じやすい。リアルに会う
    • 作業が進まないときは、メンバー宅に向かう、泊まり込む
    • 共通の話題を持つことも大事
      • ゲーム以外でも通じる話題も持つ。
      • ゲーム以外へもアンテナを広げておく
      • 食べ物や飲み物のネタなどは、誰でもすることなので共通の話題になりやすい
  • エイプリルフール企画
    • 制作のペースが上がる    こともある
  • チーム作業で心がけていること
    • 情報の混乱を防ぐ
      • ここを見ればOKな場所を作る(Wikiなど
      • お互いが疑わなくてすむ環境
  • 制作に使っているもの
    • 五月雨では独自言語(SMDScript)を自作
      • 敵や弾をフレーム単位で直感的に書ける
    • 得意分野の違いを吸収できる
      • Yoko:難しくないプログラム・STG好き
      • Sheile:難しいプログラム・STG苦手
  • コミュニケーションツール
    • リアル>>>>>Skype>>IRC>MSNメッセ
      • 実際に会うことが一番。やり取りに時間がかかってしまう。
  • 超短期:各自でTODOリスト
  • 短期:Googleカレンダーで共有
  • 長期:Excelシート(Redmine移行中)
  • 「自滅しないための予定」を立てる
ゲーム制作に関する話
  • プロトタイプ・スパイラルで制作
    • 作って試す
      • 仕様決め→実装→作って直す
  • 内容が決まったら、
    • コンセプトに沿って尖らせる
    • 逸れるものは外す
  • 制作に入る
    • 主犯:全力で突っ走る
    • 他:止める
  • RefRainのプロトタイプ
    • C68:微妙
    • C69:弾避けがきつい
    • C70:いけそう
      • ゲームタイトル決定
    • C72-73:コンセプト確定
  • プロトタイピングはどこでやる?
    • 制作→テスト→修正→テスト・・・のループ
    • コミケは頒布メイン。ロケテのようなイベントが定期的に欲しい
  • コンセプトに沿った流れ
  • RefRainの場合のゲームルール失敗例
    • C76版:敵に押し負ける
      • 攻撃の手数が借りない
      • 自機システムの循環を強化
同人ゲーム開発における独自スクリプト言語
Object main()
{
    wait(30);
    loop(10) {
        @sample(200, 200, 0);
        wait(3);
    }
}

#texture TEX_Bullet "Data/Grp/sample.png"
#pictute PIC_Bullet [TEX_Bullet, 4, 268, 32, 32]

// 関数の前に、当たり判定のための種類を記述。
Bullet sample(x, y)
{
    picture = PIC_Bullet;
    d = 5.0;  // 移動速度
    r = 90;   // 移動方向の角度
    w = -2.0; // 加速度
    move(300);
}
  • メリット
  • 開発作業の分担
    • プログラマが忙しくてもゲーム作りが可能
    • 得意な人が得意な場所を制作
      • 敵の動き、弾の張り方はYoko が得意
      • タイトル画面や、トリッキーな所はSheile が得意
  • 開発効率
    • 調整のための繰り返しが楽
    • STGに特化していることによる記述性のよさ
  • 自由度
    • スクリプトの切り替えのみで、別ジャンルのゲームを作れる
  • デメリット
  • 境界があいまいになる
もうひとつのSAMIDARE ARCHIVE
  • C62版五月雨
    • 理想と現実
    • 製作手法が分からず右往左往
    • 申し訳程度のシールド
  • C63版
    • 迷走するシステム
      • 画面設計の見直し→決定
      • シールドが外されるなど、明確でないコンセプト
  • C64
    • 3度目の正直
    • シールドを主体としたゲームコンセプトの確率
    • 画像や効果音の刷新
  • C65版
    • 後は突っ走るのみ
    • ゲーム画面のデザインを刷新
      • フォントや枠の変更など
      • 世界観が定まっていないとの意見を受け、話し合って世界観を統一
    • ハイパーの実装
  • C67
    • そして完成へ
    • ユーザーに配慮した作り込み
      • ラクティスモードの追加
      • ボスゲージの変更
      • 爆発、弾色の調整
  • 五月雨の製作から学んだこと
  • ゲーム画面の設計に大切なもの
    • おもてなしのこころ
    • プレイヤーの視点を想像する
  • STG の基本的なルール
    • 自機の武装を駆使して、道中にいる敵を撃破したり弾をかわしながら、最後に待ち受けるボスを倒す
  • STGにおけるゲーム画面の役割とは?
    • 自機のリソースなどの状況を伝え、プレイヤーに意思決定を促す役割。
    • どうやって敵弾を回避するか?
    • どの敵から倒すのがよいか?
    • 判断に必要な情報が、プレイヤーに伝わるように。
  • 五月雨の場合
    • 自機周囲のシールド
    • 敵への接近を推奨するシステムなので、接近後に撤退するタイミングを把握させる必要がある。
    • 視線計測の実験結果を基に、自機の周囲にゲージを用事
  • 理論もいいけど?
    • 色々な人に遊んでことが大事
    • 他者の視点から眺めて貰うことで、制作側ではない視点を
  • 五月雨のテストプレイ
    • コミックマーケット以外に、週1で行われていたサークル活動。
      • ゲーム制作に興味のある人達からの鋭い指摘・感想
    • 年1度行われる文化祭での展示
      • 子供から大人までの幅広い層や、普段ゲームをプレイしない人などの貴重な感想を頂けた
  • 最後に
    • 五月雨は試行錯誤を通して作られた作品
    • プロトタイピングが上手く循環してしまった
  • ゲーム画面設計は「おもてなしのこころ」
    • プレイヤーに伝えるべき情報が伝わっているか

ゼロからプログラムを覚えてシューティングゲームを一つ作ったお話

  • 対象:ゲームを作ったことが無い人。これから作ってみたい人
  • ディアドラエンプティで目指したもの
    • 自分でプログラムを書いてゲームを完成させてみよう!
    • 既存のSTG よりも大味でダイナミックなゲームになーれ♪
    • ファンタジーゾーンのシステムはもっと発展できる!
    • スペックとか無視して好きなだけエフェクト出しまくって派手にしよう!
  • 作る上で注意したこと
    • 目標をしっかり見据える
      • 今回の目標は「完成させること」
      • プログラムをやってみたい。ゲーム性の追求は二の次
      • 特にプログラムは「とりあえず動きさえすればいい」のレベルで十分とした
    • 出来るだけ手抜きをする
      • 一人で全部やってたらとんでもない時間がかかることは目に見えていた
      • 企画、絵、プログラム。全てにおいてできるだけ手抜きができる方法を選んだ
  • 具体的な手抜きは・・・
    • ストーリーを最低限の表現に留めた
    • プログラムはライブラリを積極的に使い、ゲーム本体以外の開発を最小限に止めた
    • 音楽はほぼ全部フリー素材。
    • 絵はゲーム素材以外はほとんど描かなかった
    • グラフィックは使用メモリの事は考えずに一番簡単な作り方で放り込んでいった
    • いくつかは後で足を引っ張ったが、ほとんどは結果的に良い効果を生んだ
  • ゼロから何やってプログラムを覚えていったのか
  • プログラムを覚えるのに使った3冊の本
    • Cの絵本
      • 本屋で探した中ではトップクラスに簡単な本。
      • 必要以上に親切丁寧に書いてありわかりやすい
    • 14歳からはじめるわくわくC言語ゲームプログラミング教室
      • 序盤がC言語の復習なので、復習にもなった
      • 「DXライブラリ」を使用した構成
      • シューティングを作る方法が書かれていたので購入
      • 読んだ後、そのまま実際の製作に移行できた
    • 新C言語入門ビギナー編
      • あまり使わなかった。どういう風に書けばいいか分からないときに参照した
  • ゲーム向けライブラリを使うと、ウインドウ生成などのWindowsDirectX のめんどくさいところをすっとばしてかなり簡単にゲームを作ることができる。
  • DXライブラリがまじまじ超おすすめおすすめな理由
    • C言語で書ける
    • 導入から最初の一歩までの非常に詳細な解説
    • 丁寧なライブラリのリファレンス、豊富なサンプルの数々
    • 他のインディーズゲームの作者の方が使われているという実績
  • ようするに、私がディアドラエンプティを作るためにプログラム関連でやったこと。
  • 下準備。
    • 「Visual C++ Express Edition」(フリー版)を導入。
    • 「C の絵本」を読みながらC言語の基礎を覚えた。
  • 14歳の気持ちになってゲームっぽいものを作ってみよう!
    • 「DXライブラリ」を導入。ゲームっぽいものを試してみた
  • さあ実際に作ってみよう。
    • 実装できそうな所からどんどん実装。
    • 分からないところは、DXライブラリのHPのリファレンスやサンプルが大変参考になりました。
  • 後はひたすら素材作り&組み込み
  • ゲームが完成!
  • 何が難しかった?
    • 結局の所、最も難しかったのはプログラムの実装でもグラフィック作業量でもなく「モチベーションの維持」だった
    • 数ヶ月間に渡ってモチベーションを保つのはやはり難しい。
    • 自分なりのモチベーションの保ち方を見つけよう。
  • 私のモチベーション維持の方法例
    • ブログに恥ずかしい製作日記を書く
      • 本当に恥ずかしいので注意
      • あまり時間をとられないように注意
    • 好きな雑誌や好きなイラストなどを見て、妄想や「自分もこんなものを作りたいな」熱を燃やす
      • 「憧れは最上のエネルギー!」by アニメ プラネテス
      • 憧れる心を行動力に転化しよう!
  • シューティング作ってどうだった?
    • シューティングゲームは以外と簡単に作れるというのは本当?
    • 本当でした。
    • 必要な要素が他ジャンルよりもシンプルで作りやすいと感じた。
    • イデアを埋め込む余地がまだまだある。ちょっとしたアイデアで独自のゲーム性を作れる。
    • ゲーム作りの楽しさを味わうのにぴったりのジャンル(かも
    • 初めてのゲームにもマジおすすめ(かも
  • 最後に
    • 私がゲームを作るために学習した内容は、プログラムの勉強という括りで言えばかなり簡単な部類に入ると思います。
    • それでも、これだけの学習でディアドラエンプティを作ることができた。
    • もし今回紹介した方法が難しくても、HSP やシューティングビルダーなど、もっと簡単にゲームを作る方法がいくつもあります。
    • 難しい技術に拘る必要はありません。作り上げること自体が大事なのだと思います。
    • ゲーム作りをする上での苦労はもちろん多いですが、作品を作り上げる喜びは他に例えようがありません。
    • ゲームを作ってみたい!という方はぜひチャレンジしてみてください。そこにはきっと他では得難い経験が待っているはずです。

here the future

  • 最近のマルチコア化して暇を持てあましてるGPUをぶん回したかった。
  • とにかく大量のオブジェクトを衝突させたかった。
  • 自分が楽しむためにゲームを作っている。技術的好奇心。
  • 技術
    • 並列化の実装解説
    • 衝突判定の実装解説
      • コミケで、このゲームを遊ぶと部屋が暖かくなって冬は最適です、と言われて嬉しかった。
      • 20000オブジェクトで、Core i7が80%くらいまで回った。
  • プログラマがグラフィック面を担当する場合、シェーダはいい手抜きの道具となる。
    • シェーダー使うと「同人でシェーダを使うなんて」ということを言われるが、むしろ逆。シェーダが無いと手抜きできなくて辛い。
  • ネットブックは敵です。悪です。滅んでください
  • GeForceRadeon の違い
    • GeForce だと問題ないが、Radeon はプログラム側から「この機能使える?」と問い合わせて「使える」と返ってきても使えないことが多い。
    • ユーザーの皆さんは、GeForce を使ってください。開発者の皆さんは、Radeon を使ってバグチェックして下さい。
  • ネットワーク対戦
  • ウチのような小さなサークルでは、ロビーサーバーを設置しても人が集まらない
    • 必要に迫られ、乱入を実装した
    • 乱入の実装にめちゃくちゃ苦労した。
      • 200個あるクラスに全てシリアライザを実装した。
    • 同期ズレには苦労した。100% は解決できなかったので、体力ゲージが違っていたら同期がずれていると判断して再同期を行った
  • 現実
    • 販売数:2300 コミケで400。ショップで1900
    • パッチダウンロード数:11000
  • 同人STG の客層を考える
    • シューティングというだけで結構売れるという風潮にある。
    • 操作系の単純さ、プレイ時間のお手軽さ。
    • 東方シリーズから同人STGの裾野が広がった?
    • アーケードゲームからの難民が広がった
  • 自分は批評が聞きたいので、2chはありがたい
  • コミケで批評は来ない。海原雄山は現実的に居ません。
  • ゲームの短命さを認識する
    • Valve のゲームでさえ、最後までクリアする率は48%。
    • EA はそれが分かっていて、最初に一番の盛上がりを持ってくる。その後どんどん盛り下がってくる
  • 遊ぶ側としての展望
    • 同人ゲームでは、斬新なシステムを求めている
    • 同人でしか出せないようなギリギリの独創的なゲームがもっと出てきてほしい
  • 同人で最も衝撃を受けたゲームは、行殺!スピリッツ。
    • ただ殴っただけではダメージにならず、すぐ回復してしまう。
    • まずめくり攻撃でスカートをめくり、パンチラを撮影する。
    • パンツの写った範囲によって評価され、Good 以上なら回復せずダメージが入る。
    • パンツ撮影でダメージという発想力もすごいし、実現させる行動力もすごい。
  • これまでゲームでは新しい発想でしか驚きを産まないと思っていたが、Fallout3 を遊んで、文化の違いが驚きを生むということを知った
    • 行殺スピリッツは、日本人のオタクだからこの程度の衝撃だったが、例えばアメリカ人から見たら「なんだこれは!」というレベルだろう。
  • ゲームは遊び始めた瞬間から輝きが失われる
  • 自分にとって、すごいゲームは超新星のごとく輝いてるけど、数年たてばただの白色矮星になっているだろう。
  • モチベーションを保つには未知の文化へ踏み出す勇気が大切

パネルディスカッション

パネルディスカッションはメモできなかったんで割愛します。