Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Game Dev

/

Game Programming

Unity で始めるゲーム開発: Part 3. シューティングゲーム開発

Unity の基本的な機能とメモリ動作を理解し、プロトタイプではなく実際に 1 サイクルが実行されるゲームを作成する方法を学びます。

  • udev
C#
Unity

学習した受講者のレビュー

こんなことが学べます

  • Unity アクションのメモリ構造

  • Unity でシューティング ゲームを作成する方法

  • プロトタイプではなく実際のゲームを作成する方法

非専攻者&入門者のためのゲーム開発!
Unity + C#の構造と原理を一緒に理解してください。

ユーデブアプリ / UdevApp / udevapp

講義紹介📝

UnityのC#を学んだ後、ゲームを作りたい入門者に最も必要な講義が何であるかを考えてみました。 Unityの内部機能と実際のコードとメモリがどのような関係にあるのかを知ることです。キューブを一つ作ってもキャラクターを一つ作っても、実際の内部的なメモリ動作を知らなければ、これ以上ゲーム制作は不可能です。ただボールがふっくらと弾くプロジェクトだけが作れるだけです。そのような問題を解決するためにこのコースを作成しました。

そのため、他のゲームコースとは異なり、Unityでゲームを作成する途中でUnity機能とC#文法を一緒に学習します。機能の使用のみに焦点を当てていません。 1つの機能が内部的に私が作成するコードとどのように関係しているか、実際のクラスとインスタンスとメモリがUnity関数と私のコードの間でどのように機能するかを説明します。あえて難しい文法を使わなくてもゲーム制作は可能です。デリゲートやインターフェース多重継承が可能なキャラクタークラスを作成する作業は、複数のゲームを簡単に制作してアップロードしてからやるべきことです。

•階層ビューにあるゲームオブジェクトのメモリがどのように存在するか
• なぜドラッグしてオブジェクトをリンクするのか
•なぜTime.deltaTimeをベクトルに掛けるのか
•なぜゲームプログラミングにベクトル3があるのか
•リジッドボディと衝突体が分割されている理由の原理と理由について説明します。

これらの内容は他の講義では1分程度説明して終わる内容です。その講義は実際の開発者のための講義だからです。しかし、ゲーム開発に入門する非専攻者、非専門家には他の講義が必要です。なぜUnityにこれらの機能があるのか​​を理解する必要があります。

そこで、この講義ではゲーム制作のほか、Unityの機能をC#のように理解して実習する内容が講義分の半分を超えていきます。ゲームは中盤の後に出ます。原理を知るまでプログラミングを書けないからです。ゲーム開発だけの講義を学べる人は、実際の開発者だけです。

非専攻者と入門者がどのようにゲームを作れるかについての内容をお知らせするためにこの講義を制作しました。

なぜ学ばなければならないのか✒️

本講義は、ゲーム開発に関する内容を非専攻者や入門者の立場からどのようにアクセスできるかを教える講義です。だからとても簡単ではありません。たとえば、モノビヘイバーのゲームオブジェクト変数が動作する原理のようなものを説明するために、所有参照、逆参照、相互参照の例を説明してから、ゲームオブジェクト変数の動作原理を説明します。似たような構造の小さな例を紹介するのを見ると、なぜこれをしなければならないのか疑問に思うかもしれません。しかし、プログラミングは、コンピュータの内部原理を理解し、コンピュータに話す作業です。私が言うように、コンピュータが動作するためにはクラスの外に出て、私たちが使用できる変数と関数がどのように動作するかを知る必要があります。他人に話すために他人の考えを逆知事するのと同じです。

そしてそれが可能でなければデバッグが可能になります。プログラミングはもともと苦難との戦いです。オルトダントしていない言葉にならないエラーが出ることがあります。これらの問題を解決するためには、基礎が不可欠です。

入門者や初心者の場合は、基礎C# (Part.2に該当する内容)を知らないと、この講義の理解が不可能です。しかし、この講義を学んだ後、私が同様の例を作ることができるようになると、実際のゲームを作る恐れはなくなります。

  • ゲームを作る前に原理から学びます。原理を知れば応用が可能です。理解しないでフォローするだけでゲームを作ることはできません。
  • 講義当たり10分の学習時間を超えません。 (越える講義もありますが、越えても良いと思うのにそう製作しました。もし長くて学習に邪魔になると思えば分けたり、また撮るようにします。)

この講義で学ぶこと✏️

  • Unityの機能を使用して、必要な機能を追加する方法を学ぶことができます。
  • API ドキュメントの表示方法を学ぶことができます。
  • Unityの機能が内部的にどのように機能するかを説明します。
  • 作成するコードのメモリと原理について説明します。
  • 私が書いたコードとUnityの機能のメモリについて説明します。

講義の特徴💡

Unityのメモリ構造を見ながら文法を学び、実際のゲームを開発することを目指しています。簡単なシューティングゲームですが、実際のストアにまで上げるタスクを実行します。

この講義を聞いたら、簡単なゲームを開発できるようになります。ただ入門者の場合は長く握って1日30分ずつ必ず練習が必要です。ユニティに接近する初心者や非専攻者に大きな助けになると思います。

現在の講義は約8時間分で短いですが、講義数が100件近くになります。 (継続追加予定)
短い講義で短く勉強し、練習すれば1日30分で早ければ30日長いと3ヶ月でUnity C#プログラミングの基礎を学習できます。しかし、非専攻者は学習を遅くすることをお勧めします。プログラミングは言語なので、長期記憶に積み重ねてこそ自分でプログラミングをすることができます。

セクションごとに簡単な紹介📖

セクション0. C#の復習

  • 専攻者がUnityにアクセスするためにUnityを調べてC#を復習するステップです。
  • 既存の学習者の場合はスキップしても良いですが、復習次元で見てみることをおすすめします。
  • 特にオブジェクト指向1とオブジェクト指向2の講義は必ずお聞きください。

セクション1.ゲーム開発とユニティ

  • 実際のUnityの機能がどのようにメモリが動作するかを見てください。
  • ゲームオブジェクトとコンポーネントの関係を調べ、実際の内部動作をテストします。
  • 内部的にどのようにメモリで動作するかを知ると、プログラミングの恐れが消えます。

セクション2.クラスの包含関係(既存の予定がなかった講義として追加しました)

  • クラスは同じクラスでも包含関係を持ちます。
  • クラスの中で誰がメインで、誰がサブであるかを知ることで、両方を確実に管理できます。
  • 所有参照と逆参照、相互参照を学び、これがUnityでどのように動作するかを見てください。
  • UnityのAPIを見る方法を学びます。慣れれば、APIだけを見ても開発が可能です。

セクション3.基本文法とユニティ

  • C#文法がUnityでどのように使用され、どのように提供されるかを知る必要があります。
  • 静的および一般化プログラミングをUnityの観点から学びます。
  • キーボードの入力とマウスの入力を学びます。
  • 文法がUnityで使用されている様子を理解すると、Unityクラスを見る観点が異なります。

セクション4.オブジェクトの移動

  • ベクトル3はただのベクトル3ではありません。使用される場所ごとに、位置、方向、速度、サイズ、角度などの他の意味で使用されます。ベクトル3は単にベクトルだとは思わないでください。
  • オブジェクトの移動と速度を非常に簡単にお知らせします。 (なぜスピードというものがあるのか​​悩みました。)
  • なぜ移動時にベクトルを掛け、時間を掛けて加算する過程を経るのかはっきりとお知らせします。

セクション5.オブジェクトの管理と衝突

  • 衝突体と剛体を適用するのが難しい理由を説明します。
  • 所有しているオブジェクトを管理する方法を説明します。
  • Unityで適用した内容を実際のコードで動作させると、どうなるかを比較してUnityの内部構造を調べます。

セクション 6. シューティングゲーム プロトタイプの作成(既存予定になかった講義で難易度調整のために追加しました)

  • プロトタイプを作成し、実際のゲームを作成する準備をします。
  • 解像度を1つに固定し、ピクセルパーユニットとカメラサイズを定義する方法を学びます。
  • キャラクターと敵と背景を動かし、簡単なプロトタイプのゲームを開発します。

セクション7. シューティングゲームの作成

  • 実際に戦い、集め、アップグレードして、単純な成長と敵の出現を実現する「ワンサイクル」のあるゲームを制作します。
  • キャラクターのアップグレードを適用します。
  • 敵キャラクターがステージによって強くなる内容を追加します。
  • ボスキャラクターを適用します。

