Tải bản đầy đủ (.pdf) (96 trang)

Đồ án xây dựng game 2d platform với unity

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.74 MB, 96 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 1
XÂY DỰNG GAME 2D PLATFORM VỚI UNITY

GV HƯỚNG DẪN : ThS. Trần Anh Dũng

SINH VIÊN THỰC HIỆN :
Nguyễn Hữu Việt : 20522152
Trần Trung Thành : 20521927

TH. HỒ CHÍ MINH, 6 THÁNG 7 NĂM 2023


LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy Trần
Anh Dũng - giảng viên hướng dẫn Đồ án 1 đã hỗ trợ những thông tin cần thiết và giải
đáp những thắc mắc cho nhóm trong suốt q trình thực hiện đề tài.
Đồng thời nhóm em cũng muốn gửi lời cảm ơn đến các anh chị khóa trên, đặc
biệt là những anh chị trong khoa đã chia sẻ những kinh nghiệm quý báu về mơn học
cũng như những kiến thức liên quan.
Vì kiến thức của chúng em vẫn còn hạn hẹp nên khơng thể tránh khỏi những
thiếu sót trong q trình thực hiện đồ án. Vì vậy nhóm chúng em ln mong đợi nhận
được những ý kiến đóng góp quý báu từ phía giảng viên để qua đó có thể rút kinh
nghiệm, tự sửa chữa, hồn thiện bản thân mình trên tinh thần nghiêm túc, tự giác học
hỏi. Một lần nữa nhóm chúng em xin chân thành cảm ơn thầy.

Thành phố Hồ Chí Minh, ngày 6 tháng 7 năm 2023


Sinh viên thực hiện
Nguyễn Hữu Việt
Trần Trung Thành


Mục Lục
ĐỀ CƯƠNG CHI TIẾT................................................................................... 13
Chương 1 : GIỚI THIỆU CHUNG ................................................................. 18
1.1.

Tổng quan đề tài .............................................................................. 18

1.2.

Lý do chọn đề tài ............................................................................. 18

1.3.

Đối tượng sử dụng ........................................................................... 18

1.4.

Phạm vi nghiên cứu ......................................................................... 18

Chương 2 : CƠ SỞ LÝ THUYẾT ................................................................... 20
2.1.

Unity Engine .................................................................................... 20

2.2.


C#..................................................................................................... 21

2.3.

Microsoft Visual Studio .................................................................. 22

2.4.

GitHub ............................................................................................. 23

Chương 3 : GIỚI THIỆU VỀ PLATFORM GAME ....................................... 24
3.1.

Khái niệm platform game ................................................................ 24

3.2.

Một số game tiêu biểu ..................................................................... 24

3.3.

Một số phong cách thiết kế.............................................................. 26

3.1.1.

Tuyến tính ................................................................................. 26

3.1.2.


Phi tuyến tính ............................................................................ 26

3.1.3.

Metroidvania ............................................................................. 27

Chương 4 : TỔNG QUAN ỨNG DỤNG........................................................ 30
4.1.

Ý tưởng game .................................................................................. 30

4.2.

Tính năng ......................................................................................... 30


4.3.

Giới thiệu về các gameObject ......................................................... 31

4.3.1.

Trong GamePlayScene.............................................................. 31

4.3.2.

TrongMenuScene ...................................................................... 33

Chương 5 : ĐẶC TẢ USE CASE ................................................................... 34
5.1.


Sơ đồ use case.................................................................................. 34

5.1.1.

Player......................................................................................... 34

5.1.2.

Slime ......................................................................................... 34

5.1.3.

RockBug .................................................................................... 35

5.1.4.

FlyEye ....................................................................................... 36

5.1.5.

RockSlug ................................................................................... 37

5.1.6.

Earth ruin guard (BOSS) ........................................................... 38

5.2.

Danh sách Actor .............................................................................. 39


5.3.

Danh sách use case .......................................................................... 40

5.4.

Mô tả chi tiết use case ..................................................................... 43

5.4.1.

Play Game ................................................................................. 43

5.4.2.

Exit game .................................................................................. 44

5.4.3.

Pause Game ............................................................................... 44

5.4.4.

Save Game ................................................................................ 44

5.4.5.

Restart Game ............................................................................. 45

5.4.6.


Exit to Menu.............................................................................. 45

5.4.7.

Move ......................................................................................... 46

5.4.8.

Dash........................................................................................... 47

5.4.9.

Attack ........................................................................................ 47


5.4.10.

UpdateHp ............................................................................... 48

5.4.11.

Take Damaged ....................................................................... 48

5.4.12.

ChechHP ................................................................................ 49

5.4.13.


Dead ....................................................................................... 50

5.4.14.

Buff ........................................................................................ 50

5.4.15.

Interact with item ................................................................... 51

5.4.16.

Teleport .................................................................................. 52

5.4.17.

Check map.............................................................................. 52

5.4.18.

IDLE....................................................................................... 53

5.4.19.

SeekPlayer.............................................................................. 54

5.4.20.

Walk ....................................................................................... 54


5.4.21.

Fly .......................................................................................... 55

5.4.22.

MeleeAttack ........................................................................... 56

5.4.23.

RangeAttack ........................................................................... 57

5.4.24.

DashAttack ............................................................................. 57

5.4.25.

AttackSkill ............................................................................. 58

5.4.26.

Appear .................................................................................... 59

5.4.27.

MissileAttack ......................................................................... 59

5.4.28.


SpinAround ............................................................................ 60

5.4.29.

StraightHit .............................................................................. 61

5.4.30.

MeteoriteFall .......................................................................... 62

Chương 6 : PHÂN TÍCH THIẾT KẾ .............................................................. 64
6.1.

Phân tích thiết kế ............................................................................. 64


6.1.1.

Class diagram ............................................................................ 64

6.1.2.

Danh sách các class ................................................................... 64

6.1.3.

Chi tiết các class ........................................................................ 66

6.2.


State diagram ................................................................................... 81

6.2.1.

Player state ................................................................................ 81

6.2.2.

Boss state ................................................................................... 82

6.2.3.

EarthSlime state ........................................................................ 83

6.2.4.

RockSlug state........................................................................... 84

6.2.5.

RockBug state ........................................................................... 85

6.2.6.

FlyEnemy state .......................................................................... 86

6.3.

Thiết kế UI ....................................................................................... 87


6.3.1.

Yêu cầu...................................................................................... 87

6.3.2.

Danh sách UI ............................................................................. 88

6.3.3.

Mô tả chi tiết ............................................................................. 88

Chương 7 : CÀI ĐẶT VÀ KIỂM THỬ .......................................................... 93
7.1.

Môi trường cài đặt và kiểm thử ....................................................... 93

7.2.

Kết quả kiểm thử ............................................................................. 93

Chương 8 : KẾT LUẬN .................................................................................. 94
8.1.

Tổng kết ........................................................................................... 94

8.2.

Kết quả đạt được.............................................................................. 94


8.3.

Khó khăn và hạn chế ....................................................................... 94

Chương 9 : HƯỚNG PHÁT TRIỂN ............................................................... 95
TÀI LIỆU THAM KHẢO ............................................................................... 96



Danh Sách Bảng
Bảng 5.1. Danh sách Actor........................................................................................ 40
Bảng 5.2. Danh sách use case ................................................................................... 43
Bảng 5.3. Đặc tả use case Play game ........................................................................ 44
Bảng 5.4. Đặc tả use case Exit game......................................................................... 44
Bảng 5.5. Đặc tả use case Pause game ...................................................................... 44
Bảng 5.6. Đặc tả use case Save game ....................................................................... 45
Bảng 5.7. Đặc tả use case Restart game .................................................................... 45
Bảng 5.8. Đặc tả use case Exit to menu .................................................................... 46
Bảng 5.9. Đặc tả use case Move................................................................................ 47
Bảng 5.10. Đặc tả use case Dash ............................................................................... 47
Bảng 5.11. Đặc tả use case Attack ............................................................................ 48
Bảng 5.12. Đặc tả use case Update HP ..................................................................... 48
Bảng 5.13. Đặc tả use case Take damaged ............................................................... 49
Bảng 5.14. Đặc tả use case CheckHP........................................................................ 50
Bảng 5.15. Đặc tả use case Dead .............................................................................. 50
Bảng 5.16. Đặc tả use case Buff................................................................................ 51
Bảng 5.17. Đặc tả use case Interact with item .......................................................... 52
Bảng 5.18. Đặc tả use case Teleport ......................................................................... 52
Bảng 5.19. Đặc tả use case Check map ..................................................................... 53
Bảng 5.20. Đặc tả use case IDLE .............................................................................. 54

Bảng 5.21. Đặc tả use case SeekPlayer ..................................................................... 54
Bảng 5.22. Đặc tả use case Walk .............................................................................. 55
Bảng 5.23. Đặc tả use case Fly.................................................................................. 56
Bảng 5.24. Đặc tả use case MeleeAttack .................................................................. 57
Bảng 5.25. Đặc tả use case RangeAttack .................................................................. 57
Bảng 5.26. Đặc tả use case Dash Attack ................................................................... 58
Bảng 5.27. Đặc tả use case Attack skill .................................................................... 59
Bảng 5.28. Đặc tả use case Appear ........................................................................... 59


Bảng 5.29. Đặc tả use case Missile Attack ............................................................... 60
Bảng 5.30. Đặc tả use case Spin Around .................................................................. 61
Bảng 5.31. Đặc tả use case Straight hit ..................................................................... 62
Bảng 5.32. Đặc tả use case Meteorite Fall ................................................................ 63
Bảng 6.1. Danh sách class ......................................................................................... 66
Bảng 6.2. Chi tiết Class Health ................................................................................. 66
Bảng 6.3. Chi tiết Class PlayerHealth ....................................................................... 67
Bảng 6.4. Chi tiết Class EnemyHealth ...................................................................... 67
Bảng 6.5. Chi tiết Class EnemyMovement ............................................................... 68
Bảng 6.6. Chi tiết Class FlyEnemyMovement .......................................................... 69
Bảng 6.7. Chi tiết Class BossMovement ................................................................... 69
Bảng 6.8. Chi tiết Class RockBugMovement ........................................................... 70
Bảng 6.9. Chi tiết Class RockSlugMovement ........................................................... 71
Bảng 6.10. Chi tiết Class EarthSlimeMovement ...................................................... 71
Bảng 6.11. Chi tiết Class Vision Range .................................................................... 72
Bảng 6.12. Chi tiết Class CameraManager ............................................................... 72
Bảng 6.13. Chi tiết Class PlayerController ............................................................... 75
Bảng 6.14. Chi tiết Class AttackBehavior................................................................. 76
Bảng 6.15. Chi tiết Class AttackBase ....................................................................... 77
Bảng 6.16. Chi tiết Class BossMeleeAttack ............................................................. 77

Bảng 6.17. Chi tiết Class BossAttackSkill2 .............................................................. 77
Bảng 6.18. Chi tiết Class BossAttackSkill3 .............................................................. 78
Bảng 6.19. Chi tiết Class BossAttackSkill4 .............................................................. 78
Bảng 6.20. Chi tiết Class FlyDashAttack .................................................................. 79
Bảng 6.21. Chi tiết Class FlyRangeAttack ................................................................ 79
Bảng 6.22. Chi tiết Class Tackle ............................................................................... 79
Bảng 6.23. Chi tiết Class DataPersistanceManager .................................................. 80
Bảng 6.24. Chi tiết Class FileDataHandler ............................................................... 80
Bảng 6.25. Chi tiết Class GameData ......................................................................... 81


Bảng 6.26. Chuyển đồi state của Player .................................................................... 82
Bảng 6.27. Chuyển đổi state của Boss ...................................................................... 83
Bảng 6.28. Chuyển đổi state của Slime ..................................................................... 84
Bảng 6.29. Chuyển đổi state của RockSlug .............................................................. 85
Bảng 6.30. Chuyển đổi state của RockBug ............................................................... 86
Bảng 6.31. Chuyển đổi state của FlyEye .................................................................. 87
Bảng 6.32. Danh sách UI .......................................................................................... 88
Bảng 7.1. Kết quả kiểm thử ....................................................................................... 93


Danh Sách Hình Ảnh
Hình 2.1. Unity logo .................................................................................................. 20
Hình 2.2. C# logo ...................................................................................................... 21
Hình 2.3. Visual studio logo...................................................................................... 22
Hình 2.4. Github logo ................................................................................................ 23
Hình 3.1. Mario game ............................................................................................... 25
Hình 3.2. Super Metroid X ........................................................................................ 26
Hình 3.3. Hollow Knight ........................................................................................... 28
Hình 5.1. Sơ đồ use case Player ................................................................................ 34

Hình 5.2. Sơ đồ use case Slime ................................................................................. 35
Hình 5.3. Sơ đồ use case RockBug ........................................................................... 36
Hình 5.4. Sơ đồ use case FlyEye ............................................................................... 37
Hình 5.5. Sơ đồ use case RockSlug........................................................................... 38
Hình 5.6. Sơ đồ use case Earth ruin guard ................................................................ 39
Hình 6.1. Sơ đồ Class ................................................................................................ 64
Hình 6.2. Sơ đồ state của Player ............................................................................... 81
Hình 6.3. Sơ đồ state của Boss .................................................................................. 83
Hình 6.4. Sơ đồ state của Slime ................................................................................ 84
Hình 6.5. Sơ đồ state của RockSlug .......................................................................... 85
Hình 6.6. Sơ đồ state của RockBug........................................................................... 86
Hình 6.7. Sơ đồ state của FlyEye .............................................................................. 87
Hình 6.8. UI Main menu screen ................................................................................ 88
Hình 6.9. UI Settings menu ....................................................................................... 89
Hình 6.10. UI Controls menu .................................................................................... 90
Hình 6.11. UI Pause menu ........................................................................................ 91
Hình 6.12. UI Player's health bar .............................................................................. 91
Hình 6.13. UI Enemy's health bar ............................................................................. 92



ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN


ĐỀ CƯƠNG CHI TIẾT

TÊN ĐỀ TÀI: Xây dựng game 2D platform với unity
Cán bộ hướng dẫn: TS. Trần Anh Dũng
Thời gian thực hiện : Từ ngày 10/3 đến ngày 6/7
Sinh viên thực hiện:
Nguyễn Hữu Việt – 20522152 - Nhóm trưởng
Trần Trung Thành – 20521927 - Thành viên
Nội dung đề tài:
1. Lý do chọn đề tài
Hiện nay video game là một trong những hình thức giải trí phổ biến nhất của giới trẻ
trong thời gian rảnh. Do ngày nay gần như ai cũng sở hữu máy tính cá nhân và các hệ
thống phân phối game rất phổ biến nên các game do những nhóm phát triển nhỏ dễ đến
được tay người chơi hơn. Dựa theo nhu cầu giải trí của mọi người, nhóm em quyết định
chọn đề tài phát triển một game 2D.
2. Mục tiêu
-

Hiểu rõ cấu trúc và cách sử dụng của Unity Engine.

-

Tạo ra một sản phẩm game đáp ứng được nhu cầu của người chơi để giải trí.

-

Thể loại game : platform, single player, Action, Indie, 2D, mentroidvania

3. Phạm vi



Phạm vi mơi trường: game có thể chơi trên Window 10 hoặc ở trên các website
như intch.io, simmer.io
Phạm vi chức năng :
-

Player có được xây dựng với các kỹ năng giúp vượt địa hình, tương tác với
mơi trường.

-

Player có thể tấn cơng enemy và ngược lại.

-

Có 1 đoạn cinematic khi player bước vào khu vực boss.

-

Đối với các vòng Boss thì sẽ có vịng lặp để Player đánh với boss đến khi
thắng.

-

Enemy được áp dụng các thuật tốn để thơng minh hơn, có thể rớt vật
phẩm khi bị tiêu diệt.

-


Player có thể lượm các vật phẩm để tăng status.

-

Tính năng Pause game.

4. Đối tượng
-

Những người có đam mê với thể loại game platform.

5. Phương pháp thực hiện
-

Làm việc hằng tuần online và offline với giảng viên hướng dẫn.

-

Tìm hiểu cách hoạt động của Unity Game Engine.

-

Khảo sát những game cùng thể thoại để thiết kế được các màn chơi đáp ứng
được nhu cầu của người dùng.

-

Tìm hiểu quy trình thiết kế UX/UI và tiến hành thiết kế giao diện cho Game.

-


Sử dụng các công cụ hỗ trợ như draw.io, gimp để hỗ trợ cho việc thiết kế
game, game assets.

-

Lên kế hoạch thực hiện và mục tiêu hàng tuần.

-

Tiến hành triển khai và kiểm thử hệ thống và game.

6. Nền tảng và môi trường phát triển game
-

Nền tảng: Windows

-

Môi trường: Unity

-

Ngôn ngữ: C#


-

Công cụ quản lý source code: Github, git


-

Công cụ phát triển: visual studio code, visual studio 2022

-

Công cụ thiết kế: draw.io(UML), GIMP(game assets), Blender, Adobe Photoshop

7. Kết quả mong đợi
-

Xây dựng thành cơng 1 game Platformer có 1 intro scene và 1 play scene (có
enemies và boss) trên nền tảng PC.

-

Game chạy mượt không xảy ra lỗi.

8. Hướng phát triển của đề tài.
-

Nâng cấp đồ họa lên 2.5d.

-

Thêm AI cho enemies

-

Sử dụng thêm các kỹ thuật procedural animation, shader graph, … để tạo di

chuyển và hiệu ứng cho nhân vật và enemies.

-

Thêm chế độ multiplayer/ pvp để người chơi có thể chơi online

9. Kế hoạch làm việc
Thời gian thực hiện: từ ngày 10/03/2023 cho đến ngày 17/06/2023. Kế hoạch thực hiện
đồ án nhóm chia thành 8 sprint (mỗi sprint kéo dài từ 1 – 2 tuần):
Sprint 1 (10/03/2023 - 17/03/2023): Đăng ký đề tài, soạn đề cương chi tiết
Sprint 2 (17/03/2023 - 31/03/2023):
-

Chuẩn bị tài liệu công nghệ.

-

Mô tả game (câu chuyện game, mô tả nhân vật và các đối tượng trong game)

-

Phân tích thiết kế use-case player, enemies.

Sprint 3 (31/03/2023 - 14/04/2023):
-

Thiết kế hoạt ảnh player, enemies.

-


Thiết kế giao diện các màn hình.

-

Xây dựng khung sườn cho game (áp dụng design pattern).

Sprint 4 (14/04/2023 - 28/04/2023):
-

Lập trình player và một số enemies cơ bản .


-

Xây dựng màn chơi (play scene).

-

Chuẩn bị báo cáo tiến độ giữa kỳ.

Sprint 5 (28/04/2023 - 12/05/2023):
-

Tiếp tục hoàn thiện lập trình player, enemies và boss và xây dựng play scene.

-

kiểm thử game

Sprint 6 (12/05/2023 - 26/5/2023):

-

Tiếp tục hoàn thiện lập trình player, enemies và boss và xây dựng play scene.

-

Xây dựng bản đồ cho màn chơi 1.

-

kiểm thử game

Sprint 7 (26/05/2023 - 17/06/2023):
-

Xây dựng intro Scene.

-

Cài đặt save data(game state và game setting).

-

Hoàn thiện play scene.

-

Cài đặt Audio.

-


Kiểm thử game.

Sprint 8 (17/06/2023 - 30/06/2023):
-

Tổng kiểm thử game.

-

Triển khai game trên nền tảng web.

-

hoàn thành báo cáo đồ án cuối kỳ.

10. Phân cơng cơng việc
Cơng việc

Mơ tả cơng việc

Cơng việc

-

Tìm hiểu cơng nghệ

chung

-


Phân tích thiết kế

-

Lập trình player, enemies và boss

-

Xây dựng Play Scene

-

Kiểm thử game


-

Triển khai game

-

Chuẩn bị tài liệu và báo cáo

Trần Trung Thành
Công việc cá

-

nhân

-

Thiết kế hoạt ảnh player,

-

Xây dựng khung sườn cho game

enemies và boss

-

cài đặt save data(game state và

Thiết kế giao diện các màn
hình.

-

Nguyễn Hữu Việt

game setting).
-

Quản lý tiến độ đồ án

Xây dựng intro scene

Xác nhận của CBHD


TP. HCM, ngày….tháng …..năm…..

(Ký tên và ghi rõ họ tên)

Sinh viên
(Ký tên và ghi rõ họ tên)


Chương 1 : GIỚI THIỆU CHUNG
1.1. Tổng quan đề tài
Tên đề tài: Xây dựng game 2D platform với unity
Nền tảng công nghệ: Unity Engine
Môi trường phát triển: Desktop - Windows 10

1.2. Lý do chọn đề tài
Hiện nay video game là một trong những hình thức giải trí phổ biến nhất của
giới trẻ trong thời gian rảnh. Do ngày nay gần như ai cũng sở hữu máy tính cá nhân
và các hệ thống phân phối game rất phổ biến nên các game do những nhóm phát triển
nhỏ dễ đến được tay người chơi hơn. Dựa theo nhu cầu giải trí của mọi người, nhóm
quyết định chọn đề tài phát triển một game 2D nhỏ.

1.3. Đối tượng sử dụng
Tất cả người chơi có độ tuổi từ 7 tuổi trở lên.
1.4. Phạm vi nghiên cứu
Phạm vi mơi trường: Ứng dụng máy tính.
Phạm vi thiết kế game : thể loại game platform.
Phạm vi chức năng:
• Game 2D đơn màn chơi xuyên suốt.
• Một nhân vật do người chơi điều khiển với hệ thống di chuyển cơ bản - đi
trái phải và nhảy – và khả năng chiến đấu cơ bản – nhấn chuột để tấn cơng.

• Nhiều enemy NPC (qi vật) tự di chuyển và hành động theo AI được cài
đặt sẵn, phản ứng theo hành vi của người chơi.
• Màn chơi được thiết kế thủ cơng, sử dụng asset có sẵn, với độ rộng thấp.


• Một menu chính khi mở ứng dụng game lên và kết thúc game với các nút
cơ bản


Chương 2 : CƠ SỞ LÝ THUYẾT
2.1. Unity Engine

Hình 2.1. Unity logo

Unity là một game engine đa nền tảng được phát triển bởi Unity Technologies,
lần đầu tiên được công bố và phát hành vào tháng 6 năm 2005 tại Apple Worldwide
Developers Conference dưới dạng game engine cho Mac OSX.
Unity Engine đã dần dần được mở rộng để hỗ trợ các loại nền tảng desktop,
mobile, console và Virtual Reality. Nó đặc biệt phổ biến trên IOS, Android và được
coi là dễ sử dụng cho người mới bắt đầu phát triển game và các nhà phát triển indie.
Cơng cụ có thể được sử dụng để tạo ra game 3D và 2D, cũng như mô phỏng tương
tác và các trải nghiệm khác. Engine đã được được chấp nhận bởi các ngành bên ngồi
trị chơi điện tử, chẳng hạn như phim, ô tô, kiến trúc, kỹ thuật và xây dựng.
Unity cung cấp cho người dùng khả năng tạo ra game và trải nghiệm ở cả 2D
và 3D, đồng thời engine cung cấp một scripting API chính trong C# bằng cách sử
dụng Mono, cho cả trình soạn thảo Unity editor ở dạng plugin và bản thân các game,
cũng như chức năng kéo và thả. Trước khi C# trở thành ngơn ngữ lập trình chính
được sử dụng trong engine, trước đây engine hỗ trợ Boo, nhưng đã bị xóa khi phát
hành Unity 5 và triển khai dựa trên Boo của JavaScript được gọi là UnityScript, và
không được dùng nữa vào tháng 8 năm 2017, sau khi phát hành Unity 2017.1, để sử

dụng C#.


Trong các game 2D, Unity cho phép import các sprite và 2D world renderer
tiên tiến. Đối với game 3D, Unity cho phép đặc tả kỹ thuật texture compression,
mipmap và cài đặt độ phân giải cho mỗi nền tảng mà engine hỗ trợ và cung cấp hỗ
trợ cho bump mapping, reflection mapping, parallax mapping, screen space ambient
occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture và fullscreen post-processing effects.

2.2. C#

Hình 2.2. C# logo

C# (hay C sharp) là một ngơn ngữ lập trình đơn giản, được phát triển bởi đội
ngũ kỹ sư của Microsoft vào năm 2000. C# là ngơn ngữ lập trình hiện đại, hướng đối
tượng và được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được biên
dịch trực tiếp thành mã thực thi của hệ điều hành.Trong các ứng dụng sử dụng .NET
Framework, mã nguồn chương trình (C#, VB.NET) được biên dịch thành mã ngơn
ngữ trung gian MSIL (Microsoft intermediate language). Sau đó mã này được biên
dịch bởi Common Language Runtime (CLR) để trở thành mã thực thi của hệ điều
hành.


C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng
dụng Windows Forms hay WPF (Windows Presentation Foundation), phát triển
game, ứng dụng Web, ứng dụng Mobile trở nên rất dễ dàng.

2.3. Microsoft Visual Studio


Hình 2.3. Visual studio logo

Visual Studio Logo Microsoft Visual Studio là một mơi trường phát triển tích
hợp (IDE) từ Microsoft. Microsoft Visual Studio cịn được gọi là "Trình soạn thảo
mã nhiều người sử dụng nhất thế giới ", được dùng để lập trình C++ và C# là chính.
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. Nó có
thể sản xuất cả hai ngôn ngữ máy và mã số quản lý.
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,[4] 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# (như của
Visual Studio 2010[5]). Hỗ trợ cho các ngôn ngữ khác như J++/J#, 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.
Microsoft cung cấp phiên bản "Express" (đối với phiên bản Visual Studio 2013
trở về trước) và "Community" (đối với bản Visual Studio 2015 trở về sau) là phiên
bản miễn phí của Visual Studio

2.4. GitHub

Hình 2.4. Github logo

GitHub là một hệ thống quản lý dự án và phiên bản code, hoạt động giống như
một mạng xã hội cho lập trình viên. Các lập trình viên có thể clone lại mã nguồn từ
một repository và Github chính là một dịch vụ máy chủ repository công cộng, mỗi

người có thể tạo tài khoản trên đó để tạo ra các kho chứa của riêng mình để có thể
làm việc.
Github có đầy đủ những tính năng của Git, ngồi ra nó cịn bổ sung những tính
năng về social để các developer tương tác với nhau. Github cung cấp các tính năng
social networking như feeds, followers, và network graph để các developer học hỏi
kinh nghiệm của nhau thông qua lịch sử commit


Chương 3 : GIỚI THIỆU VỀ PLATFORM GAME
3.1. Khái niệm platform game
Từ lâu, khái niệm game nhập vai hay Role-Playing Game (RPG) đã khơng cịn
xa lạ đối với nhiều người. RPG đồng thời cũng đại diện cho rất nhiều dòng game nhỏ
bên trong nó, chính vì thế RPG đóng vai trò là một yếu tố trong một game hơn là một
thể loại cụ thể. Platformer game chính là một trong số rất nhiều nhánh của RPG và
game hành động với có một số quy luật chính như:


Nhập vai vào nhân vật chính, có cốt truyện, bối cảnh xảy ra



Thế giới của platformer game thường chịu ảnh hưởng của các định luật vật lý
như: trọng lực, va chạm cơ, … chứ khơng đơn thuần như các game ở dạng topdown (góc nhìn từ trên xuống).



Nhân vật chính thường có các kỹ năng nhảy, di chuyển, chạy, … mô phỏng lại
các thao tác như đời thực. Dùng các chuyển động đó để vượt qua các địa hình
(platform) khác nhau.


3.2. Một số game tiêu biểu
Nói đến platformer game từ xưa nay thì khơng thể không kể đến một số game
kinh điển như Super Mario Bros. quen thuộc hay Castlevania. Thậm chí một số
platformer game cịn đóng vai trị đặt nền móng cho các thể loại con sau này.
Với Mario, người chơi có thể thấy rõ yếu tố vật lý được đặt vào rất nhiều. Việc
chuyển động của Mario còn trở nên phong phú hơn khi có yếu tố gia tốc. Ngồi các
hành động đi và chạy thì Mario cịn có cả trường hợp quay đầu sang hướng ngược lại
khi đang chạy (skid). Với hành động nhảy thì Mario cịn có thể điều khiển độ cao của
cú nhảy. Về yếu tố nhập vai thì có cả một câu chuyện phía sau mà ai cũng biết và
người chơi sẽ nhập vai vào Mario để vượt qua các địa hình hiểm trở (platform), sử
dụng các kỹ năng bay nhảy của mình để tiêu diệt lũ Koopa và cứu lấy công chúa.


Hình 3.1. Mario game

Một game tiêu biểu khác đó là Castlevania cũng thuộc dòng platformer game. Tuy
chuyển động đơn giản hơn Mario nhưng phần thiết kế map của chuỗi game
Castlevania này đã để lại dấu ấn lịch sử trong ngành game và sinh ra một dòng game
mới gọi là Metroidvania khi kết hợp với các cơ chế của một platformer game khác
tên là Super Metroid X:


Super Metroid X mang đến cơ chế locks and keys



Castlevania mang đến phong cách thiết kế map interconnection



×