﻿1
00:00:04,390 --> 00:00:05,530
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,530 --> 00:00:11,590
‫ในการบรรยายนี้ เราจะพูดถึงคอมไพเลอร์และบรรณาธิการเพื่อค้นหาว่ามันคืออะไร และทำไมเราถึงต้องการมัน

3
00:00:11,590 --> 00:00:14,770
‫เมื่อเราต้องการเขียน C++

4
00:00:14,770 --> 00:00:20,950
‫เรามาเริ่มกันด้วยคำจำกัดความของอภิธานศัพท์สักสองสามคำก่อน แล้วเราจะมาดูกันว่ามันเข้ากับระบบนิเวศในวงกว้างได้อย่างไร

5
00:00:21,340 --> 00:00:23,050
‫ก่อนอื่นซอร์สโค้ด

6
00:00:23,050 --> 00:00:26,680
‫นี่เป็นสิ่งสำคัญในการทำความเข้าใจว่าทำไมเราถึงต้องการคอมไพเลอร์ตั้งแต่แรก

7
00:00:26,680 --> 00:00:29,500
‫รหัสที่มาคือรหัสที่เราเขียน

8
00:00:29,500 --> 00:00:30,490
‫มักจะเป็นข้อความ

9
00:00:30,490 --> 00:00:34,150
‫เป็นโค้ดรูปแบบที่มนุษย์อ่านได้ เช่น C++

10
00:00:34,150 --> 00:00:37,060
‫แต่บางครั้งคุณอาจคิดว่าซอร์สโค้ดเป็นพิมพ์เขียวได้เช่นกัน

11
00:00:37,060 --> 00:00:43,720
‫พวกเขาเป็นวิธีที่มนุษย์อ่านได้ในการอธิบายสิ่งที่คุณต้องการให้เกมของคุณทำ สิ่งที่คุณต้องการให้คอมพิวเตอร์ทำ

12
00:00:43,720 --> 00:00:51,460
‫และที่สำคัญคือ ส่วนที่มนุษย์อ่านได้ เพราะมันไม่ได้มีไว้สำหรับเครื่องที่จะสามารถดำเนินการนี้ได้

13
00:00:51,460 --> 00:00:53,470
‫เพื่อให้สามารถทำงานได้

14
00:00:53,560 --> 00:00:57,280
‫นั่นคือบทบาทของไบนารีที่ปฏิบัติการได้

15
00:00:57,280 --> 00:01:04,210
‫โดยปกติแล้วจะเป็นรหัสไบนารี่และเลขศูนย์ และมีไว้สำหรับเครื่องเพื่อให้สามารถอ่านและดำเนินการได้อย่างรวดเร็วบน

16
00:01:04,210 --> 00:01:07,770
‫CPU และบน CPU ของคุณ

17
00:01:07,780 --> 00:01:10,540
‫ดังนั้นจึงเป็นรหัสที่เครื่องอ่านได้

18
00:01:10,540 --> 00:01:19,240
‫ดังนั้นระหว่างสองสิ่งนี้จึงมีช่องว่างและเราจำเป็นต้องแก้ไขช่องว่างนั้นเพื่อให้เราสามารถแปลงรหัสที่มนุษย์อ่านได้เป็นรหัสที่เครื่องอ่านได้

19
00:01:19,240 --> 00:01:22,840
‫และนั่นคือบทบาทของคอมไพเลอร์ที่เรียกว่า

20
00:01:22,840 --> 00:01:26,800
‫มันแปลจาก C ++ หรือพิมพ์เขียวที่มนุษย์อ่านได้

21
00:01:26,800 --> 00:01:31,270
‫อย่างที่เราเคยเห็นมาก่อน เราพบข้อผิดพลาดของคอมไพเลอร์พิมพ์เขียวและอะไรทำนองนั้น

22
00:01:31,270 --> 00:01:39,940
‫ดังนั้นมันจึงแปลจากมนุษย์เป็นโดเมนเครื่องและสร้างไฟล์ XY เหล่านั้นหรือไฟล์ไบนารีเหล่านั้นหรือแพลตฟอร์มใดก็ตามที่คุณอยู่

23
00:01:40,060 --> 00:01:49,300
‫และเห็นได้ชัดว่ามีความซับซ้อนหลายอย่างที่เกี่ยวข้องกับสิ่งที่คอมไพเลอร์ทำ และเราจะเรียนรู้เพิ่มเติมเกี่ยวกับส่วนที่ซับซ้อนกว่าบางส่วนในภายหลัง

24
00:01:49,300 --> 00:01:55,390
‫แต่สำหรับตอนนี้ ก็เพียงพอแล้วที่จะรู้ว่ามันเป็นซอฟต์แวร์ชิ้นหนึ่งที่แปลงจากซอร์สโค้ดเป็นไบนารีโค้ด