セクション8.ゲームのUI

  • プレイするだけがゲームではありません。 UIはプログラミングのもう1つの軸です。
  • キャンバスの座標系を知り、それぞれのUIを追加します。
  • ゲームの画面を整理します。

セクション 9. ストアのアップロード

  • ゲームに加えてどのような機能が必要かを調べて実装します。
  • 広告機能をゲームにリンクします。
  • ストアにアップロードする前の準備と注意点を学びます。

ここで扱うツール 🧰

この講義では学習をして、ぜひ実習をすることをお勧めします。特に非専攻者はいつもプログラミングで仕事をしないので、ただ見るだけでは絶対プログラミングを習得することはできません。
理解をしてから必ず実習をしなければなりません。

予想される質問 Q&A 🙋🏻‍♂️

Q. 非専攻者も聞くことができますか?
A. はい、非専攻者と専攻者の両方のための講義です。ただし、非専攻者や入門者の場合は、Inflearnの選手科目であるPart2のC#プログラミング講座」を聞いて来なければ聞くことができません。

Q. 「シューティングゲーム開発講義」を学ぶと何がいいですか?
A. 原理を知ってこそ応用が可能です。プログラミングをするだけでなく、エラーをキャッチする場合も原理を知ってこそ応用ができます。プログラミング時にエラーが発生しても、他の誰かが問題を解決しません。実際のゲームを作成し、1サイクルを回すと、より多くのことができます。

Q. 「シューティングゲーム開発講義」を聞くとどんなことができますか?
A. Unityでゲームを作るスタート地点に立つことができます。また、Unityで別のプログラムを作成するときに大きな助けになります。原理がわかるので応用が可能です。つまり、単純なゲームですが、ゲームを作ることができる実力を持つことができます。また、実際にアップロード可能なゲームを作ってアップロードまでする実務的な内容までも含めるため、スマートフォンのゲーム開発に必要な実際的なヒントを得ることができます。

Q. この講義だけの特別な利点がありますか?
A. 初めて見ると難しいかもしれません。しかし、その段階を超えて中盤以上に行くと、原理の概念が生まれます。内部構造を知ることで、コンピュータがどのように戻るかを予測できます。これにより、プログラミングだけでなくデバッグのスキルも向上します。キャリアはなぜキャリアですか?デバッグを上手くしてキャリアなのです。デバッグが上手なキャリアの視点をお知らせします。 99%を完了してもエラーがあると、そのゲームは成功しにくくなります。そして、エラーを解決できない場合、それほど難しいことはありません。このような状況を防ぐために、原則とメモリの勉強が必要です。

前の講義を見る📼

Unityで始まるゲーム開発:
Part 1. コンピュータ構造入門

非専攻者も簡単に、コンピュータが動作する基本原理を理解してみてください。
Unityで始まるゲーム開発:
Part 2. C# プログラミング入門

Unityゲーム開発のスケルトンを築く最初のC#プログラミング!

こんな方に
おすすめです

学習対象は
誰でしょう?

  • C# の基礎を学んだばかりの方

  • Unity オブジェクトのメモリ動作原理が気になる方

前提知識、
必要でしょうか?

  • 構造指向に関連する C# プログラミング言語

  • C# プログラミング Part1

こんにちは
です。

5,376

受講生

181

受講レビュー

151

回答

4.9

講座評価

4

講座

안녕하세요. UDevApp 의 최형선이라고 합니다. 

무엇인가를 만들어낸다는 것은 정말로 행복한 일입니다. 

세상에 나의 제품이 나올 때의 느낌은 스티브잡스가 느낀 그것이나 

여러분들이나 저와 다르지 않다고 생각합니다. 

여러분들에게 그러한 감정을 드리는 사람이 되고 싶습니다. 

네이버카페와 블로그와 유튜브에도 많이 찾아와 주시길 바랍니다.

.

https://cafe.naver.com/ultimategunz(카페바로가기)

http://blog.naver.com/siwoo2406(블로그 바로가기)

https://www.youtube.com/user/ChoiHyungSun/(유튜브 바로가기)

감사합니다. 

カリキュラム

全体

