プチメタ3.0

刺激を受けた物事に対する感想や考察、資産運用や英語学習、自己成長に関することなど。


ゲームを作る上で押さえるポイントやプログラミングについての解説

褒める方が楽だし褒められる方が気持ちいいが、ダメ出しに慣れていかないと成長しない

最近の学生を見ていると 他人との衝突を極端に恐れていることが多く、 異なる意見を挙げることやネガティブな指摘をされることを できるだけ避けようとしているように思う。 確かに自分に対する改善要求を聞くのは辛いし、 相手を目の前にして否定的な意見を…

2ヶ所のキャラクターをどちらも画面内に収めるカメラ位置の求め方

対戦型の3Dゲームなどで 主人公と敵が常に画面に収まるよう、 カメラの距離を自動で調整したいことがある。 一番遠い距離で固定してしまうと 両者が接近したときに迫力がなくなるため、 離れているときだけ遠くから映し、 接近戦ではカメラを寄せるようにし…

正念場から逃げても自分が追い詰められるだけ

<<中略>> ―――「夏目にーに漫画短編集」第1集より 創作活動をする人間にとって 自分の作品に自信が持てないことは珍しくないが、 だからといって勝負の場に出ないのは最悪の選択だ。 「まだ完成していない」「見せられるレベルじゃない」 「忙しくて時間…

プログラマー志望者はタイピングが遅くても気にしなくていい

将来、プログラマーになりたいと思っているものの パソコンに不慣れでタイピングが遅いことを悩む人がいるが、 正直、そんなことは気にしなくていい。 第一に、プログラミングに要する時間のうち大部分は これから作っていくプログラムの構造を考える 「設計…

クリエイターが「面倒くさい」と考えたら終わり

ゲーム開発に限らず、何かを作っている過程で 「面倒くさい」と愚痴るようなら クリエイターの道は諦めた方がいい。 そもそも創作活動なんてものは面倒くさいことだらけであって、 「人を楽しませたい」「思いついたアイデアを形にしたい」という 意欲と情熱…

3Dゲームではあらゆる判定でコサイン(内積)が役に立つ

サイン・コサインなどの三角関数は ゲーム開発で非常によく使われるが、 3Dゲームの場合は特にコサインが役に立つ。 これはコサインでベクトルの影の長さを求められるからだ。 内積を利用してベクトルの影の長さを求める コサインを使えば直角三角形の底辺の…

ベクトルの内積を使って角度を求める仕組み

ゲーム中に出てくる判定や敵AIの処理では 角度の情報が必要になることが多い。 2Dゲームの場合は回転方向が左右しかないので タンジェントを利用するだけでなんとかなるが、 3Dゲームの場合は横にも縦にも回転できるので ベクトルの内積を利用する必要が出て…

目標までの距離をもとに放物線の最適な発射角度を求める計算方法

ゲームにはさまざまな武器が登場するが、 銃弾は直線的な軌道として処理することが多い。 現実には弾丸も重力の影響を受けて放物線を描くのだが、 一般的なイメージとして銃の弾が徐々に落下するという印象が薄いし、 そこまで計算して敵に狙いをつけるのは …

見出しや説明文を配置するときはグルーピングを意識すべき

Facebookで流れてきたとある動画だが、 これを見てすぐに問題がわかるだろうか。 中央段にある見出しが 上下どちらのイラストのものなのかが パッと判断できないのだ。 特に「Better」は上側のイラストとはピッタリくっついているのに 下側のイラストとはス…

【ゲーム業界志望者向け】プログラミングWeb試験に必要な知識まとめ

ゲームプログラマーを目指す学生が企業に応募するときは 自作のゲームプログラムを求められることがほとんどだが、 これに加えて筆記試験を受けさせられることがよくある。 最近はWeb試験の一種であるコーディングテストがよく使われていて、 ブラウザ上で直…

char型の文字列をワイド文字(Unicode)に対応させる方法

C言語やC++系のプログラミングを学び始めると 文字データを入れる変数はchar型だと習うが、 半角文字を1バイト、全角文字を2バイトという 特殊な考え方は「マルチバイト文字」と呼ばれ、 日本語用のShift_JISなど特定の言語だけを想定した設計になっている…

触り心地の良さをブラウザ上で味わえるWebサイトが素敵

oimo.io 「触って楽しいものが好き」という作者の言葉通り、 さまざまな実験プログラムが展示された Webサイト「oimo.io」がすごく楽しい。 そのひとつひとつから確かな技術力と 見せ方のうまさが伝わってきていちいち感心してしまう。

2D格闘ゲーム時代、「ストリートファイター2」の地面表現に感銘を受けた

1991年にゲームセンターに「ストリートファイター2」が登場し、 対戦格闘ゲームの大流行を巻き起こしたが、 当時の私が画面を見て衝撃を受けたのが しっかりとした奥行きを感じるこの地面だ。 今なら3D表示処理で簡単に実現できるが、 当時はスーパーファミ…

いろいろな実験プログラムを流用したスタッフロールを動画にまとめてみた

受け持っているプログラミング授業の勉強を兼ねて これまでいろいろなソフトを作ってきたが、 スタッフロール(クレジット)は ゲーム本編とは違う世界観が入っても支障がないため、 作り溜めた実験プログラムを活用した思い出がある。 通常はゲームをクリア…

XOR演算を使った暗号化の仕組み

保存したデータを特定の人にしか見せたくない場合は 「暗号化」する必要がある。 インターネット上で扱う個人情報ももちろんだが、 ゲームに同梱されたデータがユーザーに読まれたり改ざんされると 楽しんでプレイする機会を奪うことになるので 暗号化してお…