25
00:01:55,390 --> 00:02:00,820
‫แล้วมีซอฟต์แวร์อีกชิ้นหนึ่งในการผสมผสานที่เรียกว่าตัวแก้ไขซอร์สโค้ด ซึ่งช่วยให้ชีวิตของคุณง่ายขึ้นเมื่อเขียนโค้ดที่มนุษย์อ่านได้

26
00:02:00,820 --> 00:02:06,130
‫เช่น C++

27
00:02:06,130 --> 00:02:13,780
‫มันทำให้เรามีสิ่งต่างๆ เช่น การเติมข้อความอัตโนมัติและเน้นข้อผิดพลาดใดๆ ที่เราอาจพิมพ์โดยอัตโนมัติ คล้ายกับเครื่องตรวจตัวสะกด

28
00:02:13,780 --> 00:02:19,060
‫เพื่อให้ชีวิตของเราง่ายขึ้นมากเมื่อต้องรับมือกับซอร์สโค้ด

29
00:02:19,120 --> 00:02:23,380
‫เรามาดูกันว่าทั้งหมดนี้เข้ากันได้อย่างไรในระบบนิเวศที่ไม่จริง

30
00:02:23,380 --> 00:02:27,070
‫ดังนั้นเราจึงติดต่อกับบรรณาธิการมาจนถึงตอนนี้

31
00:02:27,070 --> 00:02:38,110
‫เราตัวแก้ไขเป็นซอฟต์แวร์ชิ้นหนึ่งและเป็นซอฟต์แวร์ที่ได้รับการคอมไพล์แล้วสำหรับเรา และเรามีโปรแกรมปฏิบัติการสำหรับตัวแก้ไขนั้นแล้วเมื่อเราไปและติดตั้ง

32
00:02:38,110 --> 00:02:39,670
‫เพื่อให้เราสามารถเปิดตัวแก้ไขได้

33
00:02:39,670 --> 00:02:45,880
‫ตัวแก้ไขช่วยให้เราสามารถแก้ไขและสร้างโปรเจ็กต์เกมของเราโดยใช้เนื้อหาเกมต่างๆ

34
00:02:45,880 --> 00:02:49,960
‫สิ่งเหล่านี้รวมถึงสิ่งต่าง ๆ เช่นตาข่ายที่เรานำเข้ามาในโครงการของเรา

35
00:02:49,960 --> 00:02:53,770
‫ซึ่งรวมถึงเนื้อหาพิมพ์เขียวและรหัสพิมพ์เขียวในนั้น

36
00:02:54,100 --> 00:03:08,050
‫และสิ่งนี้ทำให้เราทำได้คือการใช้แอสเซทของเกมเหล่านี้ที่เราสร้างขึ้นในตัวแก้ไข จากนั้นเราสามารถรันเกมในไฟล์สั่งการแบบสแตนด์อโลนที่แยกจากกันโดยที่มันเล่นเกมเท่านั้นและไม่มีอย่างอื่น

37
00:03:08,110 --> 00:03:11,920
‫อย่างไรก็ตาม รูปภาพจะเปลี่ยนไปเล็กน้อยหากเราต้องการเริ่มใช้ C++

38
00:03:11,950 --> 00:03:23,830
‫C++ เป็นพื้นฐานของตัวแก้ไข และด้วยเหตุนี้ หากเราเปลี่ยน C++ ในตัวแก้ไข เราจำเป็นต้องสร้างโปรแกรมแก้ไขแบบไบนารีที่เรียกใช้งานได้ใหม่

39
00:03:23,830 --> 00:03:28,570
‫ถ้าเรามีซอร์สโค้ดตรงนี้, เรารู้ว่ามันหน้าตาแบบนี้

40
00:03:28,570 --> 00:03:30,310
‫เรามีข้อความ

41
00:03:30,700 --> 00:03:38,380
‫โดยพื้นฐานแล้ว มันเป็นสิ่งที่ประกอบขึ้นเป็นซอร์สโค้ดของเรา และเราแก้ไขซอร์สโค้ดนี้อีกครั้งโดยใช้ซอฟต์แวร์แยกต่างหากที่เรียกว่าตัวแก้ไขซอร์สโค้ดก่อนหน้านี้

42
00:03:38,380 --> 00:03:41,470
‫พิมพ์เขียว

43
00:03:41,470 --> 00:03:47,320
‫เราทำการแก้ไขทั้งหมดด้วยตัวแก้ไข Unreal เพราะมันรวมเข้ากับซอฟต์แวร์อย่างแน่นหนา

44
00:03:47,320 --> 00:03:52,870
‫อย่างไรก็ตาม เมื่อเราจัดการกับ C++ เรากำลังใช้ซอฟต์แวร์บุคคลที่สามเพื่อแก้ไขโค้ด

45
00:03:52,870 --> 00:03:57,730
‫ตอนนี้ หนึ่งที่เราจะใช้ในหลักสูตรนี้เรียกว่า Visual Studio Code เพราะสามารถทำงานข้ามแพลตฟอร์มบน

46
00:03:57,730 --> 00:04:02,980
‫Mac, Linux และ Windows ได้อย่างสมบูรณ์แบบ และยังมีน้ำหนักเบามากอีกด้วย

47
00:04:02,980 --> 00:04:14,170
‫แต่อย่างที่ฉันบอกไป มีช่องว่างระหว่างซอร์สโค้ดที่เราเขียนและเปลี่ยนให้เป็นไฟล์ปฏิบัติการไบนารีที่จำเป็นสำหรับการรันเกมในตัวแก้ไขและในผลิตภัณฑ์เกมสุดท้ายจริง

48
00:04:14,170 --> 00:04:16,570
‫และบิตนั้นก็คือคอมไพเลอร์

49
00:04:16,570 --> 00:04:22,780
‫คอมไพเลอร์จะใช้ซอร์สโค้ดของเรา จะใช้ไลบรารีและฟังก์ชันที่มีอยู่แล้วใน Unreal

50
00:04:22,780 --> 00:04:25,000
‫ที่เราใช้ในซอร์สโค้ดของเรา

51
00:04:25,000 --> 00:04:29,620
‫มันจะรวบรวมสิ่งเหล่านี้เข้าด้วยกัน เปลี่ยนเป็นไบนารีและเอาต์พุต

52
00:04:29,620 --> 00:04:39,070
‫ไม่ว่าจะเป็นตัวแก้ไขที่เราสามารถเปิดและแก้ไขเนื้อหาเกมของเราหรือจะส่งออกเกมที่จะนำเนื้อหาเกมของเราและอนุญาตให้ผู้เล่นเล่นเกมของเรา

53
00:04:39,070 --> 00:04:44,380
‫ขณะนี้มีคอมไพเลอร์ให้เลือก 2 แบบขึ้นอยู่กับว่าคุณใช้แพลตฟอร์มใด

54
00:04:44,380 --> 00:04:49,300
‫หากคุณใช้ Windows เราจะใช้ Visual Studio ดังนั้นอย่าสับสนมากเกินไป

55
00:04:49,300 --> 00:04:51,370
‫พวกเขามีโลโก้ที่คล้ายกันมากและมีชื่อคล้ายกันมาก

56
00:04:51,370 --> 00:04:56,290
‫หนึ่งคือ Visual Studio ซึ่งเป็นคอมไพเลอร์ และอีกตัวหนึ่งคือตัวแก้ไขซอร์สโค้ด และตัวหนึ่งเรียกว่า

57
00:04:56,290 --> 00:04:58,480
‫Visual Studio Code

58
00:04:58,720 --> 00:05:03,070
‫ตอนนี้ หากคุณใช้ Mac คุณจะใช้รหัส X แทน

59
00:05:03,150 --> 00:05:09,580
‫เป็นคอมไพเลอร์บน Mac เพื่อเก็บสิ่งต่าง ๆ ข้ามแพลตฟอร์มเพื่อให้ทุกอย่างเหมือนกันสำหรับทุกคน

60
00:05:09,600 --> 00:05:16,410
‫เราจะใช้โค้ด Visual Studio เพื่อแก้ไขโค้ด แม้ว่าคอมไพเลอร์เหล่านี้จะมีความสามารถในการแก้ไขซอร์สโค้ดในตัวก็ตาม

61
00:05:16,420 --> 00:05:23,760
‫แต่เราจะใช้คอมไพเลอร์เหล่านี้เพื่อนำซอร์สโค้ดมาแปลงเป็นไฟล์ปฏิบัติการไบนารี

62
00:05:23,810 --> 00:05:25,320
‫เอาล่ะ สำหรับการบรรยายครั้งนี้

63
00:05:25,320 --> 00:05:29,460
‫หวังว่าคุณจะชัดเจนขึ้นเล็กน้อยว่าทำไมเราถึงต้องการคอมไพเลอร์ เหตุใดเราจึงต้องการตัวแก้ไขซอร์สโค้ด

64
00:05:29,490 --> 00:05:34,030
‫การบรรยายครั้งต่อไป เราจะพูดถึงขั้นตอนการติดตั้งสิ่งเหล่านั้น

65
00:05:34,050 --> 00:05:34,830
‫ฉันจะไปพบคุณที่นั่น.

