﻿1
00:00:04,390 --> 00:00:05,530
‫こんにちは､ ようこそ｡

2
00:00:05,530 --> 00:00:14,770
‫この講義では､ コンパイラとエディタについて､ それらが何であるか､ なぜC++を書くときにそれらが必要なのかを考えていきます｡

3
00:00:14,770 --> 00:00:20,950
‫そこで､ まず用語の定義から始め､ それらがどのように広いエコシステムに適合するかを見ていきます｡

4
00:00:21,340 --> 00:00:23,050
‫まず､ ソースコード｡

5
00:00:23,050 --> 00:00:26,680
‫これは､ そもそもなぜコンパイラが必要なのかを理解する上で非常に重要なことです｡

6
00:00:26,680 --> 00:00:29,500
‫ソースコードとは､ 私たちが書いたコードのことです｡

7
00:00:29,500 --> 00:00:30,490
‫だいたいテキストです｡

8
00:00:30,490 --> 00:00:34,150
‫C++のような人間が読める形のコードです｡

9
00:00:34,150 --> 00:00:37,060
‫しかし､ 時にはソースコードも設計図であると考えることもできます｡

10
00:00:37,060 --> 00:00:43,720
‫ゲームに何をさせたいか､ コンピュータに何をさせたいかを､ 人間が読みやすい形で表現しているのです｡

11
00:00:43,720 --> 00:00:53,470
‫そして､ 重要なのは､ 人間が読める部分です｡ なぜなら､ 機械がこれを実行したり､ 実行させたりすることは想定していないからです｡

12
00:00:53,560 --> 00:00:57,280
‫それがバイナリ実行ファイルの役割です｡

13
00:00:57,280 --> 00:01:04,210
‫通常はバイナリコードの1と0で､ 機械がそれを素早く読み取り､ CPU上で実行できるようにするためのもので､

14
00:01:04,210 --> 00:01:07,770
‫CPU上で実行する｡

15
00:01:07,780 --> 00:01:10,540
‫そして､ 機械読み取り可能なコードとなるわけです｡

16
00:01:10,540 --> 00:01:19,240
‫そのため､ この2つの間にはギャップがあり､ そのギャップを修正して､ 人間が読めるコードを機械が読めるコードに変換する必要があるのです｡

17
00:01:19,240 --> 00:01:22,840
‫そして､ それがこのコンパイラと呼ばれるものの役割である｡

18
00:01:22,840 --> 00:01:26,800
‫人間が読めるC++や設計図から翻訳するのです｡

19
00:01:26,800 --> 00:01:31,270
‫以前にもあったように､ ブループリントのコンパイラーエラーなどに出くわすことがあります｡

20
00:01:31,270 --> 00:01:39,940
‫つまり､ 人間から機械の領域に変換して､ XYファイルやバイナリファイルなど､ どんなプラットフォームでも作成することができるのです｡

21
00:01:40,060 --> 00:01:49,300
‫コンパイラが行うことには､ 明らかに多くの複雑な要素が含まれています｡

22
00:01:49,300 --> 00:01:55,390
‫しかし､ 今は､ ソースコードからバイナリコードに変換するソフトウェアであることが分かれば十分です｡

23
00:01:55,390 --> 00:02:00,820
‫また､ ソースコードエディターと呼ばれるソフトウェアもあり､ これはC++のような人間が読みやすいコードを書くときに､

24
00:02:00,820 --> 00:02:06,130
‫生活を楽にするためにあります｡

25
00:02:06,130 --> 00:02:19,060
‫オートコンプリートのような機能で､ 入力ミスを自動的にハイライトしてくれるので､ スペルチェッカーのような感覚でソースコードを扱うことができます｡

26
00:02:19,120 --> 00:02:23,380
‫それでは､ アンリアルのエコシステムの中で､ これらがどのように組み合わされているのかを見てみましょう｡

27
00:02:23,380 --> 00:02:27,070
‫だから､ 今までは編集者の方とお付き合いしていたんです｡

28
00:02:27,070 --> 00:02:38,110
‫エディタはソフトウェアの一部であり､ すでにコンパイルされているもので､ インストールした時点でそのエディタの実行ファイルが出来上がっています｡

29
00:02:38,110 --> 00:02:39,670
‫そこで､ エディタを開くことができます｡

30
00:02:39,670 --> 00:02:45,880
‫このエディターでは､ 様々なゲームアセットを使って､ ゲームプロジェクトを修正・作成することができます｡

31
00:02:45,880 --> 00:02:49,960
‫これには､ プロジェクトに持ち込んだメッシュなどが含まれます｡

32
00:02:49,960 --> 00:02:53,770
‫そこにブループリントのアセットとブループリントのコードが含まれているそうです｡

33
00:02:54,100 --> 00:03:00,670
‫そして､ エディターで作成したゲームアセットを使って､ 別のスタンドアロン実行ファイルでゲームを実行し､

34
00:03:00,670 --> 00:03:08,050
‫ゲームをプレイするだけで､ 他には何もしないことができるのです｡

35
00:03:08,110 --> 00:03:11,920
‫しかし､ C++を使い始めようと思うと､ 少し様相が変わってきます｡

36
00:03:11,950 --> 00:03:23,830
‫C++はエディタの基盤であり､ そのため､ エディタのC++を変更する場合､ 本質的にエディタのバイナリ実行ファイルを再構築する必要があります｡

37
00:03:23,830 --> 00:03:28,570
‫ソースコードをここに置いておくと､ ちょっとこんな感じになります｡

38
00:03:28,570 --> 00:03:30,310
‫テキストもありますよ

39
00:03:30,700 --> 00:03:41,470
‫基本的にはソースコードを構成するもので､ このソースコードをまた別のソースコードエディター以前blueprintと呼ばれるソフトウェアを使って編集しています｡

40
00:03:41,470 --> 00:03:47,320
‫ソフトウェアと密接に統合されているため､ すべてアンリアルのエディター内で編集しています｡

41
00:03:47,320 --> 00:03:52,870
‫しかし､ C++を扱う場合､ サードパーティのソフトウェアを使ってコードを編集することになります｡

42
00:03:52,870 --> 00:03:57,730
‫このコースで使用するのはVisual Studio Codeと呼ばれるもので､ Mac､ Linux､

43
00:03:57,730 --> 00:04:02,980
‫Windowsで完璧に動作するクロスプラットフォームであり､ また非常に軽量なものです｡

44
00:04:02,980 --> 00:04:07,990
‫でも､ さっきも言ったように､ 書いたソースコードをエディターでゲームを動かすために必要なバイナリ実行ファイルにするのと､

45
00:04:07,990 --> 00:04:14,170
‫実際に最終的なゲーム製品にするのとでは､ このギャップがあるんだ｡

46
00:04:14,170 --> 00:04:16,570
‫そしてそのビットがコンパイラなのです｡

47
00:04:16,570 --> 00:04:25,000
‫コンパイラーは､ 私たちのソース コードで使用している､ Unreal にすでに組み込まれているライブラリや機能を取り込みます｡

48
00:04:25,000 --> 00:04:29,620
‫これらをまとめてコンパイルし､ バイナリにして出力します｡

49
00:04:29,620 --> 00:04:39,070
‫ゲーム資産を編集できるエディターか､ ゲーム資産を取り込んでプレイヤーがゲームをプレイできるようにするゲームを出力します｡

50
00:04:39,070 --> 00:04:44,380
‫現在では､ どのプラットフォームを使っているかによって､ コンパイラの選択肢が2つあります｡

51
00:04:44,380 --> 00:04:49,300
‫Windowsの場合は､ Visual Studioを使用しますので､ これらをあまり混同しないようにしましょう｡

52
00:04:49,300 --> 00:04:51,370
‫ロゴも名前もよく似ていますね｡

53
00:04:51,370 --> 00:04:56,290
‫一つはコンパイラであるVisual Studio､ もう一つはソースコードエディタだけのもので､ これはVisual

54
00:04:56,290 --> 00:04:58,480
‫Studio Codeと呼ばれています｡

55
00:04:58,720 --> 00:05:03,070
‫さて､ あなたがMacを使用している場合､ 代わりにXコードを使用することになります｡

56
00:05:03,150 --> 00:05:09,580
‫Macのコンパイラは､ クロスプラットフォームで､ 誰もが同じように使えるようにするためのものなのでしょうか｡

57
00:05:09,600 --> 00:05:14,310
‫これらのコンパイラにはソースコードの編集機能が組み込まれていますが､ 実際にコードを編集するにはVisual

58
00:05:14,310 --> 00:05:16,410
‫Studioのコードを使用することになります｡

59
00:05:16,420 --> 00:05:23,760
‫しかし､ 私たちはこれらのコンパイラを使って､ 実際にソースコードからバイナリ実行ファイルに変換することになるのです｡

60
00:05:23,810 --> 00:05:25,320
‫さて､ 今回の講義はここまでです｡

61
00:05:25,320 --> 00:05:29,460
‫なぜコンパイラが必要なのか､ なぜソースコードエディタが必要なのか､ 少しは理解していただけたでしょうか｡

62
00:05:29,490 --> 00:05:34,030
‫これから数回の講義で､ それらをインストールする手順を説明します｡

63
00:05:34,050 --> 00:05:34,830
‫現地でお会いしましょう｡

