1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn lập trình game cơ bản tìm hiểu về một số engine Được dùng Để phát triển game

39 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tiểu Luận Môn Lập Trình Game Cơ Bản Tìm Hiểu Về Một Số Engine Được Dùng Để Phát Triển Game
Tác giả Nguyễn Quốc Đạt, Nguyễn Văn Tuấn, Nguyễn Hồng Nhung
Người hướng dẫn Giảng viên: Phạm Vũ Minh Tú
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Lập Trình Game
Thể loại Tiểu luận
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 39
Dung lượng 10,19 MB

Nội dung

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮTLà một hệ thống phần mềm được sử dụng để phát triển và chạy các trò chơi máy tính.. Là một bộ công cụ phát triển phần mềm được cung cấp cho các nhà phát tr

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA ĐA PHƯƠNG TIỆN

TIỂU LUẬN MÔN LẬP TRÌNH GAME CƠ BẢN Tìm hiểu về một số engine được dùng để phát triển game

Giảng viên: Phạm Vũ Minh Tú

Nguyễn Quốc Đạt Nguyễn Văn Tuấn Nguyễn Hồng Nhung

HÀ NỘI, THÁNG 11/2023

Trang 2

6 Khả năng kết xuất và đa nền tảng:

7 Công cụ phân tích và gỡ lỗi:

8 Quản lý dự án:

9 Cộng đồng và thư viện tài nguyên:

10 Ưu điểm và nhược điểm:

6 Khả năng kết xuất và đa nền tảng:

7 Công cụ phân tích và gỡ lỗi:

8 Cộng đồng và thư viện tài nguyên:

9 Ưu điểm và nhược điểm:

6 Khả năng kết xuất và đa nền tảng:

7 Công cụ phân tích và gỡ lỗi:

8 Cộng đồng và thư viện tài nguyên:

Trang 3

9 Ưu điểm và nhược điểm:Bảng so sánh

Trang 4

DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT

Là một hệ thống phần mềm được sử dụng

để phát triển và chạy các trò chơi máy tính

Nó cung cấp các chức năng và công cụ để quản lý đồ họa, vật lý, âm thanh, cũng như quy tắc chơi trong trò chơi, giúp nhà phát triển tạo ra trải nghiệm trò chơi tốt hơn

Không gian hai chiều, thường được sửdụng để mô tả hình ảnh, đồ họa hoặc bản

vẽ trên mặt phẳng, không có chiều sâu thứ

Không gian ba chiều, thường được sửdụng để mô tả các đối tượng, mô hình, hoặc mô phỏng có chiều sâu và thể hiện thông tin về độ cao, rộng và sâu

Công nghệ tạo ra môi trường ảo hoàn toàn, trong đó người dùng hoàn toàn ngập trong một thế giới tạo ra bởi máy tính AR (Augmented Reality) là công nghệ kết hợp thông tin thực tế với thông tin ảo, tạo ra một môi trường mở rộng cho người dùng

Một lĩnh vực trong khoa học máy tính và công nghệ liên quan đến việc phát triển máy tính hoặc hệ thống có khả năng học

và thực hiện các nhiệm vụ thông minh

Trang 5

giống như con người AI có thể bao gồmhọc máy (machine learning), xử lý ngôn ngữ tự nhiên (natural

processing), thị giác máy tính (computer vision), và nhiều công nghệ khác để tạo ra các ứng dụng thông minh và tự động

Một chương trình máy tính hoặc máy tự động thiết kế để thực hiện các nhiệm vụ cụ thể, thường được sử dụng để tự động hóa công việc trên Internet hoặc giao tiếp với con người thông qua chat hoặc các tương

Ám chỉ đến máy tính cá nhân, một thiết bị tính toán dành cho sử dụng cá nhân hoặc văn phòng

Là một bộ công cụ phát triển phần mềm được cung cấp cho các nhà phát triển để giúp họ phát triển ứng dụng hoặc phần mềm cho một nền tảng cụ thể, như các ứng dụng di động hoặc ứng dụng trên một hệ thống cụ thể

Trang 6

DANH MỤC CÁC HÌNH ẢNH

Hình A Các Game Engine hiện có trên thị trường

Hinh I.3 Ngôn ngữ lập trình C#

Hình I.8.1 Quản lý dự án trong Unity

Hình II.1 Hình ảnh trong phim Jurassic Park được tạo từ UE

Hình II.9.1.1 Unreal engine hỗ trợ nhiều công cụ

Hình II.9.1.2 Unreal engine trong thiết kế nội thất Hình III.4.1 Giao diện cơ bản CryEngine

Trang 7

Game Engine là công cụ để các nhà sáng lập thiết kế các trò chơi điện tử Phần mềm này cung cấp tài nguyên cho các nhà sản xuất phát triển game Thông thường bao gồm các công cụ vật lý, kết xuất đồ hoạ cho hình ảnh 2D hoặc 3D, dựng ảnh đồ thị, tạo dòng dữ liệu xử lý, dựng ảnh đồ thị, quản lý bộ nhớ,…Game Engine thường áp dụng cho các tựa game bắn súng, nhập vai 3D với ngôn ngữ lập trình phức tạp.

Với sự phát triển của công nghệ thông tin và nhu cầu của người dùng, ngành công nghệ game có sự cạnh tranh khốc liệt, đòi hỏi nhà sản xuất luôn sáng tạo

và cập nhật để không bị đào thải Game Engine mang đến một bộ công cụ nền

để các nhà sản xuất phát triển và có thể tái sử dụng từng phần giúp tiết kiệm thời gian, chi phí cũng như công sức hiệu quả Game Engine hiện nay luôn được phát triển, các game Engine sử dụng các ngôn ngữ lập trình như Java và C# hay NET hay Python để phát triển

Một số các engine phổ biến được sử dụng: Unity, Unreal, CryEngine, Cocos2D, GameMaker Studio, PlayCanvas…

hiện có trên thị trường

Một số các Game Engine phổ biến

Trang 8

Lịch sử ra đời:

là một game engine đa nền tảngđược phát triển bởi Unity Technologies, chủ yếu để phát triển video game cho máy tính, consoles và điện thoại Lần đầu tiên nó được công bố chạy trên hệ điều hành OS X, tại Apple's Worldwide Developers Conference vào năm 2005

Hơn 50% số lượng game trên thị trườngđược sản xuất bởi Unity Một vài tựa game vô cùng nổi tiếng được tạo ra bởi Unity có thể được kể đến như Pokémon

Go, Hearthstone, Ori And The Blind Forest, Monument Valley, Axie Infinity,…

Độ “phủ sóng” của Unity rất rộng, có thể được áp dụng phổ biến trong nhiều dòng game khác nhau từ game “hạng nặng” Triple A (AAA) cho đến game giáo dục đơn giản cho con nít

Trang 9

Các phiên bản:

Cho tới hiện tại, đã có 6 phiên bản Unity được phát hành

: Đây là phiên bản đầu tiên của

: Đã hỗ trợ (đã bị loại sau khi phát hành

Ngoài ra, Unity cũng có các phiên bản Long Term Support (LTS) cho người dùng muốn duy trì và phát triển game/content trên một phiên bản ổn định trong thời gian dài Các phiên bản LTS bao gồm:

Ngôn ngữ lập trình sử dụng:

Unity sử dụng ngôn ngữ lập trình C# cho việc phát triển ứng dụng và trò chơi Đây là ngôn ngữ duy nhất được Unity hỗ trợ 1 cách chính thức

Trang 10

C# là một ngôn ngữ lập trình hướng đối tượng, nếu bạn mới bắt đầu với Unity, nó là ngôn ngữ tốt nhất để bắt đầu.

nity từng hỗ trợ UnityScript (hay còn gọi là Javascript cho Unity) và Boo trong quá khứ Tuy nhiên, từ 2016, hãng đã loại bỏ ngôn ngữ này và tập trung vào C#

Hinh I.3 Ngôn ngữ lập trình C#

Giao diện cơ bản:

Scene View (Khung Hiển Thị Khung Cảnh): Đây là nơi bạn xây dựng và chỉnh sửa các khung cảnh (scenes) trong trò chơi Bạn có thể thêm các đối tượng, ánh sáng, camera và hiệu ứng vào khung cảnh từ đây

Trang 11

Game View (Khung Hiển Thị Trò Chơi): Khung này cho bạn xem trước trò chơi trong thời gian thực Bạn có thể kiểm tra cách trò chơi sẽ hiển thị cho người chơi, cho phép bạn xem trước và kiểm tra trò chơi trong quá trình phát triển, từ đó phát hiện và sửa lỗi cũng như đánh giá trải nghiệm của người chơi.

Hierarchy (Danh Sách Đối Tượng): Danh sách này hiển thị tất cả các đối tượng trong khung cảnh Bạn có thể tìm kiếm, sắp xếp và quản lý các đối tượng từ đây

Trang 12

Inspector (Bảng Thuộc Tính): Khi bạn chọn một đối tượng trong danh sách, thông tin chi tiết về đối tượng đó sẽ hiển thị ở đây Bạn có thể chỉnh sửa các thuộc tính của đối tượng từ bảng này Là nơi mà bạn có thể xem

và chỉnh sửa các thuộc tính và thành phần của đối tượng Tính năng này

signer cũng có thể tham gia vào quá trình làm game mà không cần biết quá nhiều về

Trang 13

Project (Dự Án):Đây là nơi mà các developer quản lý tất cả tài nguyên, script và tệp liên quan đến dự án làm game Developer có thể tổ chức các tệp theo thư mục để dễ dàng tìm kiếm và kéo thả vào scene mình muốn.

Trang 14

Console (Bảng Ghi Chú): Bảng này hiển thị thông báo lỗi, cảnh báo và ghi chú từ Unity hoặc từ mã lập trình của bạn.

Trang 15

Toolbar (Thanh Công Cụ): Thanh này chứa các công cụ để tạo, chỉnh sửa

và quản lý trò chơi Bạn có thể thay đổi chế độ xem, tạo đối tượng mới và thực hiện các tác vụ khác từ thanh này

Unity có một cộng đồng lớn và phong phú với các tài liệu, tài nguyên và thư viện của cộng đồng, giúp bạn dễ dàng mở rộng tính năng của ứng dụng hoặc trò chơi của

Trang 16

Unity có khả năng tự động đồng bộ hóa tài nguyên và mã nguồn cho các nền tảng khác nhau, giúp giảm thời gian và công sức cần thiết để phát triển và duyệt qua các phiên bản nền tảng khác nhau.

6.2 Khả năng kết xuất:

Độ phân giải và chất lượng hình ảnh: Unity cho phép bạn điều chỉnh độ phân giải, chất lượng hình ảnh và hiệu suất kết xuất dựa trên nền tảng và thiết bị cụ thể

Unity hỗ trợ nhiều hiệu ứng đặc biệt như ánh sáng và bóng, phản xạ, hiệu ứng nước, hiệu ứng hỏa hoạn, và nhiều hiệu ứng khác để làm cho hình ảnh trở nên sống động và hấp dẫn

Ánh sáng và bóng: Unity hỗ trợ hệ thống ánh sáng và bóng mạnh mẽ để tạo ra cảnh quang học phức tạp, bao gồm ánh sáng điểm, ánh sáng môi trường, bóng đổ, và phản xạ

Công cụ phân tích và gỡ lỗi:

User Profile: Là một công cụ quan trọng để theo dõi hiệu suất ứng dụng của bạn Nó cung cấp thông tin về FPS, thời gian CPU và GPU, và sử dụng bộ nhớ Điều này giúp bạn xác định và khắc phục vấn đề về hiệu suất

Trang 17

Unity Analytics: Cho phép bạn theo dõi hành vi của người dùng trong ứng dụng hoặc trò chơi của bạn Bạn có thể thu thập dữ liệu về người dùng,

sự tương tác, và nhiều thông tin quan trọng khác để cải thiện trải nghiệm của họ

thể sử dụng các công cụ tích hợp sẵn trong Visual Studio để gỡ lỗi và phân tích mã nguồn 1 cách dễ dàng

Quản lý dự án:

Quản lý dự án trong Unity

Khi tạo 1 dự án trong Unity, nó tổ chức và quản lý dự án theo 1 cấu trúc thư mục cụ thể

Trang 18

Thư mục Assets: Chứa tất cả các tài nguyên của dự án, bao gồm hình ảnh,

âm thanh, mô hình 3D, script, văn bản và các tài liệu khác Đây là nơi bạn

sẽ làm việc chủ yếu trong quá trình phát triển

Packages: Chứa các gói tài nguyên ngoài của Unity, bao gồm các gói mở rộng và plugin từ Unity Asset Store hoặc các nguồn khác

Cộng đồng và thư viện tài nguyên:

Unity có cộng đồng, để hỗ trợ mỗi khi người dùng có thắc mắc về cách sử dụng hoặc về các phiên bản cập nhật, khi gặp lỗi, bug

Bên cạnh, Unity còn có một kho tài nguyên, gọi là “chợ” plug

Ở đây, bạn có thể tải về các gói như mô hình 3D, vật liệu, âm thanh, script và nhiều thứ khác, giúp tiết kiệm thời gian làm dự án Trên chợ có những gói package do chính Unity hoặc các nhà phát triển khác sản xuất Thậm chí, có những nhà phát triển đăng tải toàn bộ một trò chơi hoặc một mô hình 3D hoàn chỉnh, bạn chỉ cần tải về và sử dụng Hầu hết tất cả những plug in trên chợ đều phải trả phí

Ưu điểm và nhược điểm:

10.1 Ưu điểm:

Editor: Với Editor, nhà phát triển không cần thiết phải viết Code để sắp đặt các đối tượng trong Game như những Engine khác mà Developer có thể kéo thả, thay đổi vị trí của từng đối tượng trong Game trực tiếp trên

Trang 19

Đa nền tảng là lợi ích thứ 2 rất quan trọng với nhiều công ty cũng như developer Vì với việc bạn tạo ra Game mà Game đó có thể chạy được trên hầu hết những hệ điều hành quan trọng như Desktop (Mac, Window

và Linux) hay Mobile (iOS, Android) hoặc Web (WebGL) thì cũng đã tiết kiệm công sức cũng như chi phí rất nhiều cho doanh nghiệp đó.Miễn phí: Và yếu tố cuối cùng chính là chi phí Với Unity, miễn phí là một điểm thu hút rất nhiều Developer chọn làm việc với game engine này Tuy nhiên, với các game được tạo ra miễn phí thì bắt buộc phải có Logo

10.2 Nhược điểm:

Dung lượng Unity game bundle khá lớn: So với những game engine khác, Unity sản xuất game có dung lượng nặng nên đây là một điểm trừ lớn Thậm chí, game web do Unity sản xuất có thể có dung lượng lên đến cả trăm MB lên web chạy không nổi Chính vì thế, cũng cùng một game đó thì game mobile lại chạy tốt trong khi game web lại giật, lag

Các phiên bản cập nhật: Trong nội bộ một team, hoặc giữa team phát triển

và khách hàng, sử dụng các phiên bản Unity khác năm với nhau thì khi

sh code, đẩy code lên cho member thì sẽ bị lỗi hình ảnh, script, code,… thậm chí là mất hết tiến độ

Lịch sử ra đời:

còn được gọi là UE, là một công cụ phát triển trò chơi điện tử của công ty phát triển phần mềm và trò chơi điện tử Epic Games Với công cụ này, các nhà phát triển có khả năng xây dựng mô phỏng, chỉnh sửa video hoặc âm thanh và hiển thị hình ảnh động

Trang 20

Unreal được phát hành lần đầu dưới dạng trò chơi bắn súng góc nhìn thứ nhất bởi vào năm 1998, trong đó Tim Sweeney nhà sáng lập đã đóng góp đến 90% trong quá trình sáng tạo Game Unreal lúc này được phát triển bởi hệ thống công cụ Unreal Engine đã thu hút nhiều người quan tâm Lúc này, game mang đến cho người chơi tính tùy biến bản đồ cực cao, khả năng tạo ra môi trường giàu vật thể với ánh sáng và màu sắc phong phú Nó đã tạo nên một cơn sốt rất lớn trong thế giới game lúc bấy giờ

Unreal Engine liên tục được cải tiến, trải qua các phiên bản lại được thêm thắt các tính năng ấn tượng và trở thành bộ công cụ không thể thiếu để sản xuất game bom tấn Hơn nữa, Unreal Engine còn được ứng dụng trong các công đoạn sản xuất hiệu ứng cho các phim bom tấn như

Hình ảnh trong phim Jurassic Park được tạo từ UE

Khả năng của Unreal Engine chính là tạo ra các thuật toán mới, kết xuất

đồ họa (render) để dựng nên hình ảnh 3D của vật thể, cháy nổ trông như thật Hiện nay Unreal Engine đã cho ra mắt phiên bản

khiến cả thế giới game mãn nhãn và kinh ngạc tột độ Những hiệu ứng chi

Trang 21

tiết trên bề mặt vật thể và hiệu ứng ánh sáng được engine này phô diễn cho thấy ranh giới giữa game và đời thật mong manh hơn bao giờ hết Đến năm 2014, Unreal Engine đã được Sách Kỷ lục Thế giới (Guinness

ghi nhận là game engine thành công nhất thế giới khi có đến hơn 408 tựa game trên thế giới sử dụng công nghệ này

Unreal Engine 3 (2006): Unreal Engine 3 đánh dấu bước nhảy vọt đáng

kể về chất lượng đồ họa và hiệu năng Nó đã giới thiệu các tính năng như bóng động, chiếu sáng toàn cầu và hệ thống kịch bản trực quan mạnh mẽ

Unreal Engine 4 (2014): Unreal Engine 4 đại diện cho một cuộc đại tu lớn của động cơ Nó đã giới thiệu một giao diện thân thiện với người dùng hơn, khả năng đồ họa nâng cao và hệ thống tập lệnh trực quan Blueprint, cho phép các nhà phát triển tạo cơ chế chơi trò chơi phức tạp mà không cần viết mã Unreal Engine 4 đã được áp dụng rộng rãi và hỗ trợ cchơi phổ biến như Fortnite, PUBG và Detroit: Become Human

Unreal Engine 5 (2021): Unreal Engine 5 nhằm mục đích cung cấp tính tương tác và tính chân thực hơn nữa trong trò chơi và các trải nghiệm thời gian thực khác

Các ngôn ngữ lập trình sử dụng:

Một trong những ưu điểm chính của Unreal Engine là hệ thống tập lệnh trực quan Blueprint, cho phép các nhà phát triển tạo cơ chế chơi trò chơi, logic và tương tác mà không cần viết mã Tuy nhiên, nó cũng cung cấp

Trang 22

hỗ trợ đầy đủ cho lập trình bằng C++, cho phép các nhà phát triển tạo chức năng tùy chỉnh và tối ưu hóa hiệu suất.

Giao diện cơ bản:

Viewport (Khung Hiển Thị Khung Cảnh): Đây là nơi bạn xây dựng và chỉnh sửa các khung cảnh (scenes) trong trò chơi Bạn có thể thêm các đối tượng, ánh sáng, camera và hiệu ứng vào khung cảnh từ đây

World Outliner (Danh Sách Đối Tượng): Danh sách này hiển thị tất cả các đối tượng trong khung cảnh Bạn có thể tìm kiếm, sắp xếp và quản lý các đối tượng từ đây

Trang 23

Details Panel (Bảng Thuộc Tính): Khi bạn chọn một đối tượng tronsách, thông tin chi tiết về đối tượng đó sẽ hiển thị ở đây Bạn có thể chỉnh sửa các thuộc tính của đối tượng từ bảng này.

Trang 24

Content Browser (Dự Án): Dự án chứa tất cả các tài nguyên của trò chơi, bao gồm hình ảnh, âm thanh, tệp văn bản và các tài liệu khác Bạn có thể

tổ chức và quản lý tài nguyên từ đây

Toolbar (Thanh Công Cụ): Thanh này chứa các công cụ để tạo, chỉnh sửa

và quản lý trò chơi Bạn có thể thay đổi chế độ xem, tạo đối tượng mới và thực hiện các tác vụ khác từ thanh này

Blueprint Editor (Trình Soạn Thảo Blueprint): Đây là nơi bạn tạo và chỉnh sửa các Blueprints, một hệ thống tập lệnh trực quan cho phép bạn tạo cơ chế chơi trò chơi, logic và tương tác mà không cần viết mã

Trang 25

Unreal còn có những tính năng nâng cao như:

Marketplace: Cung cấp cho bạn những bảng mã về game giúp bạn có thể tăng tốc tiến độ lập trình và phát triển một Game bằng những dự án mẫu, art, audio, blueprint logic sẵn có thậm chí là những dòng code C++ đã được viết trước

Khả năng kết xuất và đa nền tảng:

6.1 Khả năng đa nền tảng:

Đa nền tảng: Unreal Engine cho phép phát triển game trên các hệ máy

, từ những tựa game 2D đơn giản đến những tựa game 3D đẹp mắt, mở rộng khả năng sáng tạo trên các thiết bị di động Nó hỗ trợ

Ngày đăng: 16/02/2025, 20:45

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Unity là gì? Cách tải và cài đặt phần mềm làm game 3D Unity Khác
[3] Unity là gì? Các lỗi thường gặp khi làm việc với Unity là gì Khác
[4] [Unity là gì?] Phần mềm phát triển game tốt nhất hiện nay Khác
[5] Unreal Engine là gì? Cách thức hoạt động và xu hướng phát triển Khác
[6] Game Engine là gì? Các Game Engine được sử dụng phổ biến hiện nay Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN