ゲームプログラマーの気になった技術メモ

#[English(Google Translate)](https://translate.google.com/translate?sl=ja&tl=en&u=https%3A%2F%2Fqiita.com%2Fgame_programer%2Fitems%2F8f328788ed99545799f8)

### ゲーム制作でよく使うであろう技術や、
### 気になったことをnote していきます

### 「<font color="Red">個人的</font>」に気になった文献を順番にメモをしていきますので、
### 内容は順不同で紹介していきます

---

### ① [Cygames Engineers' Blog ゲームAI -基礎編- 『知識表現と影響マップ』](https://tech.cygames.co.jp/archives/2272/)

<img class=" size-full wp-image-2279 alignnone" src="https://tech.cygames.co.jp/wp-content/uploads/2015/08/dangerDemoR3.gif" alt="" width="551" height="416">
gif Link->https://tech.cygames.co.jp/wp-content/uploads/2015/08/dangerDemoR3.gif

こちらで紹介されているのは「2D限定空間内」で、
驚異、影響判定が分かりやすく説明されております

これを「3D空間内」で行ったらどうなるかがチャレンジ要件です

また昨今人気の「2D横スクロールのゲーム」で、
実践してみるのも面白いのかもしれません

[技術者と非技術者のための技術系ブログ
ゲーム AI 実装入門 ~ ダイクストラ法 ~](http://notame.hatenablog.com/entry/dijkstras-algorithm-sample)

<p class="codepen" data-height="580" data-theme-id="light" data-default-tab="result" data-user="game_programer" data-slug-hash="MWyjvOJ" style="height: 580px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="https://output.jsbin.com/wufufe">
  <span>See the Pen <a href="https://codepen.io/game_programer/pen/MWyjvOJ">
  https://output.jsbin.com/wufufe</a> by ゲームプログラマー⛅あの日見たバグの名前を僕達はまだ知らない。 (<a href="https://codepen.io/game_programer">@game_programer</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>

↑ Link -> [JavaScript Dijkstra's Algorithm Sample](https://output.jsbin.com/wufufe)

上の脅威度マップ記事の影響を受けて、
AIの探査アルゴリズムを紹介した記事も見つかりました

こちらも併せて読むと面白いかと思われます

<details><summary>※余談 canvasのレスポンシブ対応について</summary>
↑のcanvasの[レスポンシブ対応](https://www.google.com/search?q=レスポンシブ対応)にハマったが、
まさか、canvas レスポンシブ対応　「「簡単」」を、
キーワードに付け加えたら一瞬で終わった。。。
そういうことってよくある、ぐぬぬした、解決方法はコレ↓
[CSS この発想はなかった！たった一行でさまざまな要素をレスポンシブ対応にするスタイルシート -Fluidity](https://coliss.com/articles/build-websites/operation/css/css-small-framework-for-responsive-fluidity.html)
あとはCodePenの余白をどうするかだが、
私はココで力尽きました
明日以降の未来の私に期待したい✨
</details>

---

さらにAIの探査アルゴリズムがもっと知りたい方は

こちらも参考にするとなお良いかと思われます、
いくつか紹介されています

[ゲームAI作成に使える いくつかのアルゴリズム](https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=2ahUKEwiMmNWc2-PnAhXs-GEKHfWvA84QFjACegQIBhAB&url=https%3A%2F%2Fwww.tcu-ctrl.jp%2Fwp-content%2Fuploads%2F2015%2F03%2F00b84714f065a97cabc1770571cc2c0d.pdf&usg=AOvVaw0t_wmnpfiftm3UJId9Oxyd)

ゲームAIの探査アルゴリズムを調べるともっとたくさんありますが、
自分のゲームに合ったモノを適宜導入して試してみましょう

さらにもっともっと！ゲームAIの歴史も含めて知りたい！と思われた方は

[21世紀に“洋ゲー”でゲームAIが遂げた驚異の進化史。その「敗戦」から日本のゲーム業界が再び立ち上がるには？【AI開発者・三宅陽一郎氏インタビュー】ゲームAI史――２．3Dゲームで「ナビゲーションAI」が登場](https://news.denfaminicogamer.jp/interview/gameai_miyake/3)

こちらも読むとなおゲームにおけるAIの理解が深まります

後述されている『F.E.A.R.』の、
プランニング技術を最初に利用したゲームのAIを、
初めて見た時は驚きました。。。

---

後に見つけたゲームAIの参考記事も追記します

[【CEDEC2016】「人工知能の未来へ　－全脳アーキテクチャ、ディープラーニングを用いた人工生命、ゲームAI －」講演レポート](https://qiita.com/4_mio_11/items/f1dd2d1241d7c7b4a265)
こちらのレポートも参考に

[ゲームAIの各手法まとめ](https://qiita.com/ReplayTVR/items/e6603b40addfc7f75d47)
まとめたものがありましたので追加

[[ゲームAI] バドミントンのゲームのCPUの出足のｳｪｲﾄ設定について](https://qiita.com/jukasahara/items/48687f778a3ce1d0a032)
バドミントンのゲームAI！？
とても興味を引き付けられました、ので追加しました
主にバドミントンのスポーツのゲーム化はなぜ少ないのだろう？に

[ゲームAIの勉強に有用なオープンソースソフトウェア](https://qiita.com/yhase7/items/9f3d747f91785993a77f)
さらにこちらも参考に

[ゲームAIを5日間に分けてみっちり学ぶ「スクウェア・エニックス AIアカデミー」開催](https://www.4gamer.net/games/032/G003263/20140724053/)
ゲームAIの入り口としてはこれが最適解？

[スクウェア・エニックス AIアカデミー 第3回「AIでキャラクターを動かす」まとめと感想](https://qiita.com/Ulyemon/items/0307b40615692253757f)
上記に関してのQiitaでまとめと感想がありましたので追記しました

[【UE4】L4DのAIDirectorを真似てメタAIを作ってみる その１](https://qiita.com/Dv7Pavilion/items/cd263f844a56cb168180)
[【UE4】L4DのAIDirectorを真似てメタAIを作ってみる その２](https://qiita.com/Dv7Pavilion/items/172b96b634260fbfb8ae)
素晴らしい！
特定のゲームのゲームAIをマネて、は正しいやり方です
主に「L4D」の例をUE4で実践してみるのが特に素晴らしい！
（コードベースはないものか）

「L4DのAIDirectorシステム」は、
プレイヤーの進行具合、プレイヤーのレベルを見て、
ゲームの難易度に関わる、敵の配置や、アイテム配置のゲームAIです
（簡単に言うとですが、他にも付随する機能があったかと）

AIDirectorはとっても素晴らしい物、技術なので、
他の資料を見つけましたら追記します

[In the Directors Chair: The AI of Left 4 Dead](https://medium.com/@t2thompson/in-the-directors-chair-the-ai-of-left-4-dead-78f0d4fbf86a)
AIDirectorが説明されている記事を見つけました

こちらはゲームディスクの特典？にある、
AIDirectorの紹介動画を説明しています
The Director AI of Left 4 Dead | AI and Games-youtube
<iframe width="560" height="315" src="https://www.youtube.com/embed/WbHMxo11HcU" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

※L4D=[Left 4 Dead (Steam)](https://store.steampowered.com/app/500/Left_4_Dead/)

<p class="codepen" data-height="311" data-theme-id="light" data-default-tab="result" data-user="game_programer" data-slug-hash="VwvXqKB" style="height: 311px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="https://store.steampowered.com/app/500/Left_4_Dead/?l=japanese">
  <span>See the Pen <a href="https://codepen.io/game_programer/pen/VwvXqKB">
  https://store.steampowered.com/app/500/Left_4_Dead/?l=japanese</a> by ゲームプログラマー⛅あの日見たバグの名前を僕達はまだ知らない。 (<a href="https://codepen.io/game_programer">@game_programer</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>

[Left 4 Dead 2 (Steam)](https://store.steampowered.com/app/550/Left_4_Dead_2/)

<p class="codepen" data-height="308" data-theme-id="light" data-default-tab="result" data-user="game_programer" data-slug-hash="MWydvbx" style="height: 308px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="https://store.steampowered.com/app/550/Left_4_Dead_2/">
  <span>See the Pen <a href="https://codepen.io/game_programer/pen/MWydvbx">
  https://store.steampowered.com/app/550/Left_4_Dead_2/</a> by ゲームプログラマー⛅あの日見たバグの名前を僕達はまだ知らない。 (<a href="https://codepen.io/game_programer">@game_programer</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
※実際にどんなゲームか？
興味を持たれた方は遊んでみたほうがやはり早いです

そしてもし！勢い余って買ってしまうなら1が含まれている
「[Left 4 Dead 2](https://store.steampowered.com/app/550/Left_4_Dead_2/)」の購入を強くオススメします！

---

### ② [マルチプレイヤーゲームのレベルデザインの基礎を誰にでも理解できるように説明するとこうなる](https://gigazine.net/news/20140731-multiplayer-game-level-design/)

[![top_m.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/4aabb14e-7893-673d-e954-7de28f6e5e80.png)](https://gigazine.net/news/20140731-multiplayer-game-level-design/)

こちらは技術というよりも「ゲームデザイン」の話になっております、
個人的に気になった読み物として紹介させていただきます

この記事で一番素晴らしい所は、
じゃあそのようなゲームはどんなモノなのかが、
詳しく分かりやすく説明されております

これはとあるゲームの一例として認識し、
個人の解釈でより良いものを目指して開発すればよいと私は思います

ゲームはこうすればこう作れば「正解」だとなるのではなく、
ゲーム作りの一つの知識として捉えて頂ければ幸いです

---
	
### ③ [JRPGの作り方：ゲーム開発者向けの手引き](https://gamedevelopment.tutsplus.com/ja/articles/how-to-build-a-jrpg-a-primer-for-game-developers--gamedev-6676)

[![jrpg-states-and-transistions.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/89d65471-876d-9b80-71d5-fd4eb494b7a9.png)](https://gamedevelopment.tutsplus.com/ja/articles/how-to-build-a-jrpg-a-primer-for-game-developers--gamedev-6676)


こちらではJRPGの根底となるモノがいくつか紹介されております

最後に紹介されているように
[Learn how to make a Retro-RPG!](https://howtomakeanrpg.com/)
このように１種類のゲーム作りの情報を、
買う時代にもなっていることが素晴らしいですね

レトロRPGゲームを作ってみたい方は、
購入してみて試してみるのも良いのではないでしょうか

---

### ④ [SMILE GAME BUILDER イベントエディターの使い方](http://smilegamebuilder.com/jp/eventeditor/)

イベントエディターの使い方-youtube
<iframe width="560" height="315" src="https://www.youtube.com/embed/3ThdJOnEMZY" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

「プログラミング不要！ マップにイベントを配置してキミだけのストーリーを作っていこう！」

素晴らしい謳い文句かと思われます

主にゲームを制作する会社は、
各々独自にこのようなツールを作って、
ゲーム開発をガシガシ進めています

---

### ⑤ Google Game Builder

[ゲーム感覚でゲームを作れる「Game Builder」、Googleが無償公開(TechCrunch)Windows/macOS対応でSteam配信。マルチプレイヤーゲームも作成可能](https://japanese.engadget.com/2019/06/15/game-builder-google/)

Game Builder: Getting Started-youtube
<iframe width="560" height="315" src="https://www.youtube.com/embed/L1hpFRztQGY" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

またもやGame Builder 系の記事が

使用感や実際作った人のレビュー、
Steamリリースまでの記事を探してみると、
具体感がより増すかと思われます

[Google の Game Builder を使って3Dゲームを作る
（Steamアカウント取得から～ゲーム完成まで）](https://qiita.com/Gerbera/items/00befb502692f2acd4d5)
Qiitaの記事を見つけましたので追記しました

[Googleが開発した「Game Builder」は
3Dゲーム開発をしながらプログラミングを覚えられる](https://omuriceman.hatenablog.com/entry/game-builder)
類似記事もありましたので、こちらも参考に

最終的にsteam のドコにあるのか？
とざっとsteamのストアを探してみた所

オープンソース化されたようです
[Game Builder is now open source! (2019年11月8日)](https://steamcommunity.com/games/929860/announcements/detail/1608276251516057010)

GitHubのURLはコチラから
[github googlearchive/gamebuilder](https://github.com/googlearchive/gamebuilder)

全文は以下に

Game Builder is now open source! (November 8, 2019)
---
We are ending development of Game Builder and releasing the app and its source code on GitHub! You can check it out here:
https://github.com/googlearchive/gamebuilder

We will remove Game Builder from the Steam store in one week, and many features will go offline. To continue building or playing a project, save it once before November 15th:

1. Open your project normally
2. Save it using the Save Menu
3. You should see a message saying, "OK your save is ready for offline use!"
4. After we shut down, you should still be able to load your project.

The final version of the app (released on November 15th) will remove the following features:

・Multiplayer
・[Poly](https://poly.google.com/)
・Google Image Search
・Steam Workshop

The team is happy to answer questions about the open source repo--just email us at
gamebuilder@google.com.

Game Builder has been an epic journey, and we are amazed by all the great games that people have created on the platform.

Thanks again!
The Game Builder Team

---

(※日本語訳) [翻訳 DeepL](https://www.deepl.com/translator)

ゲームビルダーがオープンソースに (2019年11月8日)

Game Builderの開発を終了し、アプリとそのソースコードをGitHubに公開します。こちらからチェックアウトできます。
https://github.com/googlearchive/gamebuilder

1週間後にはSteamストアからGame Builderを削除し、多くの機能がオフラインになります。プロジェクトのビルドやプレイを続けるには、11月15日までに一度セーブしてください。

1. 通常通りプロジェクトを開きます。
2. 保存メニューを使って保存する
3. "OK 保存がオフラインで使用できるようになりました。"というメッセージが表示されるはずです。
4. シャットダウンした後も、プロジェクトを読み込むことができるはずです。

アプリの最終バージョン（11月15日リリース）では、以下の機能が削除されます。

・マルチプレイヤー
・ポリ([Poly](https://poly.google.com/))
・Google画像検索
・スチームワークショップ

チームはオープンソースレポに関する質問に喜んでお答えします。
gamebuilder@google.com

Game Builderは壮大な旅でしたが、人々がこのプラットフォームで作った素晴らしいゲームの数々には驚かされます。

本当にありがとうございました。
ゲーム ビルダー チーム

---

### ⑥ [Epic Gamesストアのロードマップにおける「実装予定時期」の項目を廃止。当初の予告どおり機能を実装できていないため](https://automaton-media.com/articles/newsjp/20190902-100901/)

こちらは「Epic Gamesストア」でのゲームリリースを目指している方へのニュース
このような情報でもストアリリースを目指している方には助けとなる情報です

Epic Gamesストアの市場を調べてみるのも良いかと思われます

---

### ⑦ [「誰もクリアできないゲーム」がSteam上で発売停止へ、未完成ゲームであることを隠すためゲームを攻略不可に？](https://automaton-media.com/articles/newsjp/the-game-anyone-cant-clear-on-steam/)

こちらの記事ではゲーム開発者側は意図した不具合ではないとのことですが
バグ、不具合にまつわる悲劇とも取れるのかもしれません

このようなことがないように、ゲーム開発者諸氏は気をつけなければなりません

---

### ⑧ [第10回 「VRのハードウェアとVR酔い対策について」](https://blog.shade3d.jp/vr/archives/416)

[![vr_winmr_headset_motion_controller.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/a3ca545e-758f-0060-3b62-31e33d8b7a18.jpeg)](https://blog.shade3d.jp/vr/archives/416)

VRゲーム開発者の頭を頻繁に悩ませる、
VRゲームとフレームレートの関係をまとめた記事はないかな？
と探した所、良さそうなものが見つかりました

VRゲーム開発をしてみたい方、VRゲーム開発するとは、
どんなものかの一部を知りたい方は、
一度は一読されることをオススメします

併せてPlayStation VR を詳しく知りたい方はコチラから
[［CEDEC 2019］SIEが振り返る「PlayStation VR」3年間の軌跡](https://www.4gamer.net/games/251/G025118/20190910050/)

[![002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/6e7498e1-3573-d5d1-1b8a-1b84d637d7bb.jpeg)](https://www.4gamer.net/games/251/G025118/20190910050/)

---
### ⑨「なぜ？このゲームはジャンプができないのか？」

# <font color="Red">why？This Game Is Can Not Jump？</font>

[なぜ『スプラトゥーン』は「面白い」と直感できるのか？ 今、3Dゲームに任天堂は20年越しの回答を示しつつある：「なんでゲームは面白い？」第九回](https://news.denfaminicogamer.jp/column01/170719)

[マリオのジャンプには、こんなにたくさんのルールが詰まっている！ コンピュータゲームの本質は、ルールを探る面白さにあった【ゲームの話を言語化したい：第二回】](https://news.denfaminicogamer.jp/column05/videogame-rule)

[world 1‐1 ワールドイチノイチ 「ジャンプ」の発明](https://world1no1.exblog.jp/385600/)

[田島まるた氏 note アクションゲームとは何なのか？【ゲームプランナー入門】](https://note.com/tajima_maruta/n/nb49e9bb13634)

[Qiita 気持ちのいいジャンプを目指して](https://qiita.com/odanny/items/297f32a334c41410cc5d)

[Qiita スーパーマリオのジャンプのアルゴリズム](https://qiita.com/morian-bisco/items/4c659d9f940c7e3a2099)

これらは主にジャンプの魅力やルールを語られたモノだ

ほぼマリオ関係にまつわる話は多いが、
私が記したいことはそこではない

ジャンプの良さ、ジャンプの可能性、ジャンプの仕方については、
語られている所は多いので、
なぜこのゲームはジャンプができない、
したがらないのかをプログラマー目線で紹介したい

一つにまとめて簡単に説明してしまうとジャンプをすると、
バグ、不具合と本来はやらなければならないことが多いからだ

ここでは「3Dゲーム」のジャンプにおける不具合事例、
理由やその他を紹介する
私の知っている限りの一部でしかないが

併せてになってしまいますが、
ジャンプのゲームデザインも含めて紹介することになるかと思います

###[１] <font color="Green">行かれては欲しくない所にジャンプで行けてしまう</font>

![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/66f3f25d-1f6f-9243-e838-d32c246e5345.png)


とてもシンプルでプリミティブな理由ですね、
A地点、B地点その間に空間があって、B地点を行かれたくない場合

そんな中でも、
果敢にも頑張って行こうとするプレイヤーも存在します

オイオイ！そんな所に行っても何もないよ？

それでも行こうとするプレイヤーはいます

そこにもし！何かあったら取り返しのつかない、
ダメプレイになってしまうと恐怖するからです

非常に由々しき問題です、そういうゲームじゃないんだけどな
なかなかうまく伝わりません、非常に残念な話ですが

3D空間における見た目とは、
死角となる所が多く生まれてしまいます

![タイトルなし20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/57710faf-ddd4-2994-e19d-8d5dee49b9a7.png)
ｄ　=　dead space　死角
ＳＴ　=　Street 道

そんな所にも何かを置くゲームデザインがあったとします

どこにそれらをバランスよく配置するのでしょうか？

![タイトルなし21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/d7d5c96d-a00c-4604-0f01-43e8b704ab33.png)
ＳＴ　=　Street 道
Ｂ　＝　Building　建物

頑張ってジャンプ！をしないと行けないような場所に、
そのような物がもし！あったとしたら？と考えてみてください

ゲーム開発者も、プレイヤーも、
頭を酷く悩ます問題の一つです

###[２] <font color="Green">キャラクターの上にジャンプで乗れてしまう</font>

![タイトルなし2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/da1472bc-8f1c-e036-68c6-52d28864b7a4.png)


オイ！私の上に乗るなよ！無礼な！
とも思われてしまう方もいるでしょう

ですが、

キャラクターの上に乗れてしまうことはメリットもあることなのです

実績解除のある、とあるゲームのキーアイテム（収集系）では、
4人で縦に上に乗ってタイミングよくジャンプをすることによって
一人のジャンプでは不可能な高さのある所に、
みんなで協力してなんとか取れるゲームがありました

![タイトルなし3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/8aefadb2-3cae-d172-09f4-1f2f4730acef.png)


みんなでマルチプレイで協力してジャンプをするという遊びが生まれました

誰がそんな所に置くのか？
そんな所に置くゲームがあったから不思議な話です

オイ！あそこの高さにあるモノが欲しいからみんな重なってジャンプをしてくれないか？

意味がよく分かりませんね、
よ～くその状況を想像してみてください

その様は酷く滑稽でそのゲームは一体何をしているんだ？
とたまに面白がられたりすることもあるでしょう

そんなゲームは何だ？と聞かれたら一応答えますが、
HALOシリーズのどれかのナンバリングタイトルです

私もどれかまでは忘れてしまいました、ゴメンなさい

###[３] <font color="Green">柵をジャンプで越えられてしまう</font>

![タイトルなし4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/64374c46-0cc7-6caf-f557-b096cc541726.png)

柵をみんなは作りたがるようだけど、
その柵はジャンプで越えられてしまうから意味をなしません

柵表現ができないゲームとなり、
柵があるゲームでは異常に高い柵を目撃することもあるでしょう

![タイトルなし22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/e8abf927-2d16-05de-dba4-05e298a43920.png)


なんでこんなに柵がでかいんだ？とても不思議な話ですね

中では柵の見た目より高くジャンプができるのに、
越えられない謎の柵も生まれてしまいました

![タイトルなし23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/a4b3e1f9-c90b-b882-663a-436e6d087935.png)


もっと不思議ですね

###[４] <font color="Green">ネットワークゲーム間におけるジャンプ表現をどう同期を取るのか？どのような見た目になるのか？にハマってしまう</font>

![タイトルなし5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/35b1d1af-0d1a-1dfa-c363-33cf97e078e0.png)


例えばジャンプ中にネットワーク接続が不安定になったら？を想像してみたください

ありえない動きをする凄腕の奴がいる！？

天才プレイヤーがネットワークゲームで、
よく生まれてしまう理由ともなってしまっています

どうでもいいから、
そのネットワーク回線が不安定な人をどうにかしてくれよ！

ネットワークを利用したゲームの、
いつまでもなかなか消えない高い壁の一つです

###[５] <font color="Green">よじ登れそうな所があると、ジャンプで登りたくなる衝動に駆られてしまう</font>

![タイトルなし6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/dc5db685-a774-82a5-e4e6-a8252ccf8146.png)


これはジャンプの高さにおける問題もあるかもしれませんが

ジャンプの高さが高い場合はひょいっと上に乗ってほしいですし

ジャンプが低い理由ともなっています

よいしょっと登る表現を本当に見てみたいのでしょうか？

何度も繰り返しよいしょっと登る表現を見るのはあまり好ましくありません

たまには登る表現を変えてみると楽しいかもしれません

そうすると、、、キリがありませんね。。。

###[６] <font color="Green">弾をジャンプでよけれてしまう</font>

![タイトルなし7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/51ab197c-efbc-2f33-d2a0-917f923e2a34.png)


例えばキャラクターの中心を普通のゲームではよく狙って撃ちます

![タイトルなし25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/68e48619-1c06-3f8f-145a-b423630694d2.png)

ですが、

そのゲームではキャラクターの身長ぐらいは、
高くジャンプができるゲームだったとします

なんと！
ピョンピョン(カエルジャンプ) されると、
弾が全くと言っていいほど当たりませんね

![タイトルなし26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/581098e3-d12c-247b-af35-2ff03c9f09c1.png)


高くジャンプをすると弾がよけられる？
じゃあ、膝くらいまでしかジャンプできないことにしよう！

![タイトルなし24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/e206f480-4ec8-3c74-44de-714f9304ffb5.png)

それでもみんなやられたくはないので、
ジャンプを ピョンピョン(カエルジャンプ) してよけますね

これはカエルのゲームなのか？と私はよく思ったりします

カッコいいイケメンか渋メンのおっちゃん達が、
 ピョンピョン(カエルジャンプ) をよくします

本当にそれはカッコいい表現なのか？よく考えさせられます

ジャンプをすることについてのメリットとデメリットを

###[７] <font color="Green">キャラクターごとにジャンプ表現を拘りたくなる衝動に駆られてしまう</font>

![タイトルなし8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/1555200d-dedd-c279-78ae-c4a1e4b9f45e.png)


とあるゲームではデータ容量による負荷と、
そのジャンプの仕方に悩まされていました

そのゲームではキャラクターの種族は見た目や高さ、
性別が異なるのだから、ジャンプの仕方も拘りたい！

そう言われてしまったら、
努力をするのがゲームのプログラマーとしては正しい姿です
プログラマーの鑑と言っても良いでしょう

データ量は種族分ｘ性別分で増量してしまいます

どんどん無尽蔵にデータが増えていってしまうのでは？と懸念しました

さらに、

時たまに「違う種類のジャンプも」ランダムですると言う話まで持ってきました

プログラマーは頭をさらに悩ませました

それはちなみにどれくらいの頻度でたまにするんですか？

と質問するのは当たり前のことです

たまになのであれば、
ごくたまにとプログラマーは設定しました

そうするとゲームのユーザーからは、
もっとこのジャンプの頻度を上げてほしい！
不具合とも要望とも取れる不思議な話もあったりしました

頻度を高くしました

およそ、

キリがありませんね。。。

どこまでも拘るゲームがあってこそ、
そのゲームの魅力となり楽しいと言われるのだから、
ゲームのプログラマーは日夜頑張っております

###[８] <font color="Green">キャラクターをジャンプで飛び越えられてしまう</font>

![タイトルなし9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/407d415f-7d77-8299-095c-217ad3b7564b.png)


これを不快に思う人もいたようです

越えられなくしました。。。

###[９] <font color="Green">ゲームイベントの見えない当たりがあれば、ジャンプで飛び越えてみたりしてしまう</font>

![タイトルなし10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/98c4f0de-481d-a551-571c-5a0584048c2e.png)



3Dの空間でジャンプできるゲームなら必ず不具合のチェック項目となります

何かのゲームツール上で見えない高い、
ゲームイベント当たり（コリジョン）を、
設定することが義務付けられました

今度は見えない高い当たりの処理判定の処理負荷に頭を悩まさせられました

そもそも通過するの計算、判定方法が間違っていたのですが

そのようなゲーム開発は多く見かけますし、
今もまだその問題に悩まされているゲームも多い筈です

###[１０] <font color="Green">ジャンプをした際に影はどうなるのか？</font>

![タイトルなし11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/66a69d1e-914e-8fb4-14d6-c80a13f7bf6e.png)


ゲーム開発を志す目指す、
プログラマーなら一度は通る道の筈です、多分

それではジャンプでキャラクターを越えた際の影はどうなってしまうのか？

重なりますし、影の見た目も異なります

この問題は高低差のあるキャラクターの光の当たり方で起きる問題です

![タイトルなし12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/60ddeae0-fcf7-2e56-473b-aa4e78b30e5e.png)


A地点が高い場所、B地点が低い場所、それぞれにキャラクターを配置し、
光の当たり具合でキャラクターの影が重なった時に、
影の見た目が変わる「拘り」のあるゲームなのか、
確認観察してみると面白いのかもしれません

###[１１] <font color="Green">ジャンプをした際に煙は出るのか？</font>

![タイトルなし13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/2307b431-36d4-6b55-f150-f279e1c37f3a.png)

ジャンプをした際のキャラクターの煙の巻き上げですね

本来速度や、キャラクターの大きさや幅の範囲によってジャンプが異なるのであれば、
煙の巻き上げ方の見た目は変わる筈です

片足ケンケンをするゲームはまだ見かけたことがありません

ですが、

一本足のキャラクターがいるゲームがあってもなんら不思議なことはありません

![タイトルなし27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/7b4bdb2f-7f1b-846f-b565-7b7e1cdedd06.png)

であれば、

ジャンプをもしするゲームのキャラクターなのであれば、
煙の見た目も変わるのが自然です

さらに、

着地時の煙にも同様のことが発生します

もっとさらに言えば、

地面が草むら、雪、枯れ葉、水、マグマだった場合は、
発生する足のエフェクトは異なる筈です

自然とはこうも私たち（ゲーム開発者）を恐怖させるのか

表現の拘り方にやりがいを感じるじゃないか？

そんな話を少しでも知って貰えたら幸いです

###[１２] <font color="Green">ジャンプをした際に足音は変わるのか？</font>

![タイトルなし14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/3a879c3c-c843-6bd1-2fc3-c682ec9962d3.png)


そのゲームはジャンプができるゲームで、
着地音まで拘りたいというゲームがあったとします

その対象のキャラクターの足の硬さが不ぞろいです

簡単な例を挙げますと人間の「革の靴」と、
「鉄のロボットの足」の足音では、
ジャンプをしたときに着地音は異なる筈です

音の大きさはキャラクターの重さにも比例しますね

それが自然です

革と鉄を具体例に挙げましたが

ゲームに靴の種類、足の装備なんてものは無数に存在します

どこまでゲーム開発者は拘るべきなのでしょうか？

###[１３] <font color="Green">ジャンプを水溜まりに着地すれば、水しぶきの大きさは変わるのか？</font>

![タイトルなし16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/fdc56003-152b-8055-913e-fb8c3e7f072d.png)


![タイトルなし15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/94fe9681-aeef-e42e-c514-055c7ff0ca22.png)

入水の水しぶきはキャラクターの。。。

省略、割愛といたします

あえて言うなら大きさによる、水しぶきの音まで拘ったなら

###[１４] <font color="Green">砂漠や雪原、砂で足を取られる所でジャンプをしたらどうなるのか？</font>

![タイトルなし17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/fe87c017-8c13-f0ed-c3a0-d03eb477f279.png)


本来は砂で足を取られるならば、ジャンプの高さが変わる筈ですが

変わらないゲームもありますし、変わるゲームもありますね

不思議な話です

###[１５] <font color="Green">氷の床でジャンプをしたら滑ってコケないのか？</font>

![タイトルなし18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/5075296a-c151-189f-3cd0-fdcaad20ac75.png)


スケートを想像してみてください、普通はコケます

ですが、

ゲームのキャラクターは万能で優秀なのであまりコケません

ゲームのストレス負荷が高いゲームにもなってしまいますし

氷の床ならば、ヒビの入る大きさはかかる力によって異なる筈です

それが自然です

靴の種類が違うからコケない？

靴の材質に͡拘っているからコケない？

このゲームでは重力が異なるゲームだからそんなことにはならない？

氷の厚さが違うからそんなことにはならない？

非常に不思議な話もあったものです

###[１６] <font color="Green">キャラクターがジャンプで木に刺さってしまう</font>

![タイトルなし19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/ea72d26f-4f93-df8e-532a-dd8c04ac5ad8.png)


とあるゲームでは壁によじ登れたり、ジャンプをよくするゲームでした

プレイヤーはカッコよく！無尽蔵にジャンプを試みます

スタイリッシュなそのゲームな見た目から、
不思議な不具合がリリース後に発生しました

「木にキャラクターが刺さったんだけど？」

それはどういうことかと説明すると

木の形状のコリジョン抜けが木の尖った天辺に存在していました

△

このような形状の木を想像してみてください

どうやらこの尖った木のコリジョンは、
上部にはないとリリース後に発覚してしまいました

グリッチが好きなゲームファンは熱狂したりします

そんなゲームではなかったとしても、そのゲームは少し滑稽であると、
ゲームのイメージを損なう不具合となりました

木のコリジョンは木の外側にはあるので、
プレイヤーは結果として木に刺さり動けなくなりました

コリジョン抜けによるハマりですね

コリジョンの形状は厳密に考える必要があり

どこまでバグチェックを行うのか？

全部の生えている木をチェックするのか？

と非常に考えさせられる事件でした

---

もっともっと多くのジャンプをしてほしくない理由やその原因はあるかもしれませんが、
それはコメントにでも残してくだされば、気が向いたら後程追記させていただきます

キリがなくなってきたので、これぐらいに割愛しておきます

とこのようにジャンプをすると生まれること発生することが無数に存在し、
プログラマーはそれらの全てか一部に対応しなければなりません

本当にそのゲームはジャンプをする理由があるのか？
これらのことが容易に想像できるゲーム開発者であると

プログラマーの仕事はスムーズで捗ります

ジャンプをする弊害を多く語ってしまいましたが、
その分リアリティーにおけるゲームのメリットも多い筈です

なのでそのゲームではもっと色んなゲームではジャンプをして欲しい！
いや、してほしくない？
と思うのが未知なるゲームを求める一人としてはそんなことをよく思うのです

最後に今回で得られた最大の教訓で締めくくって終わりとする

### ゲームのキャラクターで「<font color="DarkOrange">身長</font>」以上に
### 「<font color="Red">ジャンプ！/Jump!</font>」ができるゲームのキャラクターは全て
### 「<font color="Yellow">★</font><font color="Teal">NINJA</font><font color="Yellow">★</font>」である！

そのゲームではなぜ？ジャンプができないのか？を語りました、終わり

# <font color="Red">why？This Game Is Can Not Jump？ End</font>

### ⑩ 「[Compiler Explorer](https://godbolt.org/)」

Compiler Explorer is an interactive online compiler which shows the assembly output of compiled C++, Rust, Go (and many more) code.

Compiler Explorerは、コンパイルされたC++、Rust、Go（その他多くの）コードのアセンブリ出力を表示するインタラクティブなオンラインコンパイラです(※日本語訳) [翻訳 DeepL](https://www.deepl.com/translator)

[Compiler Explorer C](https://godbolt.org/z/meLYy3)
[![00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/533c2185-77d7-85c8-ab29-020147b7603c.png)](https://godbolt.org/z/meLYy3)

[Compiler Explorer C++](https://godbolt.org/z/Si37uY)
[![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/3351ece9-4b4f-2de1-f273-4824dc1348cc.png)](https://godbolt.org/z/Si37uY)

なお、対応言語は多種あります

![ce.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/587057/abf73a4d-1a62-666f-792c-4d1b4b0fa7ea.png)


すごく便利、超便利！

主にプログラマー向けで、
最適化を必要とするケースのプログラマーは、
これは助かります

ありがたい！！！

これは便利だなー

---

### ⑪ 「[GREZZO 技術ブログ Forward+ Rendering](https://www.grezzo.co.jp/tech/archives/1625)」

たまたま見つけたゲームデベロッパーの技術ブログです
プログラムのページでコード付きは貴重！

実行結果のサンプル動画だけ貼っておきます
詳しくはブログ記事内を参照

[TopView](https://www.grezzo.co.jp/tech/wp-content/uploads/sites/11/2018/12/ForwardPlus_TopView.mp4?_=1)

<p class="codepen" data-height="623" data-theme-id="light" data-default-tab="result" data-user="game_programer" data-slug-hash="QWNRMVY" style="height: 623px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="https://www.grezzo.co.jp/tech/wp-content/uploads/sites/11/2018/12/ForwardPlus_TopView.mp4?_=1">
  <span>See the Pen <a href="https://codepen.io/game_programer/pen/QWNRMVY">
  https://www.grezzo.co.jp/tech/wp-content/uploads/sites/11/2018/12/ForwardPlus_TopView.mp4?_=1</a> by ゲームプログラマー⛅あの日見たバグの名前を僕達はまだ知らない。 (<a href="https://codepen.io/game_programer">@game_programer</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>

[View](https://www.grezzo.co.jp/tech/wp-content/uploads/sites/11/2018/12/Forwardplus-View.mp4?_=2)

<p class="codepen" data-height="613" data-theme-id="light" data-default-tab="result" data-user="game_programer" data-slug-hash="bGpyrOQ" style="height: 613px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="https://www.grezzo.co.jp/tech/wp-content/uploads/sites/11/2018/12/Forwardplus-View.mp4?_=2">
  <span>See the Pen <a href="https://codepen.io/game_programer/pen/bGpyrOQ">
  https://www.grezzo.co.jp/tech/wp-content/uploads/sites/11/2018/12/Forwardplus-View.mp4?_=2</a> by ゲームプログラマー⛅あの日見たバグの名前を僕達はまだ知らない。 (<a href="https://codepen.io/game_programer">@game_programer</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>

GREZZOさんの企業ホームページは[コチラ](http://www.grezzo.co.jp/jp/)から

主に任天堂さんの作品や
ゼルダ作品等を制作されています（※ココ重要）

また自社オリジナルタイトルの
「[Ever Oasis -精霊とタネビトの蜃気楼-](https://www.nintendo.co.jp/3ds/bagj/index.html)」
コチラのゲームもオススメです！
(※Switch移植を超期待しております！)

Ever Oasis 精霊とタネビトの蜃気楼 紹介映像-youtube
<iframe width="560" height="315" src="https://www.youtube.com/embed/bBZQJV4UDVI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

[開発者が語る『Ever Oasis』の世界 Vol.1](https://topics.nintendo.co.jp/article/4c686f44-1db8-11e7-8f53-063b7ac45a6d)
コチラの記事も併せて是非読みましょう！

---

# <font color="Red">終わりに</font>

ゲームが好きで、ゲームが作ってみたい！

このゲームはどうやって作られているのだろう？

ゲーム作りをしているとこんなコトやモノがあるんだ！

ゲーム作りの技術って何？等々

ゲーム開発者諸氏の「<font color="Red">応援</font>」の為に
このような記事があってもいいよな？との想いでコノ記事作成に至りました

<font color="Red">全てのゲーム開発者の繁栄</font>を凄まじく時に激しく願っておりますっ！

まだ見ぬ面白い<font color="Red">ゲーム</font>を求めてっ！！

---

#### このページ作成に役立ったリンク

・記事内折りたたみ参考

https://qiita.com/aymikmts/items/71e550bf2c10f36883e9#%E6%8A%98%E3%82%8A%E3%81%9F%E3%81%9F%E3%81%BF

---

※2021-03-11 qiita に iframe の youtube が埋め込めるようになりました

https://qiita.com/release-notes#2021-03-11

\#youtube

https://qiita.com/Qiita/items/c686397e4a0f4f11683d#youtube

<details><summary>◆Markdown記法でyoutubeの動画リンク埋め込み参考</summary>
・[YouTubeの動画をMarkdown記法でGistに埋め込んでみたよ](https://www.tecking.org/archives/3591)
・[Youtube動画からサムネイル画像を取得する方法](https://www.billionwallet.com/goods/youtube_image.html)
test 結果を一応ログとして↓に残しておきます
test markdown youtube link
♪ Fly Octo Fly ~ Ebb & Flow ♫ HD Music Video (English Lyrics)
 - Splatoon 2 Octo Expansion
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/PQCtUWsJPcE/0.jpg)](https://www.youtube.com/watch?v=PQCtUWsJPcE)
Qiita内ですぐに再生したい方はiframeのこちらで再生を♪
<p class="codepen" data-height="425" data-theme-id="light" data-default-tab="result" data-user="game_programer" data-slug-hash="WNwOYvv" style="height: 425px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="https://www.youtube.com/watch?v=PQCtUWsJPcE">
  <span>See the Pen <a href="https://codepen.io/game_programer/pen/WNwOYvv">
  https://www.youtube.com/watch?v=PQCtUWsJPcE</a> by ゲームプログラマー⛅あの日見たバグの名前を僕達はまだ知らない。 (<a href="https://codepen.io/game_programer">@game_programer</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
</details>

♪ Fly Octo Fly ~ Ebb & Flow ♫ HD Music Video (English Lyrics)
 - Splatoon 2 Octo Expansion-youtube
<iframe width="560" height="315" src="https://www.youtube.com/embed/PQCtUWsJPcE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

<details><summary>◆CodePen の iframe と CodePen自体の参考(CodePenでiframeの動画表示)</summary>
・[Qiitaに何が埋め込められるか](https://qiita.com/i-ryo/items/865113a1c4876a024b9e)
・[CodePen で書いたコードを自分のWebサイトに埋め込む方法](https://rs.fitallright.com/how-to-embed-your-code-with-codepen/)
CodePenでResultだけ表示する方法はないものか・・・↓
・[ゆんつてっく「Code Pen」の基本的な使い方](https://yuntu-tek.com/codepen/)
・[ブログに貼り付けた CodePen の表示領域の高さを変える](https://neos21.hatenablog.com/entry/2016/02/21/000000)
~~youtubeの動画を一律で
data-height="422" style="height: 422px
として調整しました~~
良い感じにCodePen内で高さ調節した方がいいかも
（スクロールバーを表示させたくない人は）
Test Result↓
♪ Fresh Start 𝓡𝓮𝓭𝓾𝔁 ♫ Music Video (English Lyrics) 
- Splatoon 2
<p class="codepen" data-height="425" data-theme-id="light" data-default-tab="result" data-user="game_programer" data-slug-hash="YzyZKrP" style="height: 425px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="https://www.youtube.com/watch?v=qC1w9_dqLjE">
  <span>See the Pen <a href="https://codepen.io/game_programer/pen/YzyZKrP">
  https://www.youtube.com/watch?v=qC1w9_dqLjE</a> by ゲームプログラマー⛅あの日見たバグの名前を僕達はまだ知らない。 (<a href="https://codepen.io/game_programer">@game_programer</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
</details>
♪ Fresh Start 𝓡𝓮𝓭𝓾𝔁 ♫ Music Video (English Lyrics) 
- Splatoon 2-youtube
<iframe width="560" height="315" src="https://www.youtube.com/embed/qC1w9_dqLjE" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

### <font color="YellowGreen">Thank You !</font> <font color="MediumSlateBlue">All The Links And [Games] (https://www.nintendo.co.jp/switch/aab6a/index.html) !!</font>

---

<p class="codepen" data-height="354" data-theme-id="light" data-default-tab="result" data-user="game_programer" data-slug-hash="QWyWLme" style="height: 354px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="QiitaLGTMTestPreview">
  <span>See the Pen <a href="https://codepen.io/game_programer/pen/QWyWLme">
  QiitaLGTMTestPreview</a> by ゲームプログラマー⛅あの日見たバグの名前を僕達はまだ知らない。 (<a href="https://codepen.io/game_programer">@game_programer</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>