ゲーム制作講座 ©2005 エイバース

そもそもゲームとは何でしょうか。これが分かっていないと何も始まらないので、これを定義する事から始めましょう。なぜ定義しないといけないかというと、市販のゲームはグラフィックや音楽などが層となってゲームの本質を覆っていて、ゲームとは何かという事が分かり辛くなっているからです。

では定義しましょう。「ゲームとは、ユーザの入力とプログラムの出力のキャッチボールである。」ちょっと抽象的ですね。例えばブロック崩しであれば、 (1)ユーザのキー入力(コントローラのボタンを押す) (2)処理(それに応じてパットの移動など) (3)パソコンが今の状況を画面に出力(ユーザがそれを目で知覚する。) 、の三つが繰り返されています。つまり、キー入力に応じて何か処理をして、またユーザに返す、これがゲームなのです。

また、「ゲームの出力はルールによって決定される。」という定義がその上位に存在します。ブロック崩しであれば、ボールはパッドに当たると跳ね返る、などが当たります。先ほどの例であれば、処理の部分がこのルールに当たります。

では、ブロック崩しを「入出力」と「ルール」で「モデル化」してみましょう。 (1)ユーザのキー入力 (2)キー入力に応じてパッドの移動 (3)ボールの移動 (4)ボールがパッドか壁に当たると跳ね返る (5)ボールがブロックに当たると壊れる (6)パソコンが今の状況を出力 、この六つを繰り返すのがブロック崩しというゲームであると言えます。また、このように流れを記述した物を「モデル」と呼びます。

では、ゲームを作るとはどういう事なのか?それは、この「モデル」を作り、パソコンに分かる言葉に「翻訳」するという事です。これこそがゲーム作りの本質、「プログラミング」という作業なのです。

3.ゲーム制作の本質、プログラミング

では、先ほど組み立てたモデルをパソコンに分かる言葉に翻訳するために、「プログラミング」という作業を実際にしてみましょう。この講座では、パソコンに分かる言葉(コトバ)として、HSPという言語(ゲンゴ)を使います。HSPはここからダウンロードして、インストールして下さい。

ちなみにプロの世界では、主にC言語という物が使われています。じゃぁ、最初からそれを使えばいいのではないか?、と思われるかもしれません。ですが、C言語の場合、実際にゲームを作るまでの間に、「ライブラリの作成」という別のステップが入ります。何故かというと、C言語は何でも作れるように作られているため、(OSすらもC言語で作られています。)ゲームに使うには特別のチューニングが必要なのです。それがライブラリの作成という作業なのですが、残念ながらそれはゲーム制作の本質ではありません。ですので、ここではより簡単なHSPをお勧めしているのです。HSPだと、「モデル」から直感的に「パソコン語」に変換できます。もっと言えば、頭の中で「モデル」を組み立てながら、直接「パソコン語」を入力できるのです。とはいえ、プログラミングのルールは、どの言語もそんなに変わらず、方言程度の違いでしかありません。HSPを勉強する事は決してムダでは無く、HSPをマスターすればC言語も数週間で覚えられる事はお約束します。心配せず、HSPでプログラミングを勉強してみて下さい。

では、
 ・ユーザのキー入力
 ・キー入力に応じてパッドの移動
 ・ボールの移動
 ・ボールがパッドか壁に当たると跳ね返る
 ・ボールがブロックに当たると壊れる
 ・パソコンが今の状況を出力
というモデルを実際にプログラミングしてみます。

そうすると、

;初期化
*initialize
screen 0,200,200,0 ;ウィンドウの作成
x=100:y=80 ;ボールの位置初期化
vx=1:vy=1 ;ボールの速度初期化
px=100:py=160 ;パッドの位置初期化
dim block,8,4 ;ブロックの初期化
repeat 8,0 ;ブロックを、存在する状態に設定
cnt_x=cnt
repeat 4,0
cnt_y=cnt
block.cnt_x.cnt_y=1
loop
loop

;モデル部分
*model
;[ユーザのキー入力]
getkey left,37 ;左が押されると、leftに1が入る
getkey right,39 ;右が押されると、rightに1が入る
;[キー入力に応じてパッドの移動]
if left==1 :px-=4 ;左が押された場合パッドの位置を左に移動
if right==1 :px+=4 ;右が押された場合パッドの位置を右に移動
;[ボールの移動]
x+=vx ;ボールの位置を移動
y+=vy ;(位置に速度を加える)
;[ボールがパッドか壁に当たると跳ね返る]
if (x>=(px-20))&&(x<=(px+20))&&(y>=(py-5))&&(y<=(py+5)){
if vy>0 :vy=vy*-1 ;ボールがパッドに当たった場合、ボールのY速度反転
}
if x<0 :if vx<0 :vx=vx*-1 ;左の壁に当たった場合、ボールのX速度反転(跳ね返る)
if x>200 :if vx>0 :vx=vx*-1 ;右の壁に当たった場合、ボールのX速度反転
if y<0 :if vy<0 :vy=vy*-1 ;上の壁に当たった場合、ボールのY速度反転
if y>200 :goto *initialize ;下に行った場合、ゲームオーバー
;[ボールがブロックに当たると壊れる]
if (x>=20)&&(x<180)&&(y>=20)&&(y<60) :{
cnt_x=(x-20)/20 ;ボールの位置に対応した、ブロックの番号を求める
cnt_y=(y-20)/10
;ブロックが存在したら、ブロックを消し、ボールのY速度反転
if (cnt_x>=0)&&(cnt_x<8)&&(cnt_y>=0)&&(cnt_y<4) :if block.cnt_x.cnt_y==1 :block.cnt_x.cnt_y=0:vy=vy*-1
}
;[パソコンが今の状況を出力]
redraw 0 ;ここから画面更新スタート
color 0,0,0:boxf ;画面を黒で初期化
color 255,255,255 ;色を白に設定
boxf x-1,y-1,x+1,y+1 ;ボールを描く
boxf px-20,py-5,px+20,py+5 ;パッドを描く
repeat 8,0 ;ブロックを描く
cnt_x=cnt
repeat 4,0
cnt_y=cnt
if block.cnt_x.cnt_y==1 :boxf cnt_x*20+20,cnt_y*10+20,cnt_x*20+20+20,cnt_y*10+10+20
loop
loop
redraw 1 ;画面更新終了

;繰り返し
wait 1 ;少し時間を置く
goto *model ;繰り返し

のようになります。ちょっと見づらいですね。ソースはここからダウンロードできるようにしましたので、ダウンロードして、実際にHSPで実行してみて下さい。

実行すると、

こんな画面になります。

内容にはコメントを付けました。実際、「モデル」をプログラムで組むことで、「ゲーム」が出来上がっている事が分かると思います。

では、少し解説をします。パッドの位置とボールの位置は、x,yなどという「変数」という物に入っています。「変数」というのは、値を保存しておける箱のような物です。その「変数」に位置を入れておいて、パッドを描く時には、その値の位置に図形を描けばいいわけです。また、その値に数を加えてやる事で、物体を動かす事ができます。

ボールの動きの制御には、vx,vyというボールの速度を表す「変数」を使用しています。そして、毎回ボールの位置に、その速度を足しているわけです。つまり、速度という変数で、ボールの動いている向きを表現しているわけですね。よって、速度を反転してやれば、ボールの動く向きを変えてやる事ができます。

ブロックの表現は、少し難しいですが、「二次元配列」という物を使用しています。これは、表のような物で、表の各要素に値を保存しておく事ができます。今回は、dim block,8,4と、8列4行の配列を宣言しています。つまり、





























こういう表を作成したわけです。そして、この表の中のそれぞれの値が、その位置のブロックが存在しているかを表しています。ゲーム開始時は、全てのブロックが存在していますから、
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1

こういう表であるべきです。そこで、dimの下のrepeat以下の部分で、ループを回して、全て1に設定しています。repeat命令は、このように、ある特定の回数、ある処理を繰り返すのに使います。ちなみに、この表のx列y行目の値が欲しいときは、block.x.yとすればOKです。で、ゲーム中では、壊したい所で、壊したいブロックの値を0に設定してやればOKです。
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 0 1 1 1


ブロックは、この表の1の部分だけ描画しているので、0を設定すれば、自動的にブロックが壊れます。

プログラム中の*で始まる部分はラベルといいます。その位置に名前を付けておいて、「goto ラベル」とする事で、その位置にジャンプする事ができます。

大体HSPの使い方や役割は分かりましたか?後は、書籍を購入したり、WEBサイトを見たりして、HSPを勉強してみて下さい。

4.人はより綺麗な物を好む

ここまで読み進めていただけると、ゲームの本質はプログラミングであり、絵や音はそれを装飾する物に過ぎない事が分かっていただけるかと思います。ですが、人間はそれが本質では無いと知っていても、より綺麗な物を望みます。たとえ機能は同じ携帯電話でも、より見た目の良い機種に興味を惹かれますよね。ゲームも同じで、同じルールでも、より見た目の良い物を好む傾向があります。

そこで、より見た目の良い物にするために、絵や音という「素材」を使います。ブロック崩しの例であれば、背景に画像を入れたりする事ができます。また、BGMとして音楽を入れる事もできますね。

ちなみに、2Dのゲームでは以下のような「素材」を使います。
 ・ドット絵
 ・一枚絵
 ・音楽
 ・効果音

ドット絵というのは、点を使って描いた絵です。主に、ゲーム中のキャラクタやオブジェクト(物)に使用します。

これは、RUINATERRAのキャラクタですが、よく見ると点で構成されているのが分かると思います。Abarsでは、主にIDrawというエディタでこのドット絵を作成しています。HSPでこのドット絵を使用する場合は、まず、buffer命令で裏画面(見えない画面)を作成し、picload命令でそこにドット絵の画像を読み込んでおきます。そして、ゲームループ(モデル部分)で、gcopy命令によって読み込んでおいた画像を表画面(見える画面)に転送します。パラパラアニメの要領で、時間に応じて絵を変えてやる事で、アニメーションもできます。

一枚絵というのは、普通に描いた絵です。ゲームの背景やタイトル画面、ゲーム中の立ち絵などに使います。

作成方法は色々あって、主には、
 ・紙に描いた物を、スキャナで取り込む。
 ・タブレット(マウス)を使って、パソコンで直接描く。
 ・紙に下書きを描き、パソコンで塗る。
の3パターンです。パソコンで描く場合、使うソフトとしてはPhotoShopやPainterが有名ですね。これらはプロでも使われており、操作に慣れておく事は有益であると言えます。ただ、メジャーバージョン(7とか8とか)は非常に高価なので、初めは、その安価版であるPhotoshopElementsなどを購入し、使うといいと思います。

音楽。ゲームで使うのであれば、MIDIかWMAになると思います。MIDIというのは、楽譜です。いつ、どの楽器を鳴らすのかが書かれていて、パソコンがそれを解釈して演奏します。利点はファイルサイズが小さい事です。ただ、音質は音を鳴らす機械(MIDI音源)に依存していて、環境ごとに音が変わってしまうというのが欠点ですね。MIDIは、MIDI建設というソフトで作成する事ができます。楽譜が読めなくても、直感的に使えるのでオススメです。WMAというのは、音楽を波形で表し、圧縮して保存した物です。他にMP3などがありますが、MP3は正規で使用するには使用料が必要なので、避けました。利点は、CDなどと同じように、作ったままの音楽を流せる事です。欠点は、作成が難しい、ファイルサイズが大きくなる、などですね。作成には、ACIDなどのオーディオシーケンサを使う方法と、MIDIを作成し、MIDI音源からの音を録音するという方法があります。ただ、どちらもやや専門的な知識が必要になると思います。ちなみにAbarsでは、RUINATERRAまではMIDIで、ATULADOからはWMAを使用しています。

効果音。敵を攻撃した時のHIT音や、決定した時になる音などです。これは、WAVEという形式です。作成には、WAVE建設を使います。これも、直感的に効果音が作成できてオススメですよ。

5.ゲームを作る上で大切な事

先ほど述べた方法で、ゲームは装飾する事ができます。ところで、初めに述べたように、ゲームの基本はあくまで「入力と出力のキャッチボール」です。それを踏まえたうえで素材を使うと、より良いゲームとなります。というか最近は、技術の蓄積と産業規模の増大によるゲームの質の向上が顕著で、これを踏まえているのは当たり前と思われているかもしれませんね。

さて、では何が大切なのか。ゲームが入力と出力で成り立っているという事は、ユーザは何かを期待して入力している訳です。ですので、それが先の展開へ影響するとしても、ともあれゲームは「入力を受け付けた」という趣旨の出力をするべきです。どんな細かい事でも、ユーザの入力に対しては効果音であれ映像であれ、出力を返す。これが大切です。ボタンを押しても、ゲーム内だけで変化が起こって、画面に反映されなかったらつまらないですよね。これは大げさな例ですが、ゲーム内どこでも細かい部分でも、ユーザの入力に対しては必ず出力を返すようにしましょう。

また、ユーザの入力に対して、期待した以上の出力を返す事も重要です。10円入れて、100円のジュースが出てくると嬉しいですよね。そんな感じで、敵を倒したときに過剰なエフェクトをかける。そうすると、ユーザはより達成感が得られると思います。ただ、注意しないといけないのはユーザの慣れです。というのも、先ほどの例でも、10円の状態がずっと続くと、ユーザはジュースの値段を10円と認識するようになってしまいます。所々、エフェクトを押さえる部分も作って、インフレ(過剰供給)を押さえるのも重要ですね。起承転結。ゲームのステージ作りにもこれを心がけましょう。

