0521078-20090202

FlashやC++言語による
各種「ゲーム」の制作
-Webデザインコンテスト参加作品(2007/2008)-
北海道情報大学 情報メディア学部
情報メディア学科 新井山ゼミ
0521078 綾部 豊
発表内容
•
•
•
•
研究概要および目的
ゼミでの活動記録
作品紹介
評価・考察
研究概要
• ゼミでの主な活動
– プログラミングに関する学習と能力の向上
• 活動過程で様々な作品を制作
• 主な活動記録と作品の紹介
研究/制作目的
• プログラミング能力の向上を目指して学習
• 各種作品(ほぼゲーム)制作
• 2007年度
– “Action Script”による制作活動
– Flashコンテンツの作成
• 2008年度
– 「C++言語」による制作活動
活動記録
• 2007/02~2007/05
– “Dream Room”制作
– ゼミ配属の時点で制作に着手
• 2007/04~2007/05
– 「数独解析」制作
• 2007/06~2007/07
– “black ROOM”制作
活動記録
• 2007/10~2007/11
– 「簡易カート・ゲーム」制作
– Webデザインコンテスト出展も受賞なし
• 2007/09~2007/12
– “TETRIS”制作
• 2007/12~2007/01
– 「C++言語」習得
活動記録
• 2008/01~2008/02
– 「三色銅鑼銅鑼」制作
• 2008/10
– Webページ追加,“Dream Room”製作,
Webデザインコンテスト出展,佳作受賞
• 2008/04~2008/12
– 「100Round ~百戦錬磨~」制作
開発成果
• Dream Room
– Flashコンテンツ
– アドベンチャー・ゲーム
• とある部屋からの脱出を目的としたゲーム
• ゲームの舞台・・・モデルは自分の部屋
• 数独解析
– HTML, Java Script
– 数独(ナンプレ)問題の自動求解ソフト
• 問題により求解時間を浪費・・・改良余地は多々
開発成果
• black ROOM
– Flashコンテンツ
– アドベンチャー・ゲーム
• “Dream Room”同様の部屋から脱出するゲーム
• 非常に簡素な内容
• ワイヤー・フレームを意識・・・背景が黒のみ
⇒名前の由来
• 簡易カート・ゲーム
– Flashコンテンツ
• タイムアタック専用レースゲーム
開発成果
• TETRIS
– Flashコンテンツ
– パズルゲーム
• 「テトリス」にオリジナル要素を加えた作品
• リプレイ機能と対戦モードあり
• 三色銅鑼銅鑼
– 実行形式ファイル
– パズルゲーム
• 一度に大量のパネルの色を置換
• 同じ色が3つ並べばパネルが消滅
• 他のゲームではありえないほどの異常な連鎖反応
開発成果
• 100Round ~百戦錬磨~
– 実行形式ファイル
– RPGゲーム
• シナリオはなく、ひたすら戦闘を繰り返すRPG
• 1戦行うごとに敵・味方双方がレベル・アップ
– 能力値・・・「生命力」の存在
• ヒット・ポイントとは別/ 「気絶」・・・死亡とは別の概念
– 種類が細分化された装備品
• 装備位置が重複しない限り,無制限に装備可能
評価
• 新たなプログラム言語の習得
– 当初は“Action Script”のみ研究対象に
– 2008年度・・・「C++言語」習得
• 技能向上
– 無駄のないソースコードの組み立て
– 配列だけでなく,構造体なども利用
– ソースコード作成をテンプレート化
• 作業効率向上
考察
• 「C++言語」の習得
– 「C++言語」
• 商用にて高汎用なプログラム言語
• より実践的な技能の習得を目標に
– 作成手順のテンプレート化⇒作業効率向上
• “TETRIS”制作過程
– 構造体に関する知識向上
今後の課題
• ソースコード作成手順の効率化
– 仕様書の作成段階
– 必要な関数などを十分に考慮した書き出し など
• ソースコードの簡素化
– 煩雑な部分も散見⇒改良の余地あり
• さらなる知識と技能の習得
– 通信機能を利用したプログラミング
– アセンブラ など
参考文献
• HAKUHIN's home page -Flashゲーム講座-
– http://hakuhin.hp.infoseek.co.jp/
“Action Script”関数を厳選,使用方法,
関連する各種アルゴリズムを詳しく解説
• C言語 ~ゲームプログラミングの館~
– http://l.huu.cc/g/
「C++言語」導入,出力に関するプログラムなど紹介
• DXライブラリ置き場 HOME
– http://homepage2.nifty.com/natupaji/DxLib/
「C++言語」のライブラリ関数の使用方法を紹介