1. Trang chủ
  2. » Cao đẳng - Đại học

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

19 38 0

Đ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 19
Dung lượng 0,98 MB

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

Nội dung

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 chuyên nghiệp, em có dự định là sẽ thực tập trong hè..

Trang 1

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

Thực tập sinh : Phan Việt Đức

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

Trang 2

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 chuyên 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

Trang 3

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

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

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 Giới thiệu về công ty Gameloft 2

2 Sản phẩm của công ty 2

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

1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 3

2 Nghiên cứu kỹ thuật 3

3 Thực hiện project 7

4 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

Trang 6

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 Ngoà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

Trang 7

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

Ngoà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, quá 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

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

2.2 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 Ngoà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

Trang 8

- Con trỏ :

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ả :

- 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.

- Ngoà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

2.3 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

Ngoà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:

Trang 9

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 hoà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

- Camera

Trang 10

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ả :

- 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.

3 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 Công việc Người hướng dẫn

1

- Tìm hiểu về công ty, cách tổ

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

Chị Thảo Nguyên

2

- Tìm hiểu ngôn ngữ lập trình

C# nâng cao

- Thực hành C#

- Làm bài test C#

Anh Huỳnh Lê Trung Hậu Anh Đinh Xuân Dụy

3 - Tìm hiểu về Unity - Thực hành một số chức năng

cơ bản

Anh Huỳnh Lê Trung Hậu

Trang 11

Giai đoạn Alpha:

- Research

- Lên ý tưởng

- Viết prototype

- Giới thiệu ý tưởng game

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

5

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

Anh Huỳnh Lê Trung Hậu

6

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

7

Giai đoạn Beta và giai đoạn kết

thúc, báo cáo :

- Hoà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.

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

Trang 12

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)

1.1 Luật chơi chính

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 ngoà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

1.2 Đối tượng trong game

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

Trang 13

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

Trang 14

1.3 Hình Ảnh Trò Chơi:

H.1 Màn hình chọn màn chơi H.2 Màn hình In-game

Trang 15

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

Trang 16

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

3 Kế hoạch

Trang 17

Giai đoạn Alpha: Hoà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

Trang 18

TÀI LIỆU THAM KHẢO

For Models

https://assetstore.unity.com/

https://sketchfab.com/

For Unity

https://docs.unity3d.com

https://learn.unity.com/

For C#

https://docs.microsoft.com/en-us/dotnet/csharp/

Trang 19

TỔNG KẾT

Như vậy, chỉ trong vòng một tháng ngắn ngủi, nhóm đã kịp hoà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ể hoàn thành game này

Ngày đăng: 05/09/2021, 21:00

TỪ KHÓA LIÊN QUAN

w