後、作り始めたゲームは絶対完成させる事が大切です。確かに、HSPで開発を始めて、途中でC言語を学んでしまうと、今作っているのを止めて、C言語で新しい開発をしたくなるのも分かります。ですが、スキルアップ以上に、一本の作品を完成させる事は大切なのです。たとえどんな凄い技術を持っていても、ゲームとして完成しなければまったく意味はありません。作品として完成させる、やり遂げるという事は、とにかく大切なのです。そのためには、まずは短期間で作れるジャンルを選ぶ、完成のメドが立つまではHPで情報を公開しない、体験版を公開しない、という事を守りましょう。ユーザの期待は、プレッシャーとしてあなたに襲い掛かってしまいますよ。

6.情報検索技術

情報というのは価値のある物です。シャノンの情報理論によると、情報の価値は確率の逆数で定義されます。つまり、レア(知られていない)な情報ほど価値があるわけです。かつて情報は、図書館や本、人からしか得られず、貴重な物でした。しかし今はWEB(インターネットのホームページ)があります。インターネットの出現により、何でも知りたい事が調べられるようになったのです。

情報を検索するには、Googleという検索エンジンを使用します。使い方は簡単で、ここに調べたい事を入力するだけです。スペースで区切ると、「両方満たす」という条件で検索する事もできます。具体的には、「HSP 講座」で検索すると、HSPの講座が検索できる訳ですね。特にGoogleをオススメしている訳は、検索の精度が一番いいからです。Googleは、リンク情報を解析し、「よいページは多くのページからリンクされる」という原則に従って、ページをランク分けしています。そして、よりよいページほど上位に表示するようになっているのです。特に最近は、検索エンジンビジネスの競争が激化し、検索の質はどんどん向上しています。僕等はその恩恵に授かって、分からない事は人に聞く前にどんどん検索しましょう。

ちなみに、今インターネットを使える環境の人というのは、先進国の人が9割以上を占めています。そして、インターネットを使える環境の人と使えない環境の人の情報格差が問題となっています。つまり、「持てる者と持てない者」と言われるぐらい、WEBの情報は重要であるといえます。幸い私達はそれを持てているわけですので、できる限り活用するべきですね。

7.共同制作での心得

プログラミングの技術が向上してきて、ゲームの規模が大きくなってくると、複数人で共同制作をする機会が訪れると思います。その際、以下の事に注意しておくと、よりスムーズに作業が進むと思います。
 ・ゲーム全体で必要な素材の量を把握してから、素材を発注する。
 ・素材を発注した以上、その素材はゲーム中で使う。仕様変更による作り直し要求はできるだけ避ける。
 ・素材が上がってきたら、必ずそれに対するコメントを返す。
 ・締め切りは必ず守る。
 ・最も作業量が多い人が仕切るのがベスト。実作業を伴わない人にあれこれ言われたくはない。
 ・できるだけ少人数で制作を行う。人数が多いと、人間関係のトラブルが起きやすいし、責任の所在が分からなくなる。
 ・スタッフは、オフラインのリアル友達が望ましい。何本か制作し、力があるなら、オンラインでも大丈夫。

後、共同制作においては、自分のやる気を意地する事も大切です。そのためには、以下のような事が効果的です。
 ・やる事リストを作る(素材が来るまでやる事が無いという自分への言い訳を回避するためです。)
 ・テストプレイをして、直したい所や思いついた所はメモを取る(人間の記憶力なんてたかが知れています。)
 ・ゲームをする(いいゲームをすると、やる気が出ます。特にグラフィックの綺麗なアクション、壮大なRPG。)
 ・音楽を聴く(CDを買う。ユーロビートなどで、ムリヤリテンションを上げるのもオススメです。やりすぎると倒れますが。)
 ・とにかく始めてみる(何はともあれ、やる気が無くても実際にプログラミングを始めれば、楽しくなってくるものです。)

さらにやる気という面では、いい映画、特にサクセスストーリー系の映画を見るという手もあります。オススメは「コマーシャル・マン」。特に広告業界やデザイン系などのクリエイティブな仕事でのサクセスストーリーはやる気が出ますよ。自分も何かやらなきゃ!と思わせる力があります。

8.ビジネスに発展させる方法


ゲームを作成する事と、収入とを結び付けるには、いくつかの方法があります。
 ・ホームページに広告を置く
 ・シェアウェアとして販売する
 ・パッケージソフトとして販売する
 ・企業とタイアップする
 ・雑誌の連載を持つ

ホームページに広告を置くのは、一番簡単な収入獲得方法です。ノーリスクで、なおかつユーザも無料でゲームが遊べます。ただ、ハイリスク・ハイリターン、ローリスク・ローリターンが市場原理なので、得られる収入は少ないです。Abars規模で、一日1000hit程度で、月約600〜1000円という所でしょうか。広告の貼り方によっては、まだ上昇させる事はできると思います。ただ、Abarsのブランドイメージを育てる事を考えるとあまり貼りすぎない方が将来的に有益だと考え、こんな感じになっています。広告は、以下のサイトに登録する事で貼る事ができます。



シェアウェアとして販売するのは、在庫を持たなくていいのでリスクが少ないという利点があります。ただ、携帯と違ってまだまだビジネスモデルが確立しておらず、ユーザにもパッケージの所有欲があるので、あまり売り上げは望めません。パッケージソフトのオンライン販売という形で、パッケージと併用して販売するのがベストだと思います。

パッケージソフトとして販売するのが、既にプロが使うビジネスモデルとして確立しているので、最も収入は多くなります。その分、在庫リスクがあるのと、プロクオリティが要求されるという壁はあります。ちなみに、パッケージソフトとしての販売も、リスクに応じて以下のような形態があります。
 ・自社販売
 ・委託販売
 ・同人販売

自社販売は自分でパッケージまで作成し、流通業者に直接卸す方法です。新規参入の場合は、よっぽど、これは売れると思わせなければなりません。直接、業者に営業をかけるわけですね。ただ、流通業者は個人とは取引しない場合が多いので、法人を設立しないといけないという問題はあります。法人を設立すると、記帳義務や、決済義務が生じますので、なかなか難しい所です。

委託販売は、ソフトを持ち込んで、業者にパッケージ化と販売をしてもらう方法です。PC用の低価格シリーズや、100円ショップのゲームなど、一般からゲームを募集しているので、クオリティさえあれば比較的簡単にパッケージ化が可能です。ただ、リスクが低い分利益は低く、100円ゲームに至っては一枚5円程度の利益しか出ません。

同人販売は、もっとも注目できる市場です。最近は、同人ショップも増えてきており、個人で流通に流せる事のメリットは計り知れません。もっとも適度なリスクとリターンのバランスが取れていると思います。具体的には、自分でパッケージを作成し、WEBで宣伝し、コミケで売り、同人ショップに卸すという形になります。ちなみに、CD1000枚の原価は16万、一枚1260円で販売すれば、取り分一枚840円、全部売れれば68万円の利益となります。

企業とタイアップする。これは、今の時代は難しいかもしれませんが、後何年後かには増えてきているかもしれません。具体的には、企業のサイトにパスワードのような物を仕込んでおき、企業のサイトを読んだあとにしかゲームをできないようになっていたり、特定のプロバイダーに加入したときのサービスとしてのゲームを提供したりします。もっとインターネットが普及して、テレビCMの効果が低下していくと、どの企業も自社のホームページのアクセスアップに必死になるので、そのアクセスアップのための飴的なコンテンツとして、ゲームは有用かと思います。収入は、その企業から広告料として頂く形になりますね。この場合、自らが積極的に企業に売り込むといいと思います。

雑誌の連載を持つ。今のAbarsはこの形ですね。フリーウェアの世界で有名になると、「雑誌連載用のゲームを作ってくれませんか?」というような依頼が来ます。そして、その雑誌専用のゲームを作り、その雑誌のCDにゲームを収録します。連載期間は約6ヶ月です。ユーザは、そのゲームを遊ぶためにその雑誌を買う事になります。その結果、雑誌の売り上げが増え、その利益からゲーム制作代が出るわけですね。ちなみに、Abarsが連載させていただいている「TECH Win」では、コンテンツ強化という事で、幅広く人材を募集しています。一度、自分を売り込んでみるのもいいと思います。また、結構収入もいいし、権利は制作者が持っているので、連載終了後に販売する事もできます。とにかくメリットが多く、一押しです。

9.資産の運用

さて、自分の作ったゲームから、上記のような手段で利益を得たとしましょう。次に、そのお金をどう使いますか?ぱぁっと使ってします?それもいいでしょう。自分の稼いだお金です。ただ、せっかくできた資産です。どうせなら、運用してさらに増やしてみませんか?

今の世の中は資本主義です。そして、資本主義の世の中では、お金持ちはどんどんお金持ちになっていきます。何故か。それは簡単で、法律を作る政治家のバックにお金持ちがいるからです。政治の世界でも、お金の力は大きく、より多く資金を集められる政治家ほど、上位のポストに着けるのです。じゃぁ、どこから資金を集めるのか。それは、バックにいるお金持ちです。会社社長とか。となると、お金持ちに嫌われるような法律は作れません。だから、消費税が上がって、所得税が下がるのです。

つまり何がいいたいかというと、お金があれば、それを増やすのは容易いという事です。法律は、お金に有利に作られていますので。せっかくできた資産、どうせなら増やしませんか?さらに、資産>投資>儲けたお金をさらに投資、と繰り返していけば、複利的にガンガン増えていきます。

さて、じゃぁ具体的にどのように資産を運用したらいいのか。簡単です。株を買いましょう。株は怖い?じゃぁ何で銀行は株で運用しているのでしょうか?国民年金も、郵便貯金も株で運用されているのですか?つまり、適切に使えば、株は利益を生むのです。そして、最高に失敗して倒産しても投資した金額が無くなるだけ。人生が終わるわけではありません。そもそも、倒産するような会社に投資する方が悪いのです。以下をチェックしておけばまず失敗しません。「チャートを見て、安値の時に買う」「財務状況を見て、有利子負債(借金)の無い会社を選ぶ」「配当金のある会社を選ぶ」これだけです。株価は常に変動しているので、安くなる時も高くなる時もあります。なので、潰れなければ、かならずいつか買値より高くなるのです。安くなっちゃったら、売らなければいい。いつ売るかはあなたが判断できるのですから。そして、ただ持っているだけでも毎年配当が入ってくるし、株主優待が優良な所は、五年も持っていれば元は取れます。こんなおいしい市場に参加しない方が損ですよ。

また、今後いつか、日本は絶対にインフレに振れます。国債残高はどんどん増えているので、いつかはお金を刷って、国債を処分しなければなりません。そうすると、インフレが起こり、物価が上昇します。その時、現金の価値は下がります。それは、物価が上昇するので、同じ物を買うのにも多数のお金が必要になってしまうからです。ですが株価は、インフレに負けずに上昇します。株も物なので、物価が上がれば株価も上がるのです。つまり、デフレな今に株を買っておけば、将来(いつになるかは分かりませんが)絶対に儲かるわけですね。

さらに、株は国が後押ししています。というのも、株はその国の経済水準を表します。経済大国たる日本が日本たるためには、株価が上昇してくれないと困るのです。政治家のバックのお金持ちも怒ってしまいます。なので、国は株価が下がらないように、上がるように、色々と細工をします。つまり、最初から儲けられるように設計されているのです。

どうでしょう、株を買いたくなりませんか?株を買うには、証券会社に口座を作る必要があります。オススメは、E*トレード証券です。これだけ安い手数料は、他になかなかありません。僕も使っていますよ。

ただ、せっかく得た利益を全部投資するのはオススメできません。得た利益の三分の一ぐらいは、ガガっと使ってしまいましょう。ゲームを買ってもいいし、服を買いあさってもいい。そうして自分にご褒美をあげないと、自分が何のために働いているのか分からなくなっちゃうので。やる気を出したり、リフレッシュするために、ある程度お金を使うのは大切ですね。オススメとしては、三分の一ずつ、「株」「現金」「消費」にしちゃえばいいと思います。

10.ブランドイメージ

ゲーム制作において、ブランドイメージなどという物は、最初は考えなくて良いと思います。というのも最初の、技術も自分のゲームの色も無い時は、ブランドイメージを考えてもしょうがないからです。この頃はとにかく、いっぱい作っていっぱい公開する、それを繰り返すべきです。ただ、ある程度成熟してきたならば、ユーザの期待を裏切らない事が大切です。

人の評価とは残酷なもので、この人の作るゲームは面白い!となっても、次の一本でも駄作があると、そのイメージは無くなってしまいます。ですので、出来る限り自分の納得のいく物を作って、納得のいかない物は公開しないか、別ブランドとして公開する、という事も必要になってきます。また、名前の変更も有効な手段です。最初は個人名でゲームを公開すると思いますが、個人名というものは思いの他覚えにくいものです。何かブランド名を決めて、その名前で公開したほうが、強くユーザの印象に残って、後々手を広げる時に、役立つと思います。後、ブランド名は覚えやすさが大切です。アルファベット表記も良いですが、ここは日本なので、カタカナ表記を中心に展開すると、より親しみやすくなると思います。

ブランドイメージを高めるには、まずかっこいいページ作りから。少数精鋭で自信のあるゲームのみを公開し、必要最低限のメニューに抑える。そうすれば、スタイリッシュなページが完成すると思います。さらに、独自ドメインを取ってみるのも手です。それだけでも、何か凄そうな印象を与えられますよ。ちなみに、独自ドメインを取るなら、ここがオススメです。年間たった一万円で、ドメイン&サーバーが手に入ります。これだけ安い所はなかなかありません。エイバースもここのサーバーを借りています。さらに、CGIも使えるし、容量も大きいしで、いい事尽くめです。特に今、ジオシティーズなどのフリーサービスでホームページを作っている方にもオススメします。というのも、ホームページの上部に広告が入るというのは、かなりデザインを崩してしまうのです。ですので、ただ有料サーバーに移っただけでもかなり見栄えが良くなると思いますよ。

ブランドという物の力は強力です。がんがん活用していきましょう。

11.ステップアップの仕方(ジャンル)

ゲームは、ジャンルによって、作る際の難易度が全然変わってきます。そこで、ジャンルごとの制作難易度を、表にしてみました。これを参考に、表の上のほうから順番に作っていけば、どんどんと作れる幅が広がっていって、素敵です。


低難度






高難度
簡単なアクションゲーム ブロック崩しとか、ワンキーゲームとか、つまりはミニゲームです。何より製作に時間がかからず、一週間もあれば完成するのが魅力です。とにかく形がある物を作って公開する。これが一番大事です。
テキストベースRPG 文字だけで進むRPGです。リアルタイム性の無いRPGであれば、意外と作るのは簡単です。製作に時間はかかりますが、その分難易度は低いので、完成する確立は高いです。
ダンジョン型RPG RPG製作で一番大変なのは、ダンジョン製作などのデータ製作部分です。そこで挫折する事が多いのであれば、そのデータ製作をコンピュータにやらせてしまおう、というのが今回の考え方です。つまり、ダンジョンを自動生成型にして、モンスターの能力値も方程式で決めちゃおうという事です。これならば、製作するのは作るのが楽しい部分だけですから、完成する可能性が高いです。
ADV ADVゲームでは、”スクリプト”というプログラムのような物(テキストファイル)を読み込んで、それを解釈して実行するプログラムを製作します。シナリオまでもプログラムに埋め込んでしまうと修正などがとても大変になるため、このような形のプログラムを製作します。どの程度のレベルまで作るか、によるのですが、変数などの無い単純な物なら、比較的低難易度で作れると思います。ちなみに、変数をサポートするためには、構文解析の知識が必要です。これは、再帰を使って式を解析する手法で、式を演算子などでどんどんニ分割していき、定数や変数になったら値を返し、帰納するのです。この辺りはやや難しい領域になるので、SCHEMEなどの言語で取得してみて下さい。
STG STGゲームには開発しやすい多くの理由があります。「敵キャラクターの画像が一方向だけで良く、さらにアニメーション数も少ない」「攻撃方法は弾だけで良い」「ゲームのルールがシンプル」「モデルが単純でプログラミングしやすい」など、特に、つまづきやすい点であるドットの手間が少なくてすむのは素晴らしいです。さらに、作りやすい分野ではあるものの、エフェクト、弾・キャラのオブジェクト化、弾幕生成エンジンなど、上を目指したければそれだけの事ができる点も魅力です。
横スクロールアクション 横スクロールアクションの一番の魅力は、キャラクターとして右向きの画像さえ用意すれば良い事です。見下ろし視点の場合は、上・右・下と、三方向分用意しないといけない訳で、それと比べれば格段に労力が少なくてすむ事が分かると思います。ただ、その分アニメーションパターンはどうしても多くなってしまう傾向はあります。プログラミングも、STGで一作完成させられるぐらいの技術があれば、難しい部分は無いです。
RPG RPGは、開発期間が長くなってしまうので、その分難易度が高くなってしまっています。というのも、プログラミングの一番楽しい部分はシステムの構築であり、その後の敵データの作成やダンジョンの作成は結構苦行でしかありません。RPGは、システム部分に比べてそのデータ作成部分が膨大で、途中で挫折しやすいのです。さらに、そのデータ作成作業を少しでも軽減するために、ダンジョンや敵の能力を簡単に設定するツールも作らなければなりません。つまり、ゲーム本編+RPGツクールを作らなければいけないわけで、なかなかに難易度は高いかと思います。ただ、人気のある分野であり、なおかつツクール製フリーウェアが氾濫している中で、オリジナルプログラムでテイルズっぽい戦闘を実現したRPGとかを投入できるのはかなり強く、有名になるには最適かもしれません。
3Dゲーム 3Dは何といってもモデリングが難しいです。ドット絵ならばクオリティを気にしなければある意味誰でも描けますが、3Dキャラクターのモデリングはなかなかそう簡単にいかないのです。また、製作におけるセオリーがまだ固まっていないというか、一般に公開されていないのも問題です。例えば、3Dキャラクターのモーションはどうやって表現するのか、当たり判定はどうやって判定するのか、マップはどうやって作るのか、など、重要な部分の情報があまり公開されていません。さらに、プログラミングにおいても、当たり判定や透視変換などをちゃんと理解しようとすれば、線形代数学の初等の知識は必須であり、また、三角関数など、とにかく高校三年〜大学一年程度の数学は必修です。以上のような理由で3Dはかなり難易度が高いです。ですので、まずは2Dから始めてみる事をオススメします。ちなみに最近は3D関係でもライブラリが整備されてきている傾向にあるので、もう少ししたら大分作りやすくなるかもしれません。エイバースもそろそろ3Dに移行しなきゃなー、とか考えています。

12.ステップアップの仕方(言語)

さて、HSPをマスターしたら、次に何をすればいいのでしょうか?僕としてはやはり、C言語を勉強するべきだと思います。以下に、その勉強順番を示しますね。

C言語 まずは、VisualC++を購入しましょう。実際、VisualStudioを購入してもCしか使わないので、単品で大丈夫だと思います。ただ、StandardEditionはコンパイラの最適化が使用できないので、できればProfessionalを購入しましょう。C言語を扱った書籍やWEBは多く存在しています。書籍では、「やさしいC」がオススメです。
EL