230件 ∙ (30時間 21分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

21件

5.0

21件の受講レビュー

  • ehdrjs0601님의 프로필 이미지
    ehdrjs0601

    受講レビュー 3

    平均評価 5.0

    5

    77% 受講後に作成

    학교 선배님한테 추천받아서 들어봤는데 교육과정보면 섹션 정리가 너무 잘 돼서 찾고 싶은 거 바로바로 들을 수 있었던 게 너무 좋았고 내가 소리에 좀 예민해서 목소리 엄청 신경 쓰는데 들으면서 거슬리는 게 없었던 거 같음 교과서로 공부했던 것보다 훨씬 좋은 게 예시를 잘 들어서 이해하기 쉬웠음 C#좀 배웠으면 충분히 할만 할 거 같고 독학하는 사람한테는 투자할만함

    • UDevApp
      知識共有者

      좋은 수강평 정말 감사합니다. 비전공자가 접근하기 쉽게 만든 강의입니다. 열심히 하셔서 좋은 결과 있으셨으면 좋겠습니다. ^^

  • dsic777님의 프로필 이미지
    dsic777

    受講レビュー 3

    平均評価 5.0

    5

    94% 受講後に作成

    자세하고 꼼꼼하고 충실한 강의입니다...

    • UDevApp
      知識共有者

      좋은 수강평 너무 감사드립니다. 강의 빨리 다 완료하고 다음 강의도 만들도록 하겠습니다. ^^

  • ouni00님의 프로필 이미지
    ouni00

    受講レビュー 1

    平均評価 5.0

    5

    19% 受講後に作成

    안녕하세용 강사님 처음엔 내용이 쉬어서 인터넷에 있는 딴 강의랑 별 차이가 없나 싶었는데 조금 지나고 스크롤 메뉴들어가고 데이터 로딩하고 하는것 보니까 거의 중급자용 강의가 되버렸네요 ㅋㅋㅋ 저는 강사님이 올린 강의들로 유니티를 처음 접했는데 조금 어렵긴한데 계속 따라갈수는 있을것같아요!! 이거 완료되면 저도 게임 업로드 하고 싶습니다!!

    • UDevApp
      知識共有者

      좋은 수강평 너무 감사드립니다. 빨리 다음 강의 만들어서 뵙도록 하겠습니다. ^^

  • 크레데레님의 프로필 이미지
    크레데레

    受講レビュー 4

    平均評価 5.0

    5

    17% 受講後に作成

    강의 업로드 전부 완료되면 글을 남기려고 했는데 이제 조금 남은거 같아서 리뷰 남깁니다. 저는 프로그래밍을 이걸로 처음 접근했고요. 강의에서 말하신대로 하루에 한시간씩 혹은 30분씩을 계속 보고 연습했습니다. 이렇게 계속 공부해서 보니 진짜 좋네요 다른 유니티 강좌와는 다른 차별화된 점이 있습니다. 그냥 C#이 아니라 C#과 관련된 유니티에서 사용되는 C#의 원리를 배우게 되는데요. 이게 정말 도움이 많이 됩니다. 다른 강의들은 그대로 따라하는 식으로 진행되지만 이건 원리 그 자체를 알려주기 때문에 정말 좋습니다. 왜 이 코드를 지금 써야 하는지를 알게 되니 직접 만들때도 큰 도움이 되는 것 같습니다. 그리고 캐릭터 업그레이드 되고 선택하고 해금하는 기능이 되어 있어서요. 다른 게임을 만들때 큰 도움이 될 것 같습니다. 빨리 전부 완료되어서 저도 업로드를 해봤으면 좋겠습니다. 다음에도 좋은 강의 부탁드립니다.

    • UDevApp
      知識共有者

      좋은 수강평 감사드립니다. 매일 연습하셨군요. 생업이 있으신 입장에서 비전공자분들이 접근하려면 이 방법밖에 없다고 생각합니다. 좋은 결과 있으시길 바라며 다음 강의도 빨리 만들어서 오픈하겠습니다. 감사합니다. ^^

  • climber515님의 프로필 이미지
    climber515

    受講レビュー 4

    平均評価 4.0

    5

    94% 受講後に作成

    좋은 강의 감사합니다

    ¥9,105

    udevの他の講座

    知識共有者の他の講座を見てみましょう!

    似ている講座

    同じ分野の他の講座を見てみましょう!