Tải bản đầy đủ (.docx) (20 trang)

báo cáo thực tập lập trình GAME trên MOBILE

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 (794.85 KB, 20 trang )

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

BÁO CÁO THỰC TẬP

LẬP TRÌNH GAME TRÊN MOBILE

Cơng ty thực tập

: Gameloft

Thực tập sinh

: Phan Việt Đức

TP. Hồ Chí Minh, tháng 1 năm 2021

1

Sinh viên thực hiện: Phan Việt Đức


LỜI MỞ ĐẦU

Ngày nay, ngành công nghiệp game là một bộ phận không thể thiếu của ngành công
nghiệp phần mềm. Với tốc độ phát triển vô cùng mạnh mẽ, ngành game đã và đang là nhân tố
kích thích sự phát triển của công nghệ thông tin thế giới, cả về phần cứng và phần mềm.
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ. Ngành công
nghiệp game non trẻ Việt Nam đã và đang phát triển mạnh mẽ, để hịa nhập với những cơng ty
hàng đầu về game trên thế giới. Bên cạnh những công ty game trẻ tuổi trong nước, những công
ty game lớn trên thế giới (như Gameloft) cũng gia nhập vào thị trường Việt Nam, góp phần rất


lớn vào sự phát triển tích cực của ngành game Việt.
Ngành game được sinh ra là do nhu cầu giải trí của giới trẻ bằng những thiết bị cơng
nghệ mới nhất. Và cũng chính giới trẻ sẽ là nguồn nhân lực quan trọng cho việc phát triển của
ngành game sau này. Vì lý do này, em quyết định chọn lập trình game làm định hướng cho việc
học tập của mình.
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng như
muốn được tham gia làm game trong một mơi trường chun nghiệp, em có dự định là sẽ thực
tập trong hè. Vì vậy, em quyết định chọn Gameloft - một môi trường lý tưởng, hiện đại, chuyên
nghiệp - là nơi sẽ giúp em thực hiện được dự định này.

2

Sinh viên thực hiện: Phan Việt Đức


LỜI CẢM ƠN

Trân trọng gửi lời cảm ơn Công ty Gameloft Việt Nam đã tạo điều kiện cho em có cơ hội
được thực tập tại công ty.
Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, nhóm
thực tập chúng em đã tiếp thu được những kiến thức quan trọng để có thể làm được một game
3D. Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian,cơng sức để
hướng dẫn chúng em hoàn thành đợt thực tập này.
Đặc biệt cảm ơn anh Huỳnh Lê Trung Hậu, đã training Unity, hướng dẫn, giúp đỡ cho
chúng em tận tình cả những khó khăn trong cơng việc, đến những khó khăn việc làm quen với
môi trường mới; cảm ơn chị Thảo Nguyên, đã hỗ trợ chúng em rất nhiều về các vấn đề môi
trường và các điều khoản việc làm; cảm ơn anh Nguyễn Văn Đông, đã chỉ dẫn chúng em về
cách làm báo cáo, lên kế hoạch, những kỹ năng không thể thiếu; cảm ơn các anh Đinh Xuân
Dụy đã training cho chúng em những kiến thức quan trọng về C# để có thể làm ra một sản phẩm
trong thời gian qua.

Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điều
kiện em làm bài báo cáo này.
Phan Việt Đức
TpHCM, ngày 12 tháng 1 năm 2021

3

Sinh viên thực hiện: Phan Việt Đức


4

Sinh viên thực hiện: Phan Việt Đức


NHẬN XÉT CỦA KHOA

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................

5

Sinh viên thực hiện: Phan Việt Đức


MỤC LỤC

MỤC LỤC.......................................................................................................................... 1
Chương 1: Giới thiệu công ty thực tập..........................................................................2
1.
2.

Giới thiệu về công ty Gameloft...........................................................................2
Sản phẩm của công ty........................................................................................2

Chương 2: Nội dung thực tập.........................................................................................3
1.
2.
3.
4.

Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty.......................................3
Nghiên cứu kỹ thuật..............................................................................................3
Thực hiện project..................................................................................................7

Lịch làm việc.......................................................................................................7

Chương 3: Chi tiết về project.........................................................................................9
1.
Giới thiệu về Game.............................................................................................9
2.
Thực hiện............................................................................................................11
3.
Kế hoạch..........................................................................................................11
TÀI LIỆU THAM KHẢO..............................................................................................13
TỔNG KẾT....................................................................................................................14

6

Sinh viên thực hiện: Phan Việt Đức


Chương 1: Giới thiêu công ty thực tập

1. Giới thiệu công ty Gameloft

Gameloft được thành lập năm 1999 tại Pháp, là tập đoàn hàng đầu thế giới về
phát triển và phát hành game di động và game tải trực tuyến. Sau mười hai năm
thành lập, đến nay Gameloft đã khẳng định được vị thế là mộttrong những công ty
dẫn đầu trong lĩnh vực này.
Gameloft có văn phịng đặt tại tất cả các châu lục trên thế giới, phân phối game
cho 100 quốc gia và có hệ thống studio sản xuất game riêng với hơn 3.500 nhân
viên.
Sản phẩm của công ty
2. Sản phẩm của công ty


Gameloft thiết kế game cho điện thoại di động,iPhone, iPod touch và iPad với số
lượng thiết bị được dự đoán sẽ lên đến 4 tỉ vào năm 2012. Là nhà tiên phong trong
lĩnh vực game tải trực tuyến, Gameloft cũng phát triển game cho các hệ máy
WiiWare, DSiWare, Microsoft Xbox LIVE Arcade và PlayStation Network.
Nhờ những thỏa thuận hợp tác với các thương hiệu lớn, Gameloft liên kết được
những thương hiệu lớn trên toàn thế giới với các tựa game như Uno, Ferrari, Shrek,
CSI, Iron Man, Spiderman và Sonic. Ngồi ra cơng tycũng sở hữu bộ sưu tập game
của riêng mình với các thương hiệu game được nhượng quyền thương mại như Real
Football, Asphalt và Cerebral Challenge.

7

Sinh viên thực hiện: Phan Việt Đức


Chương 2: Nội dung thực tập
Đợt thực tập với chủ đề “Lập trình game trên Mobile” nhằm mục đích giúp sinh viên
thực tập được đào tạo toàn diện về lập trình game, đồng thời rèn luyện những kỹ năng mềm như
làm việc nhóm, thuyết trình, giao tiếp. Tại cơng ty, sinh viên có cơ hội được học tập, khám phá
và làm việc trong một môi trường phát triển game chuyên nghiệp.
1. Tìm hiểu cơng ty và các kỹ năng cơ bản trong công ty

Thời gian : 1 ngày
Nội dung : Giới thiệu về công ty, cách tổ chức của công ty
Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triên
(như đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của
cơng ty .
Ngồi ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty
như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công

việc…
Kết quả : Hiểu thêm về cơng ty Gameloft, q trình thành lập và phát triển. Có thêm các
kỹ năng về việc sử dụng email trong cơng việc, làm việc có kế hoạch, có kỷ luật, có trách
nhiệm hơn.
2. Nghiên cứu kỹ thuật
2.1.
Các công cụ làm việc

2.2.

Thời gian : 4 ngày
Nội dung : Tìm hiểu về các cơng cụ sẽ được sử dụng trong quá trình làm việc.
Trong thời gian này, supervisor đã hướng dẫn thực tập sinh tìm hiểu về các cơng
cụ sẽ giúp ích cho trong cơng việc sau này. Một số phần mềm trong số đó như
Skype/Trello - sử dụng trong làm việc nhóm, Sourcetree – Phần mềm quản lý phiên
bản code rất hữu ích và phổ biến với lập trình viên và git.
Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên.
Kết quả : Lập trình sử dụng các cơng cụ miễn phí, giúp dễ dàng kết hợp các công cụ
với nhau, so với việc dung các IDE.
Tìm hiểu ngơn ngữ C# nâng cao
Thời gian : 5 ngày (1 tuần)
Nội dung : Được training về các kỹ thuật C# nâng cao, những kiến thức quan trọng
cho việc tối ưu game.
- Lập trình hướng đối tượng
Các kiến thức cơ bản về lập trình hướng đối tượng như khái niêm, các đặc tính
như tính kế thừa, tính đóng gói, tính ảo hóa, tính đa hình. Ngồi ra, thực tập sinh
còn được hướng dẫn về cách thiết kế lớp cho các đối tượng game.
- Con trỏ :

8


Sinh viên thực hiện: Phan Việt Đức


Con trỏ là môt phần rất quan trọng trong lập trình game, vì cần phải sử dụng con
trỏ để cấp phát động, truyền tham số qua lại các hàm, các lớp.
- Quản lý bộ nhớ
Thực tập sinh sẽ được hướng dẫn về cách cấp phát, quản lý bộ nhớ sao cho tối ưu,
tránh rò rỉ bộ nhớ, một trong những phần rất quan trọng trong lập trình game trên
điện thoại, vì bộ nhớ trên điện thoại khơng thể lớn như trên máy tính được.
- STL :
Cung cấp các phương pháp để sử dụng STL trong game. STL có sẵn những tiện
ích về list, vector, input, output … chuẩn. Áp dụng STL trong lập trình C# sẽ làm
tăng tốc độ lập trình, giúp lập trình viên tiết kiệm được thời gian. Điều quan trọng
là đây là một chuẩn của C#, nên nó tương thích trên nhiều nền tảng khác nhau, so
với một thư viện nào đó từ một bên thứ ba.
Thực hiện :
- Tham gia đầy đủ các buổi training của công ty.
- Làm các bài thực hành, kiểm tra về kiến thức đã học.
Kết quả :
-

2.3.

Nâng cao kỹ năng lập trình với ngơn ngữ C#.
Có được những kiến thức quan trọng cho việc lập trình game mobile sau này.
Ngồi ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng
chuẩn, dễ đọc, dễ hiểu.

Lập trình game với Unity

Nội dung: Các kiến thức cơ bản về Unity để có thể làm ra một game đơn giản.
-

Khái niệm cơ bản về Unity.
Nắm được các khái niệm cơ bản về Unity, là một game engine đa nền tảng được
phát triển bởi Unity Technologies, mà 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, đến nay
đã mở rộng 27 nền tảng.
Ngồi ra, trainer cịn cung cấp cho thực tập sinh những khái niệm cơ bản trong
Unity như hệ tọa độ 3D, game object…, là những khái niệm rất cơ bản và quan
trọng trong lập trình game.

-

Assets:

9

Sinh viên thực hiện: Phan Việt Đức


Assets là những tài nguyên được sử dụng trong việc phát triển game
trong Unity. Các Assets này có thể là hình ảnh, mơ hình 3D, âm thanh,
hiệu ứng, ... được tạo ra bởi các nhà phát triển, có thể được download
miễn phí hoặc trả phí. Tính năng này giúp giảm thiểu rất nhiều thời
gian cho việc thiết kế và lập trình game.
-

GameObject

Unity định nghĩa GameObject là đối tượng đại diện cho các Assets
trong game như nhân vật, cây cỏ, công cụ, đạo cụ, camera, hiệu
ứng ... Các GameObject đều chứa một thuộc tính cơ bản là Transform,
dùng để thiết lập vị trí, hướng và kích thước của GameObject. Basic

GLSL-ES
-

Components
Components là các thuộc tính thêm vào GameObject như là Animation,
âm thanh, mơ hình 3D, hiệu ứng, … nhằm xây dựng, kết hợp các yếu
tố khác nhau để xác định các hình thái, hành vi, hiệu ứng, ... của đối
tượng mong muốn trong game.

-

Scenes
Trong Unity, Scene là một cảnh game, không gian game nơi thiết lập
bố cục của các GameObjects, hoặc là một phần chứa các thiết lập giao
diện như các menu trong game. Tạo ra nhiều Scenes sẽ giúp linh hoạt
trong việc phân phối tối ưu tài nguyên, quản lý các phân đoạn trong
game một cách độc lập.

-

Scripts
Scripts là một Component trong Unity. Đây là thành phần thiết yếu
dùng để tương tác với các hành động của người chơi, hoặc quản lý các
sự kiện để thay đổi chiều hướng của game tương ứng với kịch bản
game.

Unity cung cấp cho lập trình viên khả năng viết Script bằng ngôn ngữ
C#.

-

Prefabs
Prefabs là một GameObject hồn chỉnh sau khi thêm các thuộc tính và
được lưu trữ lại để tái sử dụng. Các GameObject được nhân bản từ một
prefab sẽ giống nhau hoàn toàn.

10

Sinh viên thực hiện: Phan Việt Đức


-

Camera
Camera trong Unity dùng để thể hiện khung hình, góc nhìn mà người
chơi có thể nhìn thấy được trong game.
Trong một game có thể thiết lập nhiều camera để chia nhỏ màn hình
người chơi, tạo các hiệu ứng, hoặc tùy chỉnh như nhìn được từ phía
sau, bản đồ thu nhỏ, …

Thực hiện :
-

Tham gia đầy đủ các buổi trainning.
Làm các bài tập thực hành như lập trình các thao tác đơn giản trên Unity
Tìm kiếm tài liệu trên mạng để tìm hiểu thêm.


Kết quả :
3.

Hiểu được những khái niệm cơ bản trong lập trình game trên Unity.
Đã thao tác và sử dụng được những tính năng cần thiết trên Unity.

Thực hiện project
Sau 2 tuần được training và thực hành, thực tập sinh đã nắm được những kiến thực cơ
bản về C#, Unity, Git. Trong tháng thứ hai, trainer đã hướng dẫn thực tập sinh áp dụng
những kiến thức đã học để thực hiện một project game trên Mobile.
Chi tiết đồ án sẽ được nói ở phần sau.

4.

Lịch làm việc
Tuần
-

1

-

2

-

Cơng việc
Người hướng dẫn
Tìm hiểu về cơng ty, cách tổ Chị Thảo Nguyên

chức của công ty.
Làm quen với các công cụ làm
việc trong cơng ty.
Học cách trao đổi, làm việc
qua email.
Tìm hiểu ngơn ngữ lập trình Anh Huỳnh Lê Trung Hậu
C# nâng cao
Anh Đinh Xuân Dụy
Thực hành C#
Làm bài test C#

11

Sinh viên thực hiện: Phan Việt Đức


3

4

5

6

7

Tìm hiểu về Unity
Thực hành một số chức năng
cơ bản
Giai đoạn Alpha:

- Research
- Lên ý tưởng
- Viết prototype
- Giới thiệu ý tưởng game
Giai đoạn Alpha(tiếp):
- Viết các lớp quản lý Object,
các lớp Object.
- Ráp vào Framework thành một
game với chức năng cơ bản.
Giai đoạn Beta:
- Viết các chức năng nâng cao
hơn
- Giao diện trang bị weapon, test
với 1 weapon cơ bản. Giao diện
mua bán đồ
-

Anh Huỳnh Lê Trung Hậu
Anh Huỳnh Lê Trung Hậu
Anh Nguyễn Văn Đông

Anh Huỳnh Lê Trung Hậu

Anh Huỳnh Lê Trung Hậu

Giai đoạn Beta và giai đoạn kết Anh Huỳnh Lê Trung Hậu
thúc, báo cáo :
Anh Nguyễn Văn Đơng
- Hồn thiện sản phẩm.
- Fix bug, fix rị rì vùng nhớ.

- Báo cáo cuối đợt thực tập.

12

Sinh viên thực hiện: Phan Việt Đức


Chương 3: Chi tiết về project
1. Giới thiệu về game

Game lấy ý tưởng từ trò chơi chicken invader, archero chỉnh sửa để tạo ra gameplay thú
vị hơn phù hợp với việc chơi game trên di động (Thời gian ngắn, số người chơi ít,
thường là tự chơi).
Luật chơi chính

1.1.

Mơ tả
Space war là trò chơi thuộc thể loại shoot ‘em up lấy ý tưởng từ trận chiến ngồi
khơng gian giữa các các phi thuyền
Tóm tắt:
Kiểu chơi: Shoot ‘em up
o Player điều khiển phi thuyền của mình để tấn cơng.
o Enemy sẽ gồm nhiều loại và có độ khó tăng dần theo từng màn chơi và sức

mạnh của player.
o Qua các màn player sẽ thu thập được exp cũng như vàng để nâng cấp sức

mạnh cũng như mua các loại vũ khí mới, phi thuyền mới.
Đối tượng trong game


1.2.

Player:
-

Health point
Mỗi phi thuyền mà người chơi sở hữu sẽ có một chỉ số HP cơ bản và có thể tăng
thêm khi người chơi nâng cấp chỉ số này mỗi khi lên cấp.

Bullet Type
Mỗi phi thuyền sẽ có một loại đạn cơ bản riêng.
- Attack
Player sẽ tự động bắn liên tục đạn cơ bản khi enemy xuất hiện.
- Điều khiển
Player có thể chạm vào điểm bất kỳ trên màn hình làm xuất hiện joystick để điều khiển
phi thuyền.
- Fire rate
-

13

Sinh viên thực hiện: Phan Việt Đức


Mỗi phi thuyền mà người chơi sở hữu sẽ có một chỉ số Fire rate cơ bản và có thể tăng
thêm khi người chơi nâng cấp chỉ số này mỗi khi lên cấp.
- Damage
Damage cơ bản của mỗi viên đạn mà người chơi bắn.
Enemy:

- Normal
Là enemy thông thường mà player sẽ gặp thường xuyên mỗi màn chơi, sở hữu cách tấn
công và cách di chuyển cơ bản. Cách tấn công, loại đạn sẽ có độ khó tăng dần theo màn
chơi. Enemy này sẽ rơi vàng khi bị hạ gục.
- Special
Enemy đặc biệt xuất hiện rãi rác và ít mỗi màn chơi. Loại kẻ địch này có lượng máu và
sát thương cao hơn Normal.
- Boss
Xuất hiện cuối mỗi map và sẽ được thiết kế riêng không trùng lặp. Sở hữu lượng máu
cao với cách tấn công cũng như loại đạn đa dạng.

1.3.

Hình Ảnh Trị Chơi:

14

Sinh viên thực hiện: Phan Việt Đức


H.1. Màn hình chọn màn chơi

H.2. Màn hình In-game

15

Sinh viên thực hiện: Phan Việt Đức


H.3. Màn hình power up


H.4. Màn hình Store

16

Sinh viên thực hiện: Phan Việt Đức


H.5 Màn hình inventory + Upgrade
2. Thực hiện

3 thành viên của team internship H3D:
-

Phan Việt Đức
Châu Thành Đạt
Nguyễn Hữu Hồng Huy

Và sự giúp đỡ tận tình của team trainer Gameloft.

17

Sinh viên thực hiện: Phan Việt Đức


3. Kế hoạch

Giai đoạn Alpha: Hồn thiện các tính năng cơ bản:
- player
- Cách di chuyển của enemy 1, cách bắn enemy 1, boss

- Giao diện game play, thiết kế màn chơi, upgrade skill trong màn chơi
- Giao diện trang bị weapon, test với 1 weapon cơ bản.
- Giao diện mua bán đồ
Kết quả :
-

Hầu hết các tính năng trên đã được thực hiện.

Giai đoạn Beta: Hoàn thiện sản phẩm
- Cách di chuyển, cách bắn của nhiều loại enemy, boss
- Save/Load
-

Tăng số lượng weapon

Kết quả : Đã hoàn thành toàn bộ những tính năng trên, trừ việc thực hiện một map vừa.

18

Sinh viên thực hiện: Phan Việt Đức


TÀI LIỆU THAM KHẢO

For Models
/> />For Unity

/>
For C#
/>

19

Sinh viên thực hiện: Phan Việt Đức


TỔNG KẾT

Như vậy, chỉ trong vòng một tháng ngắn ngủi, nhóm đã kịp hồn thành một game
Mobile. Game đã có khá đầy đủ các tính năng đã đề ra ban đầu. Do thời gian có hạn nên tính
năng game cịn đơn giản, hình ảnh chưa được đẹp như mong đợi. Nhưng do game phát triển
theo framework có tính kế thừa nên sau này khi có thời gian sẽ có thể phát triển lên mức cao
hơn.
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer Gameloft, sự nỗ lực của
nhóm H3D để có thể hồn thành game này.

20

Sinh viên thực hiện: Phan Việt Đức



×