不完全な作品でもどんどん作る方が学びが進む

―――「薔薇はシュラバで生まれる」より どんな創作物にも言えることだが、 質の高いものが作れないからとチャレンジしない人より 不出来なものでもどんどん生み出して 他人に目に触れさせる人の方が遥かに成長が早く、 実際にクオリティも上がっていく。 クリ…

遅延が許されない格闘ゲームでオンライン対戦を実現する工夫が素晴らしい

qr.ae 「遠く離れた者同士でオンラインゲームをプレイするときに なぜうまく同期できるのか」という質問に対する回答だが、 これだけでひとつの記事になりそうな 素晴らしくクオリティの高い解説になっている。 ネットワークを経由した情報のやり取りである…

学生同士のチーム制作は仕事以上に難しい

企業では組織全体で成果を上げることが求められるため、 その訓練として、どの学校でも グループワークを行う課題が用意されている。 しかし、いざ学生同士でチームを組んでも 多くの場合うまくいかないものだ。 これは会社員に比べて学生が未熟だからなので…

日本のゲーム業界40年の歴史をまとめた

先日、西暦2000年前後に生まれた学生たちと接しながら 「彼らはスーファミはおろか、 初代プレステすら体験したことないかもなぁ」と想像し、 自分の中では当たり前と思っていた出来事が 実は割と貴重な記憶なのでは、と思った。 そこで、現在に至るゲームの…

あの頃、ゲームといえばこんなだった<2005年~2017年>

目次 1977年~1986年 1986年~1988年 1988年~1990年 1991年~1994年 1995年~1997年 1998年~2005年 2005年~2017年 Xbox360に熱中する日々 2005年、Xboxの後継機として 「Xbox360(エックスボックスさんろくまる)」が発売された。 いよいよインターネット…

あの頃、ゲームといえばこんなだった<1998年~2005年>

目次 1977年~1986年 1986年~1988年 1988年~1990年 1991年~1994年 1995年~1997年 1998年~2005年 2005年~2017年 徐々に広がるインターネット 1990年後半、世の中にインターネットが広まり始めたが、 会社や学校などのビジネス利用を除き、 各家庭では常…

あの頃、ゲームといえばこんなだった<1995年~1997年>

目次 1977年~1986年 1986年~1988年 1988年~1990年 1991年~1994年 1995年~1997年 1998年~2005年 2005年~2017年 ゲーム業界への道を歩み始める 高校3年生となり、進路指導がたびたび行われるようになった。 通っていた高校は割と厳しい学校だったので …

あの頃、ゲームといえばこんなだった<1991年~1994年>

目次 1977年~1986年 1986年~1988年 1988年~1990年 1991年~1994年 1995年~1997年 1998年~2005年 2005年~2017年 対戦格闘ゲームの大流行 家庭用ゲーム機としてスーパーファミコンが広まる中、 ゲームセンターでは対戦格闘ゲームのブームが起きていた。 …

あの頃、ゲームといえばこんなだった<1988年~1990年>

目次 1977年~1986年 1986年~1988年 1988年~1990年 1991年~1994年 1995年~1997年 1998年~2005年 2005年~2017年 ファミコン全盛期 写真:ファミコンのネタ!! バッテリーバックアップが普及したことでセーブ機能が当たり前になり、 ファミコンのゲームは…

あの頃、ゲームといえばこんなだった<1986年~1988年>

目次 1977年~1986年 1986年~1988年 1988年~1990年 1991年~1994年 1995年~1997年 1998年~2005年 2005年~2017年 ディスクシステム登場 ファミコンは子供がいるほとんどの家庭にあるほど人気だったが、 より多くのゲームをプレイできる画期的なシステム…

あの頃、ゲームといえばこんなだった<1977年~1986年>

目次 1977年~1986年 1986年~1988年 1988年~1990年 1991年~1994年 1995年~1997年 1998年~2005年 2005年~2017年 1977年生まれの私にとって 日本のゲーム業界の発展は自分の青春時代とピタリと一致する。 ゲームの思い出を昔懐かしく描いた 「ピコピコ少…

三平方の定理はゲーム開発で一番役に立っている公式

中学校の数学で習う「三平方の定理(ピタゴラスの定理)」は ゲーム開発の中でも使われまくっている。 この理屈がなければあちこちが破綻するほどなので 先日紹介した三角関数以上に重要なものだと思っている。 三平方の定理とは そもそも三平方の定理とは …

2Dゲーム開発では画像を表示する順番が大きな意味を持っている

どんなゲームにもいろいろな画像が表示されているが、 2Dゲームを作るときには 各画像を表示する順番が重要になってくる。 あとから表示したものの方が上に来るので、 最終的にどの画像が上になるべきなのかを考えて 表示する順番を決める必要がある。 たと…

パスワードはどのように保存されているのか

いろいろなサイトでパスワードを入力する機会があるが、 サイト側ではどのように保存されているのか。 これには「ハッシュ値」という考え方が使われている。 ハッシュ値とは lazesoftware.com ハッシュ値とはある単語をもとに 作り出される一定の長さの英数…

エレベーターを呼ぶボタンから考えるユーザーインターフェースの不思議

ゲーム画面に表示される情報表示、 たとえば主人公の体力や武器の残弾数のようなもの、 また操作の指示などを「ユーザーインターフェース(UI)」と呼ぶ。 いかにわかりやすいUIにするかがポイントだが、 この「直感的に理解しやすい表現」というのは 実は利…

総アクセス数