C言語を使えるようになっても、ウィンドウの作り方や画像の出し方が分かりませんよね。そこで、このELを使います。el.hをincludeすれば、それだけで画像やキー入力を扱える関数が使えます。また、ここでELをマスターしておけば、後々ライブラリを自作する時には、どのように作ればスマートかが経験として身についており、スムーズに行きます。
(残念ながらELの公式ページは閉鎖してしまいました。現在はこちらでダウンロードする事ができます。とはいえELには、
  ・ パックファイルから読み込んだ画像は復帰できない(フルスクリーンでALT+TABをした場合)
  ・カメラ位置の設定で、XとY座標には-をつけなければならない(Move関数にのみ。LookAtは通常)
  ・ 法線ベクトルを操作するには自分で関数を追加しなければならない(el4D::Objectクラスに)
という問題もあります。ですが、ELの何より素晴らしい所は、ヘッダファイル一つでライブラリが構築されている事です。ですので、今回のように公式サイトでのサポートが終了しても、自分で書き換えて、上記のような問題を全て解決する事ができます。ATULADOでは、640*480の解像度で起動した場合に、プログラムでは全て320*240で処理し、最後にビデオカードに画像を送る時に自動的に拡大するという処理も入れました。他のライブラリでは、作者が書き換えるまで待たなければなりませんが、ELではそんな事はありません。これは大きなメリットです。たとえ作者がサポートを止めてしまっても、ずっと使える事が保障されているわけですね。僕はまだしばらくはELメインで行くつもりです。とりあえずは次回作をお楽しみに。ELでフル3Dで、かなりの物を作って見せますよ。)

DirectX ELをマスターしたら、次は自分でELのような物を作る事を考えます。そのためには、DirectXを使って、画像を扱う関数を自分で書く必要があります。これは、「DirectX9実践プログラミング」を購入して勉強するといいでしょう。たとえ自分でライブラリを作らないとしても、これを学ぶことは大きな意義があります。DirectXの知識があればELを自由に書き換えて自分好みにカスタマイズできてしまうのですから。

13.プログラミング言語の種類

世の中には、多数のプログラミング言語が存在しています。それぞれの特徴を把握し、場面ごとに使い分けるのがベストですよ。

HSP エイチエスピーと読みます。おにたまさんが製作した言語で、簡単にウィンドウズで動くプログラムが作れます。

利点は以下です。
 ・簡単
 ・覚えやすい
 ・何もしなくてもウィンドウが作れる。

欠点は以下です。
 ・速度が遅い
 ・簡単な分、品質に疑問を持たれる
 ・長いプログラムを作るのは管理面からやや難しい

初心者には一番オススメです。昔のBASICのような存在で、僕もこれから入ったようなものです。
C言語 シーゲンゴと読みます。ベル研究所で開発された言語で、OSを書くために設計されているだけあって、何でも作れます。

利点は以下です。
 ・速度が高速
 ・プロも使っている
 ・ポインター、関数など、優れた概念が使える

欠点は以下です。
 ・難しい
 ・ウィンドウズ上で使うためにはウィンドウズ特有の関数(API)を多数覚えなくてはならず、
  ウィンドウを作るだけでも苦労する

HSPをマスターした後に、ぜひともマスターして欲しい言語です。
C++言語 シープラスプラスゲンゴやシープラプラと読みます。C言語に、クラスなどの概念を加えた言語です。プログラム言語は、単純>複雑>単純>複雑と進化していくと言われています。(例:C>C++>JAVA)そういうだけあって、C++はとても複雑な構造をしていて、とにかく何でもかんでも便利そうな機能がてんこ盛りになっています。ですので、本当に学ぼうと思ったら、かなり多くの事を学ぶ必要があります。ですが、ゲーム製作においては、クラスさえ使えれば、何とかなる気がします。とりあえずCをマスターし、C++言語のクラスを数日で覚えるぐらいでどうでしょうか。
JAVA ジャヴァと読みます。C++言語を単純化して、ネットワークやGUIを強化したような言語です。通常の言語ですと、コンパイルするとそのマシン専用の機械語を生成するのですが、この言語のコンパイラでは、”JAVA仮想コード”という物が生成されます。これは、”JAVA仮想マシン”というマシン用の機械語であり、メーカーがそのJAVA仮想マシンのエミュレータを各OS、CPU向けに製作する事で、どのマシン、どのCPUでも同じプログラムが動作します。ただ、その分、処理が一段多いわけであり、パフォーマンスは若干低くなっています。他、JAVAは標準ライブラリが充実していて、Cでは複雑なGUIのコントロールも簡単に行えます。最近では、携帯電話アプリのプログラミング環境として採用されて注目されています。ただ、僕はやっぱりハードウェアに近い(ポインタの使える)Cの方が好きですね。配列を構造として持っていて、配列オーバーにエラーが出てくれるのは嬉しいですが。
PERL パールと読みます。CGIを作るための言語で、掲示板や各種インターネット上のサービスはこれで書かれています。言語仕様はインタープリタ言語であり、扱う物もテキストベースなので、比較的簡単に習得できます。ルイナのロビーサーバーもこれで書かれています。既にインターネットの世界ではCGIは必須の技術です。なので、とりあえず簡単なBBSが作れる程度はマスターしておくべきだと思います。
BASIC ベーシックと読みます。昔、PC98の頃に主流だった言語です。この言語は、教育用の言語であり理解しやすく、また、インタープリタ言語のため簡単に作って簡単に実行する事ができました。昔からプログラミングをやっている人は、結構この言語から入った人が多いと思います。ちなみに、昔、マイコンBASICマガジンという雑誌がありました。その中に投稿ゲームのコーナーがあって、ゲーム制作者はBASICで作ったゲームを投稿、遊びたい人は乗っているソースコードを打ち込んで遊ぶ、というCDの無い時代のフリーウェアな世界が広がっていました。今のプログラマは、多分ほとんどの人がこの雑誌の購読者で、ソースコードを打ち込みまくった経験を持っているのではないかと思います。そして、次第に打ち込むだけでは無く、自分でゲームを作るようになっていったのです。いやー、素晴らしい、懐かしい。でも時代の流れとは残酷な物で、ゲームの複雑化とともに休刊になってしまいました。もはや永遠の思い出ですね。
SCHEME スキームと読みます。関数型と呼ばれるタイプのプログラミング言語で、一般にはあまり知られていないと思います。僕も、大学で初めて学びました。この言語は、再帰(関数内で自分自身を呼び出す)という技法を使う事を前提としています。再帰は、プログラミングの不思議というか、パズル的な物で、再帰を使うと一気にプログラムが単純になったり、再帰でしか成しえないような処理を行えたりします。例えば、オセロなどのCPUルーチン、迷路の探索、ぷよぷよなどのつながり判定、式の解析(10+5*4を文字列で与えて、30を得る)、などです。さらに、リスト構造に対する処理(リストの前後並び替え、クイックソートなど)は、全て再帰で単純に表現できる事が知られています。SCHEMEは、こういったプログラミングテクニックを効率的に学べる言語だと言えるでしょう。

14.高度なプログラミングテクニック

キーワード:遺伝的アルゴリズム、ベクトル空間モデル、エージェントシステム、パターン認識、ハフマン符号化(確率、エントロピーを利用した圧縮)、画像処理(二次元空間のフーリエ変換)、物理学による布の表現(Mass-Spring System)・・・

というか世の中数学です!線形代数学を幾何学と連携して勉強しましょう。内積を知らなければ三次元空間でのボールの反射もシミューレートできません。直交変換や擬似逆行列を知らなければ、周波数変換も理解できません。ちょっと変わった処理は、ほとんど内積です。画像の類似度検索だって、画像からベクトルを作って、内積をとってるだけです。音声も同じ。記事だって、単語に分解して、単語が出現する、しないでベクトルを作って、内積をとっているだけです。DCT、DST、FFT、解析的な事も代数なら楽に説明できます。というか、解析学は天才のための道具ですので、一般人や工学者は代数学を使うしかないのが現実です。解析学は代数学の上位クラスですねー。

周波数変換を学べば、音声や画像がもっと面白くなります。マクローリン展開もフーリエ変換も離散コサイン変換も、何かの足し合わせで物事を表現しようとしているわけですね。音声は、とっつきにくい印象がありますが、実は1次元で画像より楽です。WAVEファイルなんて、波形の高さが順番に入っているだけです。WAVEファイルは分からん!っと勝手に錯覚しないで、一度ファイルフォーマットを見てみたらいいですよ。

D/A変換、A/D変換も面白いです。わざと一度アナログに戻すことで、滑らかなズームとかができます。他、アナログに戻して、再びデジタル化するときのたたみ込み関数を工夫すれば、エッジを強調した拡大とかできます。フルーエンシとか言われてますけど。

CT、2Dから3D画像への復元。これは解析学的アプローチと代数的アプローチがありますが、代数的な方が分かりやすいです。連立方程式に落ちます。

パターン認識。というかクラスタリング。例えば顔のパーツ認識。顔の画像を8*8などで区切ってやって、それぞれでベクトルを作って、内積値でグルーピングします。後は、グルーピングされたベクトルの平均値を見て、顔のどのパーツか判断します。

適応的ローパスフィルタ。普通にローパスフィルタをかけると、輪郭までぼやけてしまうので、輪郭だと判断した所にはかけない手法です。輪郭かどうかの判断をどうするかが問題ですね。窓の取り方を色々かえる事で判断するのが一般的です。

15.ポジティブシンキング

ポジティブシンキングという考え方をご存知でしょうか?これは、どんな事でもプラスに考え、決してマイナスに考えないという考え方です。何か物事に失敗して、それを反省する事は確かに大切です。ですが、だからといって反省しすぎるのは、それがトラウマになってもダメだし、いくら考えても何も生まれませんし、失敗によって冒険心が無くなってもダメだし、あまりいい事はありません。さらに、一度ネガティブ(マイナス)に考え出すと、よの中は不思議なものでずっとマイナス方向に動いていってしまいます。ネガティブフィードバック(負の連鎖)状態ですね。なので、何事もとにかくプラスに考えるようにしましょう。

同様に、自分に自信を持つのも大切ですね。自信さえあれば、わりと何とかなってしまうものです。人と自分を比べない。比べる対象は自分より必ず何かの面で優れているのですから、比べてもヘコムだけです。

一時一時を楽しむ。この世に国民の三大義務以上の義務なんてありません。自分の意志でその場にいるわけです。ならば、同じ時間を過ごすのでも、できるだけその時を楽しみたいじゃないですか。楽しくなくても楽しそうに笑顔で過ごしていれば、きっと周りもそれに呼応してくれます。時間はかかるかもしれませんが。

自分から積極的に動く。何事も動かないと始まりません。確かに動かなければ失敗はしませんが、何も変わりません。失敗も、慣れれば全ていい経験に思えてきますよ。そして必ず人間性が向上していきます。あいさつをしましょう。積極的に話しかけましょう。自分よりも頭のいい人と話しましょう。そして、いっぱい吸収しましょう。

16.本は人類の宝

さて、皆さんは普段本というのを読んでいるでしょうか?そして、本の偉大さというのに気づいていますか?僕は、人の頭の良さは読んだ本の数に比例する(比例定数は人によって違いますが)と思っているくらい、本至上主義な人間です。ゲーム作りだけではありません。何か行き詰ったら、ぜひ書店へ行き、その分野の本を買いましょう!

例えば、人間関係がうまくいかない時。そんなもの、一人で悩んでいても何もできません。書店へ行き、人間関係系の本を買って読めば、きっとスムーズに解消するでしょう。

恋愛、ビジネス、そしてプログラミングでもそれは同じです。また、本は読めば読むほど読解力が上昇していきますし、目的以外の色々な知識も身につきます。文章の構成力もつくでしょう。そして何より、その分野で使われている”語呂”の知識が増えます。

人がその分野に精通しているかどうかは、その人がその分野の言葉、”語呂”をいくつ知っているかで判断できます。それだけ、言葉の持つ力は大きいのです。その分野の新しい本を読んでも新しい発見が無くなった時、初めてあなたはその分野を修了したと言えるでしょう。

本は、何か行き詰った時、解決するための道筋を示してくれます。自分で解消しようとしても、自分にはその分野の知識が無いのですから、それはとても重要です。

本は、誰の目も気にせずに、自分のペースで、しかも安価に、好きな事を学べます。こんな物って、他になかなかありません。

では、最後に、プログラミングを学ぶ上でオススメの書籍を紹介しますね。多くの本を読んで、プログラミングをして、ゲーム制作の技術をどんどん向上させていきましょう。


まずはプログラミングを全くしたことの無い方へ。
最新HSP3.1プログラミング入門

一般にはCやC#が用いられていますが、絵を出すだけでも大変な上、 オブジェクト指向やポインタ等、ゲームの本質とは関係の無いハードルが多いです。 ですので、初心者の方はまずHSPで多くのゲームを作り、 ゲームの本質を見つけて頂きたいな、っと思います。 言語に関係無く面白いゲームは面白いし、つまらないゲームはつまらないのです。 ちなみにこの本ではHSPを体系的に学べます。 確かにWEB上のドキュメントだけでもある程度はコードを書けるのですが、 既に知っている言語をベースに書いてしまうという欠点があります。 ですのでどの言語でも最低一冊は本を買い、その言語の特徴をつかみ、 その言語に合ったコードを書くべきだと思います。


HSPからCにステップアップする
やさしいC
K&R本

HSPを学んだら、次はC言語!筑波大学でもザ・Cというどうしようも無い本から、ついにこの「やさしいC」に切り替わりました。 C言語を一番分かりやすく解説しています。この後、数年後にK&R本でもやればカンペキでしょうか。 ファイル操作関数にftellとかあるの最近始めて知りました。困ったときや、ライブラリ関数の仕様を知りたいときに開けるいい本です。 ただ、いきなりK&Rはオススメしません。
C++関係の本

世の中のゲームライブラリはほとんどC++なので、それを使うにはC++の知識も必要です。 しかし、初心者向けのC++の本でいいものを知らなかったりします。 当面はWEBでクラスの使い方を学んで、後は色々買ってみるしか無いかもしれません。 EffectiveC++は名著ですが、初心者向けでは無いので注意。
猫でもわかるWindowsプログラミング

C言語はできるけど、WINDOWSでのプログラムの書き方が分からない。そんな人にオススメの書籍です。MFCを使わずに、C言語だけでウィンドウを作ったり、画像を表示したりする手法が述べられています。 というか最近MFCってきかないっすねー。下火か。
DirectX9実践プログラミング

ELが使えるようになって、次は自作ライブラリを作りたい人にオススメです。これ一冊で、DirectXをC言語で制御する方法が全て分かります。RUINATERRAは、このシリーズで作成しました。


もっと高度なものを作る
3Dゲームクックブック

HSPとは言わず3Dゲームを作る時にどうぞ。 メタセコイアでモデリングした後、 どうやってそれにモーションを付け、 どうやってゲームに組み込むのかをちゃんと解説している数少ない名著。
ジェムズ、ゲーム開発のための物理シミュレーション入門

一般人にはオススメできません。ジェムズは最短経路探索のA*アルゴリズムとか、 ラグランジェ補完によるテイラー展開を使わない三角関数の計算とか、 ネットワークプロトコル設計の注意とか、大学レベルの教養が必要なゲームプログラミング論文っぽいもの集です。 数学と情報科学についての知識を付けてからどうぞ。 いつかこれぐらい読んでやるぞ!とか、プロのレベルを知りたい!とか、本棚のこやしにどうぞ。 というかプロでもここまでできる人はあんまりいないような。。。 ゲーム開発のための物理シミュレーション入門も、それなりに物理やっとかないとしんどいです。
リファクタリング

c++の関数の引数にconstを使っていますか? c++は書く人によって全くコードの品質が違います。 一目見ただけでその人の力量が分かってしまいます。 ちゃんと通用するコードを書くためにはこの一冊。 目から鱗ばかりです。
情報検索アルゴリズム

検索エンジンを作ってみたい人にはこの一冊。 この一冊で何でも作れます。
Introduction to digital audio coding and standard

MP3とかAACみたいに音を圧縮してみたい人にはこの一冊。 この一冊であなただけのオリジナルCODECが作れます。


漫画
東京トイボックス

最高の漫画です。ゲーム制作の情熱よ再び!
大東京トイボックス

東京トイボックス待望の続編! 一人五冊!


ゲーム制作とは関係無いですが、名著を色々。

金持ち父さん貧乏父さん

お金持ちになるにはどうしたらいいか、お金持ちは何故お金持ちなのか、そんな疑問が、全て解消します。本当、目から鱗で、僕の考え方が完全に覆されました。日本では、妙にお金が悪のように思われていますが、決してそうではありません。この本は、読んだのと読んでいないのとでは人生が変わってしまうほどの名著です。
ピーター・リンチの株で勝つ
億万長者をめざすバフェットの銘柄選択術

SONYとかスクエニとかの大型株の人気株を買ってしまっていませんか? 株は機関の買えない超小型株を買って、10倍を目指すべき。 アマチュアだからこそ勝てる株式投資の極意はピーター・リンチ本で学べます。 さらに、バランスシートを見て保有キャッシュを割引、 妥当株価を算出するにはバフェット本をどうぞ。
ウケる技術&モテる技術

面白い話が出来るようになりたい、そう思って買ったら当たりでした。かつて、ここまで笑いを定量的に扱ったものはありませんでした。読むと、確実に話術が向上します。人間関係、できるだけ楽しい方がいいですよね。 モテる技術はポジティブシンキングの考え方だけでも読む価値あり。

17.もっと人と話そう

本の項で、”人の頭の良さは本を読んだ数で決まる”と書きました。これは僕が大学に入ってから思った事で、つい最近まで僕の中でかなりのウエイトを占めていました。ですが最近はそれだけではないかな?とも思ってきました。というのは、サークルの先輩で、とにかく頭のいい、キツイ事も言うけれどその発言はとにかく核心をずばっとえぐっていて思わず何も言えなくなる様な、僕の大尊敬する先輩と二人で三時間ぐらい話した事がありました。それによって、僕の考え方ががらっと変わったというか、とにかくいろいろな面で成長できたのです。

つまり、とにかく頭のいい人と話すと、それだけ頭がよくなるという事です。本当、ああなりたいなぁ、というような人がいたら積極的に動いて話してみるべきです。かなり多くの物が得られますよ。また、自分の属するコミュニティのレベルが高ければ、それだけ毎日切磋琢磨するわけで、確実に自分のレベルは上がっていきます。いい大学に行け、サークルに入れ、っていうのは、それだけいいコミュニティに属せ、という事なのです。

事実、僕はこの大学に入ってなく、このサークルに入っていなければ、今の半分以下の考え方しかできなかったと思います。何だかんだいって、いい大学にいる人はそれだけ頭がいいです。なので、まだ高校生であれば、とにかく勉強して、いい大学に入れば、人生変わると思いますよ。勉強できるだけ勉強してみて下さい。後、多少のチャレンジも大切です。動かなければ何も変わりません。動けるだけ動きましょう。

追伸。さらに最近では映画の良さにも気づいてきました。映画を見ると自分の悩みとかが全部ちっちゃな事に思えてきて、凄いポジティブになれるんですよねー。さらに日常での振舞い方や、疑似体験から経験すらも得る事ができます。素晴らしい。オススメはラブコメやサクセスストーリーですね。一時は毎日1、2本ペースで見てました。オススメです。

18.プレゼンテーション

プレゼンテーションというと大げさですが、何かと人前で話しをする機会っていうのはあると思います。そんな時、どうしていますか?前日に原稿を作ってそれを読む?それこそ愚の骨頂なのです。それは、文章の朗読っていうのは実は難しい技術だからです。ためしに、何か本を声を出して朗読してみて下さい。ガンガンにつまっちゃいますよね。その上、下を向いて読むから声が通らないし、本番はもっと緊張しているのでもうどうにもなりません。なので、人前で話す時は話す項目の題目をリストアップした紙を作りましょう。そして、その題目ごとに話したい内容を軽く考えます。頭の中だけで文章を組み立てるのがポイントですね。後は、実際の本番だと思って数回小さな声を出しながら練習する。これだけで、かなりまともな話が出来るようになると思います。後、本番ではとにかく大きな声を出す、やや上を見る、オーバーリアクションにジェスチャーを交えてみる。実際、話の内容なんてある意味どうでもよく、聴いている方も代わり映えのしないプレゼンを聴いてきて疲れているのです。プレゼンテーションはレクチャーではありません。相手の心にどれだけメッセージを投げかけられるかがポイントなのです。抑揚の無いインストラクターみたいなプレゼンテーションでは心に響きません。ようはいかに自分のテンションを高く保って、相手をそのテンションに引き込むか。そのためにオーバーリアクションは大事です。これは普通の会話でも言えますが。