9 作品づくり

部[作品づくりプロジェクト]では,Squeakを使って,オリジナル作品を作るプロジェクトに挑戦します. まずは,どんな作品を作るかを考える「企画」からスタートです.次に画面の移り変わりや, 作品に登場するキャラクターの動きを決めます.この作業を「仕様」を作成するといいます. 作るべきものが決まったら,作る順番や役割分担を「スケジューリング」します. スケジュールに従って,タイルを組み立ててスクリプト作っていく「実装」に入ります.

プログラミングに関するキーワード

Squeakに関するキーワード

なし

9.1 作品作りのプロセス

M先生
さて,いよいよオリジナルの作品作りに挑戦しようか.
Tさん
先生,作品とは何ですか?
M先生
Squeakでは色々な作品を作ることができる.ゲームやシミュレーション, ユーザの操作に反応する絵本みたいなものも作れるね.
Sくん
色々できますね.
M先生
では,作品をどのような手順で作っていったら良いのかを紹介するよ. 丁度よいから,SくんとTさんで協力して1つの作品を作ってみたらどうだい?
Tさん
は,はい...
Sくん
えー,そんなに嫌がるなよー.
M先生
まずは大まかにどのような手順で作品を作っていったらよいかを紹介しよう. 作品を作る作業の流れは以下のようになる.

  1. 企画の立案
  2. 仕様の作成
  3. スケジューリング
  4. 実装
  5. プレゼンテーションと評価
  6. 報告書の作成

M先生
このプロジェクトでは4つめの「 実装 」までを紹介しよう. 「プレゼンテーションと評価」,「報告書の作成」については次のプロジェクトで解説するね.
Sくん
分かりました.
M先生
実装までの各作業で,どのような 成果物 ができるのかも整理しておこう.
Sくん
先生,成果物ってなんですか?
M先生
作業をすると出来る「もの」のことだよ.一覧表を書いたので,見てくれたまえ.

作業 成果物
 企画の立案   企画書 
 仕様の作成   仕様書 
 スケジューリング   作業手順書・スケジュール表 
 実装   作品 

Sくん
なるほど,「実装」まで終わると作品ができるんだ.
Tさん
企画書,仕様書,作業手順書・スケジュール表は全て文書ですね.
M先生
そうだね.これから,1つずつ作業を解説していこう.

9.2 企画の立案

M先生
まずは「 企画 の立案」だ. なにより先に,どんな作品を作るかを決めないといけないということだね. どんな作品を作るかを書いたものが「 企画書 」だ.
Tさん
はい.これはSくんと相談しながら決めればよいですね.
M先生
この段階では,完成する作品の大まかなイメージを共有することが大事だ. 細かいことはこの次の「 仕様 の作成」で考えればいい.
Sくん
作品のコンセプトを決めるってことですね.
M先生
そのとおり.
Tさん
具体的にはどんなことを考えればよいのでしょうか?
M先生
企画書を作るためのテンプレートを紹介しよう.大体以下のようなことを決めればOKだよ.

  1. タイトル・キャッチコピー

    タイトルが長くなるなら,キャッチコピーを付けてタイトルを短くする方法もある.

  2. 作者・作成日

    グループの場合は,全員を記入しておくこと.(所属なども忘れずに)

  3. 概要

    作品の概略を100〜200文字で書く.箇条書きでもよい.

  4. 対象

    作品を鑑賞したり,ゲームをプレイしたりするユーザをなるべく詳しく書く.(対象年齢など)

  5. 画面イメージ

    手書きでも良いが,スキャンして張り付けること.

M先生
これに加えて,作成者や日付なんかも入れておくとよいかな.
Sくん
はい.じゃあ,Tさんと相談してみます.

1時間後.....

Sくん
先生,できました.

Tさん
今回は「金魚すくい」を題材にしたゲームを作ろうと思います.
M先生
よーし.大体いいね.企画書の仕上がりをチェックするときのポイントを簡単に整理しておいたよ.

M先生
タイトルやキャッチコピーに関しては,個人のセンスもあるから,一概に良い悪いは言えないね.
Sくん
分かりました.
No. 8-1 やってみよう!

作りたい作品を決めて,企画書を書きましょう.



9.3 仕様の作成

M先生
次は,「 仕様 」を作成しよう.
Sくん
先生,仕様とは何ですか?
M先生
企画書だけで,作品を完成させることはできるかい?
Sくん
大体の内容は分かりますが,細かいところでTさんの考えているものと違うかもしれませんね.
Tさん
そうですね.例えば「金魚がどのように動くのか」とかは,企画書だけからは分かりません.
M先生
ゲーム全体の流れと,登場するキャラクターの外見や動きを少し細かく考えることが必要になるだろう. この作業を「仕様の作成」と呼ぶんだ. 仕様を記述したものが「 仕様書 」だね.
Sくん
なるほど.仕様に関しては,テンプレートはありますか?
M先生
作る作品や登場するキャラクターによって一概に決められないので,テンプレートは自由に記述ができるものを用意しておいた. 工夫して書いてみてくれたまえ.

Sくん
はい.がんばります.

3時間後.....

Tさん
先生,仕様書ができました. ゲームの流れ図 も書いてみました.

M先生
結構時間のかかる作業だろう?仕様書をチェックするときのポイントを簡単に整理しておいたよ.

M先生
ただ細かく書けばよいというものではなく,ポイントを抑えた記述ができているかが重要だよ.
No. 8-2 やってみよう!

作品の仕様書を書きましょう.



9.4 スケジューリング

Sくん
いよいよ作りはじめですか?
M先生
あとちょっとだ.次は「 スケジューリング 」をしよう.
Tさん
具体的にどんなことを考える必要がありますか?
M先生
大体次の3点だと思えばよい.

  1. 何をどのような手順で作るか?
  2. どのくらいの期間で作るか?
  3. 誰がつくるか?

Sくん
1人で作品を作る場合は,3番目はいりませんね.
M先生
まあ,そういうことになるけど,1番目と2番目は1人で作品作りをする場合でも重要だよ.
Sくん
何をどのような手順で作るのかについては,どんな事を書けばいいんですか?
M先生
どのような順番で作品作りを進めていけばいいかを考えて,作業を分解していくとよい. ポイントは,ゲームの中心となる部分をなるべく早い段階で作ってしまうことかな. 時間が余ったらやりたいことは後の方に回しておけばよい.
Tさん
優先順位を考えるってことですね.
M先生
あとは,テストが簡単に出来るかについても考える必要がある.スタートボタンやリセットボタンをはやめに作っておけば, テストが楽になるよね.
Sくん
なるほど.
M先生
また.スケジュールの大きな区切り目にチェックポイントを設けておくとよい.これを「 マイルストーン 」という.
Sくん
なぜそのようなものが必要なのですか?
M先生
作業を進めていくうちに,順調に進んでいるかをチェックする必要があるよね. マイルストーンが立っていれば,そのチェックがやりやすくなる.また,計画を立てるときにはマイルストーンから決めるとやりやすい.
Tさん
例えば?
M先生
そうだね.締切りから逆算してスケジュールを立てるなら,締切りの1日前には完成しておきたいと考える. そうすると,「ひとまず完成」というマイルストーンは締切り日の一日前になるね. そうやってどんどん逆算していけば,ある程度のスケジュールの骨組みはできるだろ?
Sくん
なるほど.
M先生
あとは分担を決めよう.作業手順が決まれば,同時平行で進められる作業が分かるので, 分担を決めるのも楽なはずだよ.

1時間後.....

Sくん
先生,できました.
Tさん
作業手順書はこうなりました.

1. オブジェクトの描画

	1.1 水槽の絵を描く
	1.2 金魚の絵を描く(アニメーション用に2種類用意する)
	1.3 ポイの絵を描く
	1.4 おけの絵を描く

2. プログラミング

	2.1. 金魚のスクリプト作成
		2.1.1 ひれを動かすアニメーションを作る
		2.1.2 金魚が泳ぐようにする
	
	2.2. スタート,リセットボタンの作成
		2.2.1 スタートボタンを押すと,ゲームが開始できるようにする
		2.2.2 リセットボタンを押すと,ゲームがリセットできるようにする
	
	2.3. ポイのスクリプト作成
		2.3.1 ポイをマウスで動かせるようにする
		2.3.2 ポイをクリックで水に浸せるようにする
	
	2.4. 金魚をすくうスクリプト作成
		2.4.1 金魚をポイで捕まえられるようにする
		2.4.2 ポイを使っておけに金魚を入れるようにする
		
	2.5. 耐久度バーのスクリプト作成
		2.5.1 耐久度を表示するバーを描く
		2.5.2 ポイが水に使っている時に耐久度を減らすようにする
		2.5.3 耐久度が0になるとポイが破けるようにする

Sくん
スケジュール表はこうです.真ん中に矢印が描いてある部分は二人で協力して作業する予定です.マイルストーンは3つ設定してみました. 図で「MS」と書いてあるのがそうです.

M先生
いいね.作業手順を考えるということは広い意味でのプログラミングだ. 運動会や演奏会で配られるスケジュールのことをプログラムっていうでしょ?じゃあ,ポイントを整理しておこう.

No. 8-3 やってみよう!

作品づくりの作業手順書とスケジュール表を作りましょう.



9.5 実装

M先生
あとは「 実装 」を計画通りに進めるだけだね.
Sくん
実装って何ですか?
M先生
Squeak上でタイルを組み合わせて,実際にプログラムを作る作業のことだよ.
Tさん
何か注意することはありますか?
M先生
仕様書を見ながら作っていくことになると思うけれど,難しくて実装に手間がかかりすぎる部分は, スケジュールも参考にしながら,簡素化する勇気も重要だね.
Sくん
人生あきらめが肝心ですよね.
M先生
あとは,実装で行き詰ったら,フローチャートを使ってプログラムを整理して理解してみるということかな. つまり,実装で行き詰ってしまったら, 設計 してみることが重要だね. 無理にフローチャートから書くことはないけれど,ずっとコンピュータに向かって作業をしていては行き詰ることもある.
Sくん
分かりました.
M先生
最後に,実際にかかった作業時間を記録しておくこと.最後の報告書を書くときに使うから.では,がんばってね.
No. 8-4 やってみよう!

作品を実装しましょう.