1. Trang chủ
  2. » Công Nghệ Thông Tin

ỨNG DỤNG CÔNG NGHỆ ĐA NỀN TẢNG UNITY 3D ENGINE GAME – XÂY DỰNG GAME RAMBO CHIBI

64 416 1

Đ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

Định dạng
Số trang 64
Dung lượng 2,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với thị trường Việt Nam khá rộng lớn với hơn 90 triệu và đa phần là dân số trẻ nên thị trường của game mobile cực kỳ rộng lớn, với thị trường rộng lớn như thế thì doanh thu mang lại cũng

Trang 1

LỜI CẢM ƠN

Em xin chân thành cảm ơn bộ môn Công nghệ thông tin, khoa Công nghệ thông tin, Trường Đại học Công nghệ thông tin và truyền thông Thái nguyên đã tạo điều kiện thuận lợi cho em thực hiện báo cáo này

Em xin chân thành cảm ơn thầy Nguyễn Hải Minh là những người đã tận tình hướng dẫn, chỉ bảo cho em trong suốt thời gian thực hiện báo cáo tốt nghiệp

Em cũng xin gửi lời cảm ơn sâu sắc đến quý thầy cô trong Khoa và Bộ môn

đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm học vừa qua

Mặc dù em đã cố gắng hoàn thành báo cáo trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm thông và tận tình chỉ bảo của quý thầy cô và các bạn

Sinh viên thực hiện

Cao Tiến Cường

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan rằng đây là đồ án của em, có sự hỗ trợ từ giáo viên hướng dẫn T.s.Nguyễn Hải Minh – bộ môn lập trình ứng dụng, trường Đại Học Công nghệ thông tin và truyền thông Thái Nguyên, Đại Học Thái Nguyên Em xin cam đoan các nội dung nghiên cứu và kết quả trong đề tài này là trung thực và không sao chép

từ các báo cáo thực tập và đồ án khác trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính bản thân thu thập từ các nguồn khác nhau

Nếu có bất kỳ sự gian lận nào em xin hoàn toàn chịu trách nhiệm trước Hội đồng

Thái Nguyên, tháng 05 năm 2017

Sinh viên

Cao Tiến Cường

Trang 3

MỤC LỤC

Trang 4

LỜI NÓI ĐẦU

Ở Việt Nam hiện nay, việc lập trình game cho các thiết bị di động thông minh (viết tắt là game mobile) không còn quá xa lạ với nhiều lập trình viên, đặc biệt sau

sự thành công của lập trình viên Nguyễn Hà Đông với ứng dụng “Flapy Bird” làm hàng triệu người trên thế giới vừa chơi vừa ức chế Với thị trường Việt Nam khá rộng lớn với hơn 90 triệu và đa phần là dân số trẻ nên thị trường của game mobile cực kỳ rộng lớn, với thị trường rộng lớn như thế thì doanh thu mang lại cũng cực kỳ lớn, năm 2014 đã hơn 500 tỷ và sẽ tăng dần theo thời gian [1], với số vốn đầu tư ban đầu không cần nhiều, một chút kiến thức về đồ họa và một ít kinh nghiệm về lập trình là bạn có thể tự mình tạo ra những sản phầm cho riêng mình mang những dấu

ấn riêng

Ở Việt Nam hiện tại có số lượng không hề nhỏ các startup làm game, có thể

kể đến như : Joy Entertainment, Divmob, ColorBox, ME Corp, MC Corp, Goya Studio, Senspark, Bưởi Studio v.v , ngoài ra còn có những Indie Developer - những lập trình viên độc lập Với suy nghĩ có kiến thức thì nên vận dụng nó một cách triệt

để cộng thêm việc yêu thích những tựa game nổi tiếng trên thế giới, em đã bắt đầu đi tìm hiểu và nghiên cứu những cách lập trình game một cách thực sự nghiêm túc và

đã có một số kinh nghiệm nhất định Khi nhận đồ án, em nhận thấy việc phát triển game mobile với các công cụ hỗ trợ - các game engine - ở trường ĐH CNTT & TT Thái Nguyên còn chưa được phát triển và phổ biến cho nên em nhận đề tài: “ỨNG DỤNG CÔNG NGHỆ ĐA NỀN TẢNG UNITY 3D ENGINE GAME – XÂY DỰNG GAME RAMBO CHIBI” Bố cục bài báo cáo gồm 4 chương:

Chương 1: Cơ sở lý thuyết

Chương 2: Khảo sát một số game mobile đang có trên thị trường

Chương 3: Phân tích thiết kế

Chương 4: Xây dựng game Rambo Chibi

Trang 5

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Khái Niệm Trò Chơi

1.1.3 Ích lợi của trò chơi

- Phản xạ nhanh hơn, tay và mắt phối hợp tốt hơn

- Luyện giác quan Cải thiện tư duy, rất tốt cho người đi làm hay lên kế hoạch, chiến lược

- Luyện ý chí và ý thức: Hăng say đua tranh để giành chiến thắng Tự chủ, không rụt

rè, sợ hãi, không bị lôi cuốn bởi nhiệt tình bồng bột Chấp hành kỷ luật của trò chơi Kiên nhẫn trong khi chơi Biết sáng tạo, linh động

- Luyện tính tình: Các em trở nên vui vẻ, sôi động Rèn luyện tính đồng đội, biết đoàn kết gắn bó với nhau để giành chiến thắng, phát triển năng khiếu tốt, sự can đảm, gan dạ, lòng vị tha

1.2 Game Engine Unity3D

Game Engine là một phần mềm được viết cho mục đích thiết kế và phát triển video game Chức năng cốt lõi của Game Engine phần lớn nằm trong công cụ dựng hình (kết xuất đồ họa) cho các hình ảnh 2 chiều (2D) hay 3 chiều (3D), công cụ vật

Trang 6

lý (hay công cụ tính toán và phát hiện va chạm), âm thanh, mã nguồn, hình ảnh động (Animation), trí tuệ nhân tạo, phân luồng, tạo dòng dữ liệu xử lý, quản lý bộ nhớ, dựng ảnh đồ thị, và kết nối mạng Các Engine dùng cho làm game hiện tại có rất nhiều, trong đó có thể kể đến CryEngine, Unreal Engine, Havok Engine, Unity Engine…

1.2.1 Lý do chọn Unity Engine

Hiện nay, chúng ta có rất nhiều Engine như: Cry Engine, Unreal Engine, Source Engine, ID Tech Engine, Unity Engine và những cái tên khác như RenderWare Engine, Game Bryo Engine và các Engnie mã nguồn mở: Orge Engine, Panda3D Engnine, jMonkey Engine, Trong đó Source Engine và ID Tech Engine

là các lão làng trong ngành công nghiệp Game, Cry Engine và Unreal Engine là hai tân binh đáng chú ý nhất do những thành công đáng kể của họ trong những năm gần đây

Về mặt đồ họa, Cry Engine được đánh giá cao và hầu như không có đối thủ, hình ảnh 3D của Cry Engine cho chất lượng chân thực minh chứng qua các tựa game như Far Cry hay Crysis,

Tuy nhiên, Cry Engine rất kén chọn vì chỉ những máy cấu hình thật cao mới

có thể đáp ứng được Bên cạnh đó, Unreal Engine cũng cho chất lượng đồ họa không kém, mà không đòi hỏi cấu hình quá cao Các hệ máy laptop mua cách đây 4-

5 năm trở lại đa số là dùng được Các Engine khác được kể tên ở trên thay nhau vị trí top 10 sau Cry Engnine và Unreal Engine

Nếu có tiền, có nhiều kinh nghiệm và có một nhóm làm việc chuyên nghiệp, lúc đó ta mới nên nghĩ tới Cry Engine hay Unreal Engnie Còn nếu muốn sử dụng

mã nguồn mở cho tiết kiệm thì ta phải cần nhiều thời gian và sức lực hơn để tìm hiểu Orge Engine hay Panda Engine, Vì thế lựa chọn sáng giá nhất cho các tân binh trong lĩnh vực làm game, có ít kinh nghiệm, ít tiền, nhưng không muốn phải bỏ quá nhiều công sức tìm hiểu lại những gì người khác đã làm chính là Unity Engine

Trang 7

Về mặt đồ họa, Unity không so sánh được với Cry Engine nhưng đủ làm hài lòng những người dùng phổ thông Unity không đòi hỏi máy cấu hình cao, thêm nữa Unity đặc biệt chú ý đến sự tiện dụng Việc làm game, làm phim sử dụng Unity Engine so với các Engine còn lại dễ dàng hơn rất nhiều vì đối tượng mà Unity hướng đến chủ yếu là những người dùng không chuyên sâu Chúng ta có thể kéo thả,

kế thừa, viết Script, tổ chức các thành phần, import – export các tài nguyên (model, texture, mesh, ) đóng gói các đối tượng hoàn chỉnh và chia sẻ nó một cách dễ dàng với Unity

Vấn đề thương mại, Unity cung cấp bản miễn phí cho các người dùng cá nhân và các công ty có thu nhập dưới 100.000 USD Chúng ta có thể tạo các ứng dụng, các mô hình, các Game cho riêng mình hoặc bán nó trên Unity Store mà không lo về vấn đề vi phạm bản quyền Nếu muốn bán sản phẩm của mình trên Unity Store thì chúng ta phải trả 30% hoa hồng Nếu có nhu cầu cao hơn, sử dụng bản Pro, chúng ta sẽ phải trả 1.500 USD, tương đương khoảng 32 triệu VNĐ với rất nhiều tính năng cao cấp và tiện dụng

Cuối cùng, Unity có một cộng đồng rộng lớn và cực kỳ thân thiện, với nhiều tài nguyên miễn phí và tutorial hướng dẫn cho những người bắt đầu học và sử dụng Unity Những tài liệu chúng ta có thể tìm kiếm trên forum của Unity hoặc Google.[5]

1.2.2 Engine Unity

Hình 1.5 Logo Unity3D

Trang 8

Unity là một 3D Game Engine, là một công cụ thiết kế Game dành cho PC, Mac và nhiều hệ máy di động khác

+ Nhà phát triển: Unity Technologies

+ Phiên bản mới nhất: 5.5f

+ Được viết bởi ngôn ngữ C++, C#

+ Phát triển Game cho các hệ điều hành: Windows, Mac OS X (tạo và đóng gói), Nintendo Wii, iPhone/iPad, Xbox 360, Android, Sony PlayStation 3 (chỉ đóng gói; cần giấy phép bổ sung cho từng nền tảng)

+ Giấy phép: Độc quyền

+ Website: www.unity3d.com

Unity được sự hỗ trợ của Just-In-Time Compilation (JIT), sử dụng thư viện

mã nguồn mở C++ Mono Bằng việc sử dụng JIT, những Engine như Unity có thể tận dụng lợi thế của tốc độ biên dịch Ngoài thư viện Mono, Unity cũng tận dụng chức năng của những thư viện phần mềm khác vào chức năng của nó, như Engine

mô phỏng vật lý PhysicX của Nvidia, OpenGL và DirectX cho kết xuất hình ảnh 3D, OpenAL cho âm thanh Tất cả các thư viện này được xây dựng thành những tính năng tự động hoặc công cụ trực quan vào Unity, vì vậy chúng ta không cần phải lo lắng về việc học thế nào để sử dụng chúng một cách riêng lẻ.Unity có một cộng đồng người dùng rất lớn mạnh, luôn chia sẻ những Plugins, công cụ của họ dưới phần mềm gói bổ sung

 Sơ lược sự hình thành và phát triển của Unity

Hình thành:

Phần lõi của Unity ban đầu được viết bởi Joachim Ante vào năm 2001 Sau

đó công ty được hình thành vào năm 2005 và bắt đầu với phiên bản 1.0 Đến năm

2007, Unity được nâng lên phiên bản 2.0 Unity bắt đầu hỗ trợ iPhone vào năm

Trang 9

2008 Vào tháng 6/2010, Unity chính thức hỗ trợ Android và cho ra đời phiên bản 3.0 có hỗ trợ Android vào tháng 9/2010 Có thể thấy tốc độ phát triển của Unity khá nhanh Phiên bản mới nhất là phiên bản 5.5

Giải thưởng:

Unity đã đoạt được nhiều giải lớn với những giải chính sau:

+ Năm 2006, Unity đạt "Best Use of Mac OS X Graphics" tại Apple's

WWDC Đây là lần đầu tiên một công cụ phát triển game đạt được chất lượng do giải thưởng uy tín này đưa ra

+ Năm 2009, Unity Technologies có tên trong "Top 5 công ty game của năm"

do Gamasutra tổ chức

+ Năm 2010, Unity đoạt giải Best Engine Finalist do Develop Magazine bình chọn, giải Technology Innovation Award của Wall Street Journal ở thể loại phần mềm

Khách hàng:

Unity được trên 250.000 người đăng ký sử dụng gồm Bigpoint, Cartoon Network, Coca-Cola, Disney, Electronic Arts, LEGO, Microsoft, NASA, Ubisoft, Warner Bros, các hãng phim lớn nhỏ, các chuyên gia độc lập, sinh viên và những người đam mê

 Sơ nét về giao diện của Unity

Giao diện Unity, giống như nhiều môi trường làm việc khác, layout có thể tùy chỉnh Layout của Unity bao gồm nhiều tab khác nhau và có thể bật tắt Chúng ta hãy xem xét một cách bố trí giao diện Unity điển hình:

Trang 10

Hình 1.6 Giao diện Editor của Unity3d

Như hình trên chúng ta thấy có 5 khung khác nhau:

1 Scene – nơi xây dựng trò chơi

2 Hierarchy – danh sách các đối tượng trong một cảnh game

3 Inspector – màn hình cài đặt cho tài nguyên/đối tượng đang được chọn

4 Game – cửa sổ xem trước game, chỉ hoạt động ở chế độ chơi (khi nhấn Play)

5 Project– danh sách các tài nguyên trong project, đóng vai trò như một thư viện

Cửa sổ Scene và Hierarchy:

Cửa sổ Scene là nơi chúng ta sẽ xây dựng toàn bộ các đối tượng trong game Cửa sổ cung cấp nhiều góc nhìn khác nhau, có thể nhìn dạng phối cảnh hoặc dạng song song Chúng ta có thể kéo thả đối tượng trên cửa sổ này, di chuyển, xoay…

Hình 1.7 Các nút điều khiển

Trang 11

Cửa sổ Scene cũng kèm theo năm nút điều khiển tiện lợi như hình trên Truy cập từ bàn phím bằng cách sử dụng các phím Q, W, E, R và T Các phím thực hiệncác hoạt động sau đây:

+ Công cụ bàn tay [Q]: công cụ này cho phép di chuyển trong cửa sổ Scene, xoay góc nhìn, phóng to, thu nhỏ góc nhìn

+ Công cụ di chuyển [W]: Công cụ này dùng để di chuyển một đối tượng

+ Công cụ xoay [E]: Công cụ này cho phép chúng ta xoay nhân vật theo một trục nào đó trong không gian

+ Công cụ tỷ lệ [R]: Công cụ này cho phép chúng ta tăng giảm tỷ lệ kích thước của đối tượng.Khi chọn một đối tượng trong cửa sổ Scene, đối tượng này sẽ được tự động chọn trong cửa sổ Hierarchy và ngược lại

Hình 1.8 Chọn đối tượng trong Scene

Inspector:

Trang 12

Inspector sẽ hiển thị tất cả thông tin, các thành phần trong đối tượng game đang chọn, và cho phép điều chỉnh các biến của các thành phần này Có thể xem cửa

sổ này như cửa sổ Properties khi design giao diện Winform trên Visual Studio

Hình 1.9 Cửa sổ Inspector hiển thị thông tin

Hình 1 1 Cửa sổ Inspector hiển thị thông tin một đối tượng

sổ này về lại trạng thái tĩnh thì mọi chỉnh sửa trước đó là không còn

Cửa sổ Project:

Cửa sổ Project thể hiện nội dung bên trong thư mục Assets của project chúng

ta Khi thêm tài nguyên vào thư mục Assets ngay lập tức chúng sẽ tự động được cập nhập vào project Unity của chúng ta

Trang 13

 Các đặc điểm và tính năng của Unity

1 Rendering (kết xuất hình ảnh)

Giống như tất cả các Engine hoàn chỉnh khác, Unity hỗ trợ đầy đủ khả năng kết xuất hình ảnh cùng nhiều hỗ trợ cho phép áp dụng các công nghệ phổ biến trong lĩnh vực 3D nhằm cải thiện chất lượng hình ảnh.Một số hỗ trợ:

- Unity cung cấp 100 Shaders với đầy đủ các loại phổ biến nhất

- Hỗ trợ Surface Shaders, Occlusion Culling, GLSL Optimizer

- Hỗ trợ LOD

2 Lighting (Ánh sáng)

Unity cung cấp nhiều giải pháp đa dạng cho phép chúng ta áp dụng ánh sáng một cách tốt nhất vào môi trường trong trò chơi với nhiều loại nguồn sáng như ánh sáng có hướng (Directional Light), ánh sáng điểm (Point Light) , Một số công nghệ

và kỹ thuật về ánh sáng được Unity hỗ trợ: Lingtmapping, Realtime Shadows, hiệu ứng Sunshafts và Lens Flares

3 Terrains (địa hình)

Unity cung cấp một công cụ rất tốt khả năng này với tên gọi là Terrains Tools cho phép chúng ta thiết kế địa hình với các công cụ vẽ dưới dạng Brush có nhiều thông số tùy chỉnh để tạo và lát Texture cho địa hình Cùng với Terrains Tools là Tree Creator, một công cụ mạnh mẽ cho phép chúng ta tạo ra cây cối với hình dạng, kích thước và kiểu cách đa dạng

4 Substances (Texture thông minh)

Substances cho phép các trò chơi và các ứng dụng sáng tạo sử dụng tất cả các sức mạnh của nó để cung cấp những trải nghiệm độc đáo cho người dùng cuối:

- Được tạo ra ngay trong khi game được tạo

- Cung cấp nội dung tải về nhỏ

Trang 14

- Sử dụng sức mạnh của các textures động tạo ra các hiệu ứng độc đáo

Substances được xử lý giống như các bitmap khác trong Unity: chỉ cần kéo

và thả nó trong project là đã có thể sẵn sàng sử dụng ngay Substances có kích thước

tự nhiên nhỏ hơn bitmap nên khi sử dụng Substances thay cho bitmap sẽ làm giảm đáng kể kích thước của game cuối cùng

5 Physics (Vật lý)

PhysX là một Engine mô phỏng và xử lý vật lý cực kì mạnh mẽ được phát triển bởi nhà sản xuất card đồ họa hàng đầu thế giới NVIDIA Unity đã tích hợp Engine này vào để đảm nhận mọi vấn đề về vật lý

6 Pathfinding (Tìm đường)

Đây là tính năng mới mẻ từ phiên bản Unity 3.5 Với các phiên bản trước, để phát triển khả năng tìm đường cho trí thông minh nhân tạo (AI), nhà phát triển phải hoàn toàn tự xây dựng cho mình một hệ thống tìm đường riêng biệt

7 Audio (Âm thanh)

Unity tích hợp FMOD – công cụ âm thanh thuộc hàng mạnh nhất hiện nay,

hỗ trợ chúng ta nhập và sử dụng nhiều định dạng tập tin âm thanh khác nhau

9 Networking

Trang 15

Networking cho phép chúng ta tạo ra các trò chơi trực tuyến (online), hỗ trợ đầy đủ giúp ta tạo nên các khía cạnh phổ biến trong Game online như hệ thống điểm kinh nghiệm, chat và tương tác với thời gian thực,

Tài nguyên (model, âm thanh, hình ảnh, .) được tải vào trong Unity và tự động cập nhật nếu tài nguyên có sự thay đổi Unity hỗ trợ các kiểu định dạng từ 3DS Max, Maya, Blender, Cinema 4D và Cheetah3D

 Các khái niệm cơ bản trong Unity 3D

1 Asset

Đây là kho tài nguyên cho việc xây dựng game trong một project của Unity Các tài nguyên này có thể là hình ảnh, âm thanh, hoặc một mô hình 3D có sẵn Unity sẽ tham chiếu đến các tập tin chúng ta sẽ sử dụng để tạo ra các tài nguyên cho trò chơi Đây là lý do tại sao trong bất kỳ thư mục chứa project sử dụng Unity thì tất

cả các tập tin tài nguyên phải được lưu trữ trong một thư mục con tên là Assets

Hình 1 10 Asset trong Unity

2 Scene

Trong Unity, chúng ta có thể xem Scenes là các màn chơi, cấp độ chơi riêng

lẻ, hoặc các vùng của nội dung trò chơi Ví dụ như Main menu, Options, About …

Bằng cách xây dựng trò chơi với nhiều cảnh, chúng ta sẽ có thể phân phối thời gian tải và thử nghiệm các phần khác nhau của trò chơi riêng lẻ một cách nhanh chóng và chính xác

Trang 16

Hình 1.11 Các scene của Unity

3 Game Object

Khi một tài nguyên được sử dụng trong một scene, khi đó chúng ta có thể coi tài nguyên này là một “Game Object” mới Mỗi GameObject phải chứa ít nhất một thành phần, đó là thành phần “Transform” Transform chứa các phép để biến đổi góc quay, tỷ lệ hay tịnh tiến của đối tượng

Hình 1 12 Kéo tài nguyên vào Scene để s 1

Trang 17

4 Component

Component là các thành phần trong một Game Object của Unity Bằng cách đính kèm các thành phần vào cho một đối tượng, chúng ta có thể áp dụng ngay các phần mới của game engine vào đối tượng Thông thường các thành phần này được Unity xây dựng sẵn như ánh sáng, camera, particle, hiệu ứng vật lý…

Hình 1.13 Các thành phần trong đối tượng

5 Script

Script là thành phần quan trọng nhất trong Unity, có thể xem scripts như là linh hồn của game Chúng ta có thể viết kịch bản cho game bằng C#, Java scripts Theo nhiều người đã sử dụng Unity thì code bằng C# sẽ giúp game chạy nhanh hơn

và giúp kiểm soát code tốt hơn do tất cả các biến phải được khai báo rõ ràng Mặt khác ngôn ngữ C# rất tiện dụng để lập trình, nên em dùng ngôn ngữ C# để viết kịch bản cho game Mỗi file script C# là một class bắt buộc kế thừa từ lớp MonoBehaviour, có tên class phải trùng với tên file script

Trang 18

Hình 1.14 Cách tạo file script mới 1

Một đoạn script muốn thực thi được thì nó phải được gắn vào một đối tượng

Hình 1.15 Một file script đang gắn vào 1 đối tượng

6 Prefab

Hãy tưởng tượng Prefab là một cái thùng rỗng, mà bên trong nó chúng ta có thể chứa đựng các thành phần hay đối tượng khác nhau, chúng ta có thể viết kịch bản cho hành động của Prefab (khởi tạo, di chuyển, hay hủy đối tượng) Chúng ta có thể sử dụng đối tượng này nhiều lần trong trò chơi, và cũng có thể sử dụng lại cho project khác Prefab cho phép chúng ta lưu trữ cá đối tượng, toàn bộ thành phần bên trong và cấu hình hiện tại

Trang 19

7 Material và Shader

Shader là đoạn script qui định cách thức render của chất liệu trên bề mặt vật thể Material sử dụng shader để làm chất liệu cho mô hình Giữa materials và shaders có mối liên hệ với nhau Shaders qui định các thuộc tính cần để shader làm việc Còn material cho phép gán hình ảnh vào các thuộc tính đó từ Asset

Trong một scene thường có nhiều đối tượng game Mỗi đối tượng này có thể

có hoặc không có đoạn script nào gắn lên đó Nếu muốn gắn script vào đối tượng, ta bắt buộc phải kế thừa class đó từ lớp MonoBehaviour của UnityAPI và tên class

Trang 20

phải trùng với tên file script Mỗi script khi gắn lên đối tượng game đều được đối tượng game xem như một thành phần bên trong và được cấp phát vùng nhớ khi chạy game

Hình 1 17 Tổng quan kiến trúc Unity

Bên trong UnityAPI chứa rất nhiều lớp hỗ trợ lập trình game, trong đó có một

số lớp quan trọng như :

- MonoBehaviour: tất cả các script muốn gắn vào một đối tượng game bắt buộc phải kế thừa từ lớp này

- GameObject: lớp cha của tất cả các thực thể trong scene

- Component: lớp cha của tất cả các thành phần có thể gắn vào đối tượng

- Transform: giúp thay đổi vị trí, xoay, biến đổi tỉ lệ mô hình

- Input: hỗ trợ lập trình với chuột, cảm ứng đa điểm, cảm biến gia tốc

Trang 21

- Camera: giúp lập trình camera

- Light: giúp tạo ánh sáng trong game

- Projector: giúp chiếu texture lên bề mặt vật thể

- ParticleEmitter: hỗ trợ tạo các hiệu ứng particle đẹp mắt

- Audio: hỗ trợ lập trình với âm thanh

- Animation: chạy chuyển động của mô hình nhân vật

- Rigidbody: giúp tạo hiệu ứng vật lý liên quan đến trọng lực như bóng nẩy, lăn,

- CharacterController: giúp điều khiển nhân vật di chuyển theo độ cao địa hình

- Collider: hỗ trợ lập trình va chạm giữa các vật thể

- GUI: giúp lập trình giao diện người dùng trên Unity Từ phiên bản 4.6 trở đi, Unity hỗ trợ một bản uGUI cho giao diện đẹp hơn

 Chu kỳ sống của thành phần script gắn trên đối tượng game

Chu kỳ sống của một thành phần script được tính kể từ khi scene được chạy cho đến lúc scene bị tắt hoặc chuyển sang scene khác

Hình 1 18 Chu kỳ sống của thành phần script

Trang 22

Tùy theo trạng thái của scene mà sự kiện tương ứng sẽ được gọi

- Awake: được gọi khi script được load xong

- Start: được gọi khi script được load xong nếu thành phần script đó

- OnGUI: sự kiện này dùng để vẽ GUI và được gọi liên tục từng

frame, chỉ trong sự kiện này ta mới có thể sử dụng các lớp hỗ trợ tạo giao diện người dùng của UnityAPI

- OnDestroy: được gọi khi thành phần script bị hủy khỏi bộ nhớ.[3]

1.3 Sơ lược về ngôn ngữ lập trình C#

Hình 1 19 Hình ảnh biểu tượng của C#

C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft,

là phần khởi đầu cho kế hoạch NET của họ Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường Microsoft phát triển C# dựa trênC++ và Java C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm

Trang 23

lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng

1.4 Giới thiệu công cụ Visual studio

Hình 1.20 Hình ảnh Visual Studio

Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight

Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình Các ngôn ngữ tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua Visual Basic.NET), C (thông qua Visual C#) và F thăng (như của Visual Studio 2010) Hỗ trợ cho các ngôn ngữ khác như J++/J thăng, Python và Ruby thông qua dịch vụ cài đặt riêng rẽ Nó cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript và CSS

1.5 Tổng Quan về phân tích thiết kế hướng đối tượng sử dụng UML

Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) là một ngôn ngữ để biểu diễn mô hình theo hướng đối tượng được xây dựng bởi ba tác giả trên với chủ đích là:

Trang 24

- Mô hình hoá các hệ thống sử dụng các khái niệm hướng đối tượng

- Thiết lập một kết nối từ nhận thức của con người đến các sự kiện cần mô hình hoá

- Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp, có nhiều ràng buộc khác nhau

- Tạo một ngôn ngữ mô hình hoá có thể sử dụng được bởi người và máy

1.5.1 Các thành phần của UML

Ngôn ngữ UML bao gồm một loạt các phần tử đồ họa (graphic element) có thể được kếp hợp với nhau để tạo ra các biểu đồ Bởi đây là một ngôn ngữ, nên UML cũng có các nguyên tắc để kết hợp các phần tử đó

Một số những thành phần chủ yếu của ngôn ngữ UML:

Hướng nhìn (view):Hướng nhìn chỉra những khía cạnh khác nhau của hệ thống cần phải được mô hình hóa Một hướng nhìn không phải là một bản vẽ, mà là một sự trừu tượng hóa bao gồm một loạt các biểu đồ khác nhau Chỉ qua việc định nghĩa của một loạt các hướng nhìn khác nhau, mỗi hướng nhìn chỉ ra một khía cạnh riêng biệt của hệ thống, người ta mới có thể tạo dựng nên một bức tranh hoàn thiện về hệ thống Cũng chính các hướng nhìn này nối kết ngôn ngữ mô hình hóa với quy trình được chọn cho giai đoạn phát triển

Biểu đồ(diagram): Biểu đồ là các hình vẽ miêu tả nội dung trong một hướng nhìn UML có tất cả 9 loại biểu đồ khác nhau được sử dụng trong những sự kết hợp khác nhau để cung cấp tất cả các hướng nhìn của một hệ thống

Phần tử mô hình hóa (model element):Các khái niệm được sử dụng trong các biểu đồ được gọi là các phần tử mô hình, thể hiện các khái niệm hướng đối tượng quen thuộc Ví dụ như lớp, đối tượng, thông điệp cũng như các quan hệ giữa các khái niệm này, bao gồm cả liên kết, phụ thuộc, khái quát hóa Một phần tử mô hình thường được sử dụng trong nhiều biểu đồ khác nhau, nhưng nó luôn luôn có chỉ một

ý nghĩa và một kí hiệu

Trang 25

Cơ chế chung: Cơ chế chung cung cấp thêm những lời nhận xét bổ sung, các thông tin cũng như các quy tắc ngữ pháp chung về một phần tử mô hình; chúng còn cung cấp thêm các cơ chế để có thể mở rộng ngôn ngữ UML cho phù hợp với một phương pháp xác định (một quy trình, một tổ chức hoặc một người dùng)

1.5.2 Biểu đồ Use case

Một biểu đồ Use case chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với use case mà hệ thống cung cấp Một use case là một lời miêu

tả của một chức năng mà hệ thống cung cấp Lời miêu tả use case thường là một văn bản tài liệu, nhưng kèm theo đó cũng có thể là một biểu đồ hoạt động Các use case được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân (hành vi của

hệ thống theo như sự mong đợi của người sử dụng), không miêu tả chức năng được cung cấp sẽ hoạt động nội bộ bên trong hệ thống ra sao

1.5.3 Biểu đồ lớp(class diagram)

Một biểu đồ lớp chỉ ra cấu trúc tĩnh của các lớp trong hệ thống Các lớp là đại diện cho các “vật” được xử lý trong hệ thống Các lớp có thể quan hệ với nhau trong nhiều dạng thức: liên kết (associated - được nối kết với nhau), phụ thuộc (dependent

- một lớp này phụ thuộc vào lớp khác), chuyên biệt hóa (specialized - một lớp này là một kết quả chuyên biệt hóa của lớp khác), hay đóng gói ( packaged - hợp với nhau thành một đơn vị) Tất cả các mối quan hệ đó đều được thể hiện trong biểu đồ lớp, đi kèm với cấu trúc bên trong của các lớp theo khái niệm thuộc tính (attribute) và thủ tục (operation)

Biểu đồ được coi là biểu đồ tĩnh theo phương diện cấu trúc được miêu tả ở đây có hiệu lực tại bất kỳ thời điểm nào trong toàn bộ vòng đời hệ thống Một hệ thống thường sẽ có một loạt các biểu đồ lớp – chẳng phải bao giờ tất cả các biểu đồ lớp này cũng được nhập vào một biểu đồ lớp tổng thể duy nhất – và một lớp có thể tham gia vào nhiều biểu đồ lớp

Trang 26

1.5.4 Biểu đồ trình tự

Một biểu đồ trình tự chỉ ra một cộng tác động giữa một loạt các đối tượng Khía cạnh quan trọng của biểu đồ này là chỉra trình tự các thông điệp (message) được gửi giữa các đối tượng Nó cũng chỉ ra trình tựtương tác giữa các đối tượng, điều sẽ xảy ra tại một thời điểm cụ thể nào đó trong trình tự thực thi của hệ thống Các biểu đồ trình tự chứa một loạt các đối tượng được biểu diễn bằng các đường thẳng đứng Trục thời gian có hướng từ trên xuống dưới trong biểu đồ, và biểu đồ chỉ ra sự trao đổi thông điệp giữa các đối tượng khi thời gian trôi qua Các thông điệp được biểu diễn bằng các đường gạch ngang gắn liền với mũi tên (biểu thị thông điệp) nối liền giữa những đường thẳng đứng thể hiện đối tượng Trục thời gian cùng những lời nhận xét khác thường sẽ được đưa vào phần lề của biểu đồ

1.6 Khái niệm Game mobile

Game mobile được hiểu là các ứng dụng trò chơi được chạy trên các thiết bị

di động nói chung, ở đây được hiểu là smartphone và tablet computer Game mobile

có một lịch sử khá lâu đời mà một trong những tựa game nổi tiếng nhất mà hầu như

ai cũng biết đó chính là SNAKE của Nokia và một số game khác có thể kể tên như TETRIS, PING PONG… Đó là những tựa game mờ đầu cho một hướng đi mới cho ngành công nghiệp game Tuy vậy, chỉ đến khi các hệ điều hành cho các thiết bị di động được hoàn thiện thiện thì hướng đi này mới được thực sự chú trọng và quan tâm phát triển Cùng với sự phát triển và phổ biến của các thiết bị di động minh thì game mobile cũng ngày càng phát triển và lớn mạnh, mang lại doanh thu không hề nhỏ cho các nhà sản xuất cũng như phát hành

Trong nội dung báo cáo này, sẽ tập trung nói về game mobile dành cho các thiết bị di động thông minh (smartphone,…)

1.7 Đặc điểm của game mobile

1.7.1 Tính cơ động và tiện lợi

Không cần quá rườm ra, chỉ cần một chiếc điện thoại thông minh hoặc một chiếc máy tính bảng có kết nối wifi hoặc 3G là bạn có thể thưởng thức những tựa

Trang 27

game nổi tiếng trên thế giới, không cần phải có những chiếc máy tính để bản nặng

nề phụ thuộc vào điện lưới hay những chiếc laptop không kém phần bất tiện

1.7.2 Chi phí thấp

Để sở hữu một dàn PC “khủng” hay một chiếc PS3 mới cáu thì số chi phí mà bạn bỏ ra là không hề nhỏ, chưa kể khoản tiền phải bỏ ra để đầu tư mua các game mới cũng là … khá bộn Tuy nhiên, với sự phát triển và bùng nổ trong lĩnh vực sản xuất smartphone đã kéo sự ra đời của rất nhiều thương hiệu với nhiều mức giá phù hợp mọi tầng lớp có nhu cầu sử dụng Chỉ cần từ ba đến năm triệu là bạn có thể có những chiếc điện thoại thông minh có cấu hình đáp ứng hầu hết các game mobile trên thị trường

1.7.3 Chất lượng

Nếu như quay ngược thời gian lại cách đây chừng chục năm thì chơi game trên điện thoại chỉ là các trò chơi đơn giản ít gây hứng thú trên nền tảng Java và thường được ví von là “không có cửa” so với các đối thủ khác thì giờ đây mọi chuyện đã thay đổi Đồ họa trong game đã phát triển vượt bậc, các công nghê mới

đã xóa đi khoảng cách giữa các game mobile và các game trên PC hoặc console

Hình 1.21 Đồ họa game mobile đã được cải tiến rất nhiều

Trang 28

Chất lượng các game trên mobile giờ đây được cải tiến từng ngày cả về mặt

đồ họa cũng như trong gameplay Game trên mobile giờ đây không hề bị gói gọn vào một tiêu chuẩn nào, bạn có thể tìm thấy đủ mọi thể loại game đặc sắc như: nhập vai, hành động, mô phỏng, giải đố …

1.7.4 Phù hợp với đối tượng nữ giới

Để lắp đặt một dàn thiết bị chơi game thì bản thân các game thủ cũng phải có một chút kiến thức gì đó về công nghệ thông tin cũng như các vấn đề liên quan đến điện và nội thất Về vấn đề này có lẽ đối tượng nữ giới sẽ hơi gặp khó khăn bởi họ đơn thuần chỉ muốn được phục vụ nhu cầu giải trí tức thời thay vì phải vùi đầu vài giờ đồng hồ để setup các thiết bị rồi dây nhợ lằng nhằng Chính vì lí do trên mà lượng nữ giới chơi game trên mobile là khá đông Chỉ cần vài thao tác chạm là đã hoàn thành cho mình một chu trình cài đặt một trò chơi mà họ yêu thích Nếu không thích hoặc cảm thấy chán thì các bạn nữ cũng rất dễ dàng và chủ động trong khi tháo

bỏ các trò chơi

1.7.5 Phong phú và có giá trị trải nghiệm cao

Phần lớn các thiết bị smartphone hiện nay đều sử dụng 3 hệ điều hành: iOS, Android OS và Window Cả 3 hệ điều hành này đề sở hữu cho riêng mình một chợ ứng dụng khổng lồ cung cấp cho người dùng hàng trăm nghìn lựa chọn mới mỗi ngày

Trang 29

Hình 1.22 Các chợ ứng khổng lồ luôn sãn sang phục vụ người dùng

Hơn nữa, các thao tác cài đặt – tháo bỏ lại khá dễ dàng nên các game thủ mobile có thể chủ động trong việc khám phá nhiều tựa game – nhiều thể loại game khác nhau mà lại không tốn quá nhiều thời gian

1.7.6 Tính tương tác cộng đồng cao

Cùng với sự phát triển của các trang mạng xã hội thì các game mobile ngày càng có tính tương tác cộng đồng cao hơn, mọi người có nhiều cơ hội giao lưu, gặp mặt nhiều hơn, không chỉ mạng xã hội mà còn ở ngoài đời thực

1.8 Giới thiệu game mobile tiêu biểu cho dòng game nhập vai

Nếu như nhắc tới những tựa game hành động nhập vai, chiến đấu đã tay từng làm mưa làm gió trên mobile thì chắc hắn bất cứ game thủ nào cũng sẽ nghĩ tới series Rambo Lùn, Contra đình đám Chính thức xuất hiện từ năm 2003, series game này đã có được rất nhiều thành công cũng như số lượng fan hâm mộ khổng lồ xếp vào hạng nhất nhì trên thế giới

Trang 30

Hình 1.23 Hình ảnh trong Rambo Lùn

Trong phần 5 này, game thủ không chỉ đóng vai một thợ săn tiền thưởng trở

về từ cuộc chiến với ác quỷ mà còn sớm chiếm được vị trí cao trong tổ chức, gánh vác trọng trách hết mực lớn lao là vị anh hùng cứu nhân độ thế Sở hữu cốt truyện khá rõ ràng, mạch lạc, Rambo Lùn dẫn dắt người chơi vào một cuộc chiến căng co

và hấp dẫn giả tưởng cùng những cuộc chiến với lính ngụy, những cuộc truy lùng khó khăn và những tên trùm cực mạnh

Hình 1 24 Một số hình ảnh trong game

Trang 31

Vẫn là thể loại free-to-play, Rambo Lùn mang đậm và nhấn mạnh vào phong cách chiến đấu Trong quá trình trải nghiệm gameplay, game mobile này phát huy tốt như những gì game đã mô tả, với nhiều tùy biến gameplay và đồ họa tuyệt đẹp

Hình ảnh cực kì ấn tượng ngay từ cái nhìn đầu tiên, Rambo Lùn được tối ưu hóa cho thế hệ iDevice mới với nhiều hiệu ứng khiến thị giác người chơi vô cùng kích thích và cuốn hút, hình ảnh chi tiết và khung cảnh rộng lớn chính là điểm mạnh của tựa game này Ngoài ra, hệ thống combat cũng là một điểm cộng lớn với hai nút

ảo nằm hai bên tạo cảm giác thoải mái, ngay cả những khi bận rộn nhất bạn cũng dễ dàng tung ra những skill ngay lập tức mà không gặp phải khó khăn nào

Rambo Lùn còn có chế độ khá độc đáo có nét tương đồng với các tựa game chiến thuật thời gian thực như Clash of Clans, Boom Beach Với chế độ này, game thủ sẽ cai quản căn cứ riêng, sở hữu hệ thống "hầm ngục" với tầng tầng lớp lớp Tại nơi đây, bạn sẽ có một đội quân của riêng mình, sẵn sàng đè bẹp bất cứ kẻ thù nào mon men đến gần Và ngược lại, game thủ cũng có thể đi săn tiền thưởng và tìm kiếm danh vọng bàng cách đánh phá căn cứ của những người chơi khác Đây quả là một nét thú vị và độc đáo mới lạ từ Rambo Lùn so với các tựa game hiện nay trên thị trường

Hình 1 25 Đồ họa tuyệt vời của Rambo Lùn

Trang 32

Bên cạnh yếu tố gameplay chiến đấu thì Rambo Lùn tiếp tục cung cấp hệ thống cá nhân hóa, mô hình nhân vật được thiết kế hết sức cá tính, đặc biệt là sự thay đổi lớn về các trang bị vũ khí Giờ đây người chơi có thể biến những vật phẩm

vô dụng không dùng tới trở nên có ích hay hy sinh chúng để cường hóa, tăng sức mạnh cho những vật dụng thiết yếu khác Trang bị càng xịn thì sát thương càng lớn

và tỉ lệ chiến thắng khi giao chiến trong Rambo Lùn càng cao

1.9 Những ưu điểm và tồn tại của những tựa game mobile nhập vai

1.9.1 Ưu điểm

Những game mobile nước ngoài được sự đầu tư kỹ lưỡng của nhà sản xuất nên chất lượng và nội dung của game cực kỳ ấn tượng Đồ họa thu hút, cốt truyện hấp dẫn, từng nhân vật trong game được trau chuốt kỹ lưỡng khiến cho người chơi

có cảm giác như mình đang hòa nhập vào nhân vật, bị lôi cuốn theo những tình tiết của câu truyện

Do được đầu tư kỹ lưỡng và có kế hoạch phát triển thị trường một cách kỹ lưỡng nên được game thủ biết đến nhiều và đón nhận một cách nồng nhiệt

1.9.2 Nhược điểm

Bên cạnh những ưu điểm thì vẫn còn những khuyết điểm Đầu tiên đó là rào cản về ngôn ngữ, đa phần các game mobile đều dùng ngôn ngữ bản địa (Tiếng Anh, tiếng Nhật…), đó cũng là một vấn đề khá khó, tuy chúng ta vẫn có thể chơi được nhưng sẽ bỏ lỡ đi phần đặc sắc nhất đó chính là cốt truyện của game, mất đi niềm hứng thú khi chơi game đó Thứ hai, do thị trường game mobile phát triển tự phát, không có quy hoạch nên các ứng dụng còn trùng lặp nhau, nội dung không được chú ý,… Khiến cho người chơi không biết lựa chọn ứng dụng phù hợp với mình

Ngày đăng: 09/11/2017, 16:12

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w