Lập trinh game trên điện thoại di động bằng nền tảng COCOS2D - I PHONE | Học viện Phụ Nữ Việt Nam

Lập trinh game trên điện thoại di động bằng nền tảng COCOS2D - I PHONE | Học viện Phụ Nữ Việt Nam được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

ĐẠ I H C QU C GIA HÀ N I
TRƯỜNG ĐẠI HC CÔNG NGH
ĐỖ QUANG DƯƠNG
LẬP TRÌNH GAME TRÊN ĐIỆ ẠI DI ĐỘN THO NG
BNG NN TNG COCOS2D-IPHONE
Ngành: Công ngh thông tin
Chuyên ngành: Truy n d u và M ng máy tính li
TÓM T T LUẬN VĂN THẠC SĨ
Hà N i, 2016
1
NI DUNG TÓM T T
CHƯƠNG 1: GII THIU BÀI TOÁN
Chương I nên lý do họ ọn đềc viên la ch tài.
Thành công c a game Flappy Bird Nguy đã giúp tác giả ễn Đông lúc đó
đang mộ ệp (lúc đó Nguyễn Đông đang lật lp trình viên game nghi p
trình các h ng giám sát hành trình oto) trong m t th i gian ng n tr thành th
t phú.
Game Flappy Bird cho th y m t l , v chi phí nh , không ập trình viên đơn lẻ i
cn thuê h t ng máy ch , không c ho ần có đội ngũ đồ h trợ, cũng có thể to
ra m t game giá tr hàng t ng Vi y các l p trình đồ ệt Nam, qua đó thúc đẩ
viên trên toàn Vi t Nam h c và xây d ng. V i h ựng game di độ ọc viên, cũng
không n i l u tìm và h c m t n n t ng l p trình game cho m ngo ệ, đã có nhu cầ
di động để ếm đượ tn dng thi gian rnh ri vi hi vng th ki c ngun
thu nhp th ng t vi t game. độ ế
Đề tài y tóm tt quá trình nghiên cu, tìm hiu công ngh, lp trình ra
các s n ph ng, v i mong mu n ki c thu nh p thêm ẩm game cho di đ ếm đượ
trong thi gian r nh r i.
CHƯƠNG ẬP TRÌNH GAME DI ĐỘ2: MT S FRAMEWORK L NG
Chương II: giớ ập trình game cho di đội thiu tng quan mt s framework l ng.
So sánh gi a các framework t ó ch ra do h c viên l a ch n đ
Cocos2d-iPhone.
Qua các tài li i công ngh , hệu trên Internet, các forum trao đ ọc viên đã đúc rút
ra m t b n so sánh các framework ph bi n cho vi c l p trình game 2D trêm ế
thiết b ng: di độ
2
Framework
iOS/ Android
Kiếm ti n
Min phí
2D/3D
Công c h
tr
Ngôn
d
Cocos2D-
iPhone
iOS/Android
X
X
2D
Nhiu
Obj
Cocos2D-x
iOS/Android
X
X
2D
Nhiu
C
Unity
iOS/Android
X
2D/3D
Nhiu
C
Game Maker
iOS/Android
X
2D
Ngay trong
tool
Unk
SpriteKit
iOS
X
X
2D
Obj
Construct2
Html5
X
2D
Ngay trong
tool
Java
Build Box
iOS
X
2D
Ngay trong
tool
Unk
Unreal
iOS/Android
X
5% doanh thu
mi game
2D/3D
Nhiu
C
3
Nhìn t b ng so sánh nêu trên, th y các n n t ng Cocos2D-iPhone th
Cocos2D-x các n n t ng a mãn nhi u tiêu chí l a ch n framework c th a
hc viên nh t. Tuy nhiên Cocos2D-x dùng C++ l p trình. Trong C++, vi để c
qun b nh khá ph c t p m t nhi u công s c c a l ập trình viên, đòi hi
lp trình viên ph i kinh nghi m l p trình C++. Chính th , v ế i h c viên,
nn t ng Cocos2D-iPhone là m t l n t a ch t, tho mãn nhi u tiêu chí.
CHƯƠNG 3: COCOS2D-IPHONE
Chương III trình bày tng quan v Framework Cocos2d-iPhone, ch tp trung
vào nh m chính nh c th n v ững điể ất, qua đó người đọ hiểu được bả
cách th c l p trình m ng th i g i ý nh ng công c b , ột game di động, đồ tr
giúp cho vi p trình nhanh chóng, hi u qu c l hơn.
Nội dung Chương III gồm:
1. Cu trúc m t b ng Cocos2d-iPhone ột chương trình viế
Mô t n c u trúc c a m t b ng Cocos2d-iPhone. Qua ngăn gọ ột chương trình viế
đó chỉ cho người đọ ấy điể ột chương c th m khác bit gia m trình ng dng bình
thườ ng, v i một chương trình game trên di động, chính trong chương
trình game, có m t hàm r t quan tr c g i m i m t delta th i gian (delta ọng đư
thường đượ ằng 1/60 giây), đó là hàm update().c tính b
2. Các module chính trong thư viện lp trình -iPhone Cocos2d
Mô t tóm t n l p trình game Cocos2d-iPhone. ắt các module chính trong thư vi
- Quản đối tượng game: Các class dùng đ ản đối tượ qu ng trong
game, g i di ng con ồm các thông tin như toà độ, hình đạ ện, các đối tượ
thuc nó, to ng game g u lo i: các item, các scene, độ, …Đối tượ m nhi
các hiu ứng, …
- Quản hành động: Các class dùng để tra hành động trong game,
hành động gm rt nhiu loi, d xoay tròn, n, hin, lp li, di
chuyn, th c hi n ho t hình, bi n m ng 60 lo i ho ng ế ất, khoả ạt độ
(action) khác nhau đã được lp trình sn.
- Hiu ng v ph ng các hi ng v ật lý: Các class dùng đ ện tư ật như
là va chm, lò xo, l ực hút, …
- Hiu c bi ph ng các hi c biứng đặ ệt: Các class dùng để u ứng đặ t
như lửa cháy, khói, mưa, ết rơi, …tuy
- Hiu ứng âm thanh: Các class dùng để thc hi n các hi u ng âm thanh
và th n các âm thanh trong game. c hi
Chi tiết các module được mô t bên dưới.
3. Quản lý đối tượng game
t các lo ng game cách th c Cocos2d-iPhone qu n ại đối tượ các
đố i tư ng này.
4
4. Qun lý h ành động
t các lo n trong Cocos2d-iPhone. gi ại hành động được định nghĩa sẵ i
thiu công c Spine giúp cho vi c t o ra các chuy ng ph c t p c a c ển độ
nhân v t trong game.
5. Hiu ng v t lý
t n Cocos2d- ones s d ph ng các hi ng các thư việ iPh ụng để ện tượ
vật lý như là trọng l c, va ch m, lò xo, l c hút, l ực đẩy, …
6. Hiu ứng đặc bit
t cách hi u c bi a, khói, tuy ứng đặ ệt như lử ết rơi, mưa rơi, trong
game được to ra bi Cocos2d-iPhone. gii thiu công c Particle Designer
để thiết kế các hiu c biứng đặ t, cách Cocos2d-iPhone s d ng các sn phm
đầ u ra c a công cy trong game.
7. Hiu ng âm thanh
Mô t cách mà Cocos2d- t file âm thanh. iPhone play m
CHƯƠNG 4: GN QUNG CÁO VÀ KIM TIN TRONG GAME DI
ĐỘNG
Việc làm game trên di động cũng như mọ ụng khác trên di đi ng d ng thì 90%
nh ki m ti n. Chính v y, vi c nghiên c m tiằm để ế ứu các phương án kiế n
trên di độ Chương IV s ổng quan (và cũng đủng rt cn thiết. t t ) cho
người đọ ện đểc hiu cách các lp trình viên thc hi kiếm tin t game di
động.
Chương này gồm các ni dung chính:
1. T ng quan
Mô t t ng quan cách ki n t vi c g n qu ng. ếm ti ảng cáo trên game di độ
2. Các nhà cung cp quảng cáo trên di động
Gi i thiu mt s nhà cung cp d ch v qung ng phcáo trên di đ biến nht
hiện nay. Đồ ớn, đượng thi gii thiu chi tiết 02 nhà cung cp qung cáo l c
nhiu l p trình viên Vi t Nam tin dùng là Google Admob và Unity Ads.
5
3. Các hình thc tích h p quảng cáo trên di đng:
Gii thiu các hình th p qu ng, bao gc tích h ảng cáo trên di độ m:
- Banner Ads n nh t, trong ng d ng ta g n các : Đây là nh thức đơn giả
banner qu ng cáo header ho c footer c c c a c ủa các màn chơi, hoặ a
s thông báo.
- Interstitial Ads: hình th c qu c b i d ng m ảng cáo đượ ật ra dướ t
ca s popup m i cho k t thúc m t l a s qu ỗi khi ngườ ế ần chơi. Cử ng
cáo này thường đẹp hơn banner ads, nhiều thông tin hơn, thể kèm
theo video gi i thi u ng d ng, chính vì th ng có xác xu t click ế nó thườ
vào cao hơn.
- In-App Purchase Ads: hình thc cho phép l p trình viên qu ng cáo
chính các item bán trong game. Ví d trong game có bán các lo ại vũ khí,
mi lo bán vại khí sát thương cao thể i giá 2$, lo i khác bán
1$. In-App Purcharse Ads này cho phép l p trình viên qu ng cáo chính
các item này.
- Reward Video: hình th i s d ức cho phép ngườ ụng xem video để
nhn ph c qu ng cáo thân thi n vần thưởng. Đây phương th ới người
s dng, hi u l p trình viên s d ng. ện được nhi
6
CHƯƠNG 5 S: DNG FRAMEWORK COCOS2D-IPHONE
Chương V: giớ ọc viên đã xây dựi thiu mt s game h ng, s dng
framework Cocos2d-iPhone, chi ti t v 02 game game Tetrix Plane. ế
Bao g m: các yêu c u c a game, cách th t, các hình th t qu ng cáo ức cài đặ ức đặ
được áp dng và các công ngh mà h xây d ng lên game. ọc viên đã áp dụng đ
Giao din game Tetrix
7
Giao ding game Plane
8
CHƯƠNG 6: KT LUN
Vi m i l p trình viên, vi c tìm hi u m t công c l p trình game m u s ới đầ
to ra s b ng r t l n, b i l p trình game có m t s đặc thù khác bi t v i lp
trình ng d tài này s c rút ng n thụng thông thường. Đề giúp cho người đọ i
gian tìm hi u, n m chính, m u ch t khác bi t c a vi c l p trình ắm được các điể
game th s d ng công c Cocos2d- c hi n xây d ng game iPhone để th
cho thiết b ng thông minh. di độ
| 1/9

Preview text:

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HC CÔNG NGH
ĐỖ QUANG DƯƠNG
LẬP TRÌNH GAME TRÊN ĐIỆN THOẠI DI ĐỘNG
BNG NN TNG COCOS2D-IPHONE
Ngành: Công ngh thông tin
Chuyên ngành: Truyn d liu và Mng máy tính
TÓM TT LUẬN VĂN THẠC SĨ Hà Ni, 2016
NI DUNG TÓM TT
CHƯƠNG 1: GII THIU BÀI TOÁN
Chương I nên lý do học viên lựa chọn đề tài.
Thành công của game Flappy Bird đã giúp tác giả Nguyễn Hà Đông lúc đó
đang là một lập trình viên game nghiệp dư (lúc đó Nguyễn Hà Đông đang lập
trình các hệ thống giám sát hành trình oto) trong một thời gian ngắn trở thành tỷ phú.
Game Flappy Bird cho thấy một lập trình viên đơn lẻ, với chi phí nhỏ, không
cần thuê hạ tầng máy chủ, không cần có đội ngũ đồ hoạ hỗ trợ, cũng có thể tạo
ra một game có giá trị hàng tỷ đồng Việt Nam, qua đó thúc đẩy các lập trình
viên trên toàn Việt Nam học và xây dựng game di động. Với học viên, cũng
không nằm ngoại lệ, đã có nhu cầu tìm và học một nền tảng lập trình game cho
di động để tận dụng thời gian rảnh rỗi và với hi vọng có thể kiếm được nguồn
thu nhập thụ động từ viết game.
Đề tài này là tóm tắt quá trình nghiên cứu, tìm hiểu công nghệ, và lập trình ra
các sản phẩm game cho di động, với mong muốn kiếm được thu nhập thêm
trong thời gian rảnh rỗi.
CHƯƠNG 2: MT S FRAMEWORK LẬP TRÌNH GAME DI ĐỘNG
Chương II: giới thiệu tổng quan một số framework lập trình game cho di động.
So sánh giữa các framework và từ đó chỉ ra lý do mà học viên lựa chọn Cocos2d-iPhone.
Qua các tài liệu trên Internet, các forum trao đổi công nghệ, học viên đã đúc rút
ra một bản so sánh các framework phổ biến cho việc lập trình game 2D trêm thiết bị di động: 1 Framework iOS/ Android
Kiếm tin Min phí 2D/3D Cộng đồng
Công c h Ngôn ln tr dCocos2D- iOS/Android X X 2D X Nhiều Obj iPhone Cocos2D-x iOS/Android X X 2D X Nhiều C Unity iOS/Android X 2D/3D X Nhiều C Game Maker iOS/Android X 2D Ngay trong Unk tool SpriteKit iOS X X 2D Obj Construct2 Html5 X 2D Ngay trong Java tool Build Box iOS X 2D Ngay trong Unk tool Unreal iOS/Android X 5% doanh thu 2D/3D Chủ yếu là các Nhiều C mỗi game lập trình game chuyên nghiệp 2
Nhìn từ bảng so sánh nêu trên, có thể thấy các nền tảng Cocos2D-iPhone và
Cocos2D-x là các nền tảng thỏa mãn nhiều tiêu chí lựa chọn framework của
học viên nhất. Tuy nhiên Cocos2D-x dùng C++ để lập trình. Trong C++, việc
quản lý bộ nhớ khá phức tạp và mất nhiều công sức của lập trình viên, đòi hỏi
lập trình viên phải có kinh nghiệm lập trình C++. Chính vì thế, với học viên,
nền tảng Cocos2D-iPhone là một lựa chọn tốt, thoả mãn nhiều tiêu chí. CHƯƠNG 3: COCOS2D-IPHONE
Chương III trình bày tổng quan về Framework Cocos2d-iPhone, chỉ tập trung
vào những điểm chính nhất, mà qua đó người đọc có thể hiểu được cơ bản về
cách thức lập trình một game di động, đồng thời gợi ý những công cụ bổ trợ,
giúp cho việc lập trình nhanh chóng, hiệu quả hơn.
Nội dung Chương III gồm:
1. Cu trúc một chương trình viết bng Cocos2d-iPhone
Mô tả ngăn gọn cấu trúc của một chương trình viết bằng Cocos2d-iPhone. Qua
đó chỉ cho người đọc thấy điểm khác biệt giữa một chương trình ứng dụng bình
thường, với một chương trình game trên di động, dó chính là trong chương
trình game, có một hàm rất quan trọng được gọi mỗi một delta thời gian (delta
thường được tính bằng 1/60 giây), đó là hàm update().
2. Các module chính trong thư viện lp trình Cocos2d-iPhone
Mô tả tóm tắt các module chính trong thư viện lập trình game Cocos2d-iPhone.
- Quản lý đối tượng game: Các class dùng để quản lý đối tượng trong
game, gồm các thông tin như là toà độ, hình đại diện, các đối tượng con
thuộc nó, toạ độ, …Đối tượng game gồm nhiều loại: các item, các scene, các hiệu ứng, …
- Quản lý hành động: Các class dùng để mô tra hành động trong game,
hành động gồm rất nhiều loại, ví dụ xoay tròn, ẩn, hiện, lặp lại, di
chuyển, thực hiện hoạt hình, biến mất, … Có khoảng 60 loại hoạt động
(action) khác nhau đã được lập trình sẵn.
- Hiệu ứng vật lý: Các class dùng để mô phỏng các hiện tượng vật lý như
là va chạm, lò xo, lực hút, …
- Hiệu ứng đặc biệt: Các class dùng để mô phỏng các hiệu ứng đặc biệt
như lửa cháy, khói, mưa, tuyết rơi, …
- Hiệu ứng âm thanh: Các class dùng để thực hiện các hiệu ứng âm thanh
và thực hiện các âm thanh trong game.
Chi tiết các module được mô tả ở bên dưới.
3. Quản lý đối tượng game
Mô tả các loại đối tượng game và cách thức mà Cocos2d-iPhone quản lý các đối tượng này. 3
4. Qun lý hành động
Mô tả các loại hành động được định nghĩa sẵn trong Cocos2d-iPhone. Và giới
thiệu công cụ Spine giúp cho việc tạo ra các chuyển động phức tạp của các nhân vật trong game.
5. Hiu ng vt lý
Mô tả các thư viện mà Cocos2d-iP o
h nes sử dụng để mô phỏng các hiện tượng
vật lý như là trọng lực, va chạm, lò xo, lực hút, lực đẩy, …
6. Hiu ứng đặc bit
Mô tả cách mà hiệu ứng đặc biệt như lửa, khói, tuyết rơi, mưa rơi, … trong
game được tạo ra bởi Cocos2d-iPhone. Và giới thiệu công cụ Particle Designer
để thiết kế các hiệu ứng đặc biệt, cách Cocos2d-iPhone sử dụng các sản phẩm
đầu ra của công cụ này trong game.
7. Hiu ng âm thanh
Mô tả cách mà Cocos2d-iPhone play một file âm thanh.
CHƯƠNG 4: GN QUNG CÁO VÀ KIM TIN TRONG GAME DI ĐỘNG
Việc làm game trên di động cũng như mọi ứng dụng khác trên di động thì 90%
là nhằm để kiếm tiền. Chính vì vậy, việc nghiên cứu các phương án kiếm tiền
trên di động rất cần thiết. Chương IV sẽ mô tả tổng quan (và cũng là đủ) cho
người đọc hiểu cách mà các lập trình viên thực hiện để kiếm tiền từ game di động.
Chương này gồm các nội dung chính: 1. Tng quan
Mô tả tổng quan cách kiếm tiền từ việc gắn quảng cáo trên game di động. 2.
Các nhà cung cp quảng cáo trên di động
Giới thiệu một số nhà cung cấp dịch vụ quảng cáo trên di động phổ biến nhất
hiện nay. Đồng thời giới thiệu chi tiết 02 nhà cung cấp quảng cáo lớn, được
nhiều lập trình viên Việt Nam tin dùng là Google Admob và Unity Ads. 4 3.
Các hình thc tích hp quảng cáo trên di động :
Giới thiệu các hình thức tích hợp quảng cáo trên di động, bao gồm:
- Banner Ads: Đây là hình thức đơn giản nhất, trong ứng dụng ta gắn các
banner quảng cáo ở header hoặc footer của các màn chơi, hoặc của cửa sổ thông báo.
- Interstitial Ads: là hình thức mà quảng cáo được bật ra dưới dạng một
của sổ popup mỗi khi người cho kết thúc một lần chơi. Cửa sổ quảng
cáo này thường đẹp hơn banner ads, có nhiều thông tin hơn, có thể kèm
theo video giới thiệu ứng dụng, chính vì thế nó thường có xác xuất click vào cao hơn.
- In-App Purchase Ads: là hình thức cho phép lập trình viên quảng cáo
chính các item bán trong game. Ví dụ trong game có bán các loại vũ khí,
mỗi loại vũ khí có sát thương cao có thể bán với giá 2$, loại khác bán
1$. In-App Purcharse Ads này cho phép lập trình viên quảng cáo chính các item này.
- Reward Video: là hình thức là cho phép người sử dụng xem video để
nhận phần thưởng. Đây là phương thức quảng cáo thân thiện với người
sử dụng, hiện được nhiều lập trình viên sử dụng. 5
CHƯƠNG 5: S DNG FRAMEWORK COCOS2D-IPHONE
Chương V: giới thiệu một số game mà học viên đã xây dựng, sử dụng
framework Cocos2d-iPhone, và chi tiết về 02 game là game Tetrix và Plane.
Bao gồm: các yêu cầu của game, cách thức cài đặt, các hình thức đặt quảng cáo
được áp dụng và các công nghệ mà học viên đã áp dụng để xây dựng lên game. Giao diện game Tetrix 6 Giao diệng game Plane 7
CHƯƠNG 6: KT LUN
Với mỗi lập trình viên, việc tìm hiểu một công cụ lập trình game mới đầu sẽ
tạo ra sự bỡ ngỡ rất lớn, bởi lập trình game có một số đặc thù khác biệt với lập
trình ứng dụng thông thường. Đề tài này sẽ giúp cho người đọc rút ngắn thời
gian tìm hiểu, nắm được các điểm chính, mấu chốt khác biệt của việc lập trình
game và có thể sử dụng công cụ Cocos2d-iPhone để thực hiện xây dựng game
cho thiết bị di động thông minh. 8