Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
1,51 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ QUANG DƯƠNG LẬP TRÌNH GAME TRÊN ĐIỆN THOẠI DI ĐỘNG BẰNG NỀN TẢNG COCOS2D-IPHONE LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội, 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỖ QUANG DƯƠNG LẬP TRÌNH GAME TRÊN ĐIỆN THOẠI DI ĐỘNG BẰNG NỀN TẢNG COCOS2D-IPHONE Ngành: Công nghệ thông tin Chuyên ngành: Truyền liệu Mạng máy tính LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS TRẦN THỊ MINH CHÂU Hà Nội, 2016 LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứ u của riêng tôi, không chép Cá c số liệu, kế t quả nêu Luận van̆ là và chu từ ng đu công bô c trung thưc bất kỳ công trin ̀ h naò khać Tôi xin cam đoan rằ ng cá c trích chỉ rõ nguồn gốc Luận văn đã dân đươc Hoc̣ viên thưc̣ hiện Luận văn Đỗ Quang Dương MỤC LỤC LỜI CAM ĐOAN CHƯƠNG GIỚI THIỆU BÀI TOÁN 1.1 Hoàn cảnh toán: 1.2 Tình hình cơng nghệ giới: .4 1.3 Phát biểu toán CHƯƠNG MỘT SỐ FRAMEWORK LẬP TRÌNH GAME DI ĐỘNG 2.1 Cocos2d 2.2 Unity 10 2.3 SpriteKit 10 2.4 Các tảng khác .11 CHƯƠNG COCOS2D-IPHONE .14 3.1 Cấu trúc chương trình viết Cocos2d-iPhone .14 3.2 Các module thư viện lập trình Cocos2d-iPhone [8] 15 3.3 Quản lý đối tượng game 15 3.4 Quản lý hành động 16 3.5 Hiệu ứng vật lý 17 3.6 Hiệu ứng đặc biệt 18 3.7 Hiệu ứng âm 20 CHƯƠNG GẮN QUẢNG CÁO TRONG GAME DI ĐỘNG 21 4.1 Tổng quan 21 4.2 Các nhà cung cấp quảng cáo di động 21 4.3 Các hình thức tích hợp quảng cáo di động 23 CHƯƠNG SỬ DỤNG FRAMEWORK COCOS2D-IPHONE .27 5.1 Các game xây dựng từ Cocos2d-iPhone .27 5.2 Game 1: Xếp hình (Tetrix) 28 5.3 Game 2: Plane 41 CHƯƠNG KẾT LUẬN 47 DANH MỤC CÁC BẢNG Bảng 2.1:so so sánh framework lập trình game di động .12 DANH MỤC CÁC HÌNH VẼ Hình 3.1:Giao diện phần mềm Spine 17 Hình 3.2: Giao diện công cụ Particle Designer 19 Hiǹ h 4.1:Một số nhà cung cấp dịch vụ quảng cáo Thiết bị di động 21 Hiǹ h 4.2:Quảng cáo dạng Banner Ads 24 Hình 4.3: Quảng cáo dạng Interstitial Ads 25 Hình 4.4:Quảng cáo dạng In-app Purchase 26 Hiǹ h 5.1: Game Tetrix 27 Hiǹ h 5.2: Game Line 98 27 Hình 5.3: Game Recuse Egg .28 Hình 5.4: Game Plane 28 Hiǹ h 5.5: Game KidGame 28 Hiǹ h 5.6: Giao diện game Tetrix 29 Hình 5.7: Các hình khối thơng thường 30 Hình 5.8: hình khối mở rộng 30 Hiǹ h 5.9: Ăn điểm lên Level 32 Hiǹ h 5.10: Gắn quảng cáo dạng Banner .39 Hình 5.11: Giao diện game Plane .41 Hình 5.12: Giao diện game Plane .43 Hiǹ h 5.13: Giao diện trước bật cửa sổ quảng cáo 46 Hiǹ h 5.14: Giao diện bật quảng cáo 46 CHƯƠNG GIỚI THIỆU BÀI TỐN 1.1 Hồn cảnh toán: Năm 2013, game di động Flappy Bird tác giả Nguyễn Hà Đông gây tiếng vang lớn cho giới lập trình viên Việt Nam toàn Thế giới Vào tháng năm 2014, game đứng đầu danh sách download nhiều Apple Store, với hàng chục triệu download Game nhanh chóng làm cho tác giả Nguyễn Hà Đơng trở lên tiếng toàn Thế giới, kiếm số tiền theo dự đoán khoảng 50.000 USD/ngày Doanh thu giúp Nguyễn Hà Đông thời gian ngắn trở thành tỷ phú Trong đó, với góc nhìn lập trình viên, game Flappy Bird game có đồ hoạ đơn giản, kỹ thuật chơi đơn giản khơng khó mặt kỹ thuật để tạo game tương tự Game nhân bản, clone với nhiều phiên ăn theo Tất forum lập trình game, trang hướng dẫn lập trình game có viết hướng dẫn tạo game tương tự Flappy Birds, nhiều tảng khác Cocos2d, Unity, Game Box, … Thơng thường với lập trình viên học, khoảng đến ngày để tạo game tương tự Điều làm cho lập trình viên tồn giới đổ xơ vào học lập trình game di động với hi vọng đạt kết Flappy Bird Game Flappy Bird cho thấy lập trình viên đơn lẻ, với chi phí nhỏ, khơng cần th hạ tầng máy chủ, khơng cần có đội ngũ đồ hoạ hỗ trợ, tạo game có giá trị hàng tỷ đồng Việt Nam, qua thúc đẩy lập trình viên toàn Việt Nam học xây dựng game di động Với học viên, khơng nằm ngoại lệ, có nhu cầu tìm học tảng lập trình game cho di động để tận dụng thời gian rảnh rỗi với hi vọng kiếm nguồn thu nhập thụ động từ viết game 1.2 Tình hình cơng nghệ giới: Hiện có nhiều tảng lập trình game di động, đại đa số miễn phí Vậy tảng lập trình game di động gì: cơng cụ hỗ trợ lập trình viên lập trình game di động public cho người dùng nhanh chóng, gồm: - Bộ thư viện lập trình: tập hợp class hỗ trợ việc lập trình game di động, gồm class quản lý đối tượng game, quản lý action (hành động), mô tượng vật lý va chạm, lực qn tính, ma sát, trọng lượng, mơ âm thanh, ánh sáng, hiệu ứng đặc biệt mưa, lửa, khói, - Bộ cơng cụ đồ hoạ giúp việc lập trình game di động nhanh chóng, export game thành file chạy, tương thích với tảng iOS hay Android, Windows Phone, Vậy với lập trình viên đơn lẻ, khơng để lập trình game di động, cần tìm framwork lập trình game thoả mãn yêu cầu: - Framework lập trình game di động, tạo game cho tàng iOS, Android - Frameword phải có cơng cụ hỗ trợ kiếm tiền từ việc bán đồ hay quảng cáo game - Framework phải miễn phí - Frameword hỗ trợ lập trình game 2D (vì với game 3D, địi hỏi kiến thức nhiều phải có đội ngũ hỗ trợ đồ hoạ lớn, khơng phù hợp với lập trình viên cá nhân) - Framwork phải có cộng đồng phát triển lớn, để tra cứu, hỏi nhằm sửa lỗi - Framework phải có cơng cụ hỗ trợ đồ hoạ, giúp việc tạo game dễ dàng, nhanh chóng Học viên lập trình viên nêu trên, trình tìm hiểu, học viên tìm tảng thoả mãn yêu cầu nên Đó tảng Cocos2d-iPhone 1.3 Phát biểu tốn Với lập trình viên bình thường, bắt tay vào học lập trình game cho thiết bị di động thơng minh cần tìm hiểu cơng cụ gì? Cần kiến thức cách làm nào? Đây câu hỏi mà học viên gặp bắt đầu học lập trình game Dưới học viên xin tóm tắt lại điểm việc lập trình game di động: a Tìm hiểu tảng lập trình game di động Hiện có nhiều tảng lập trình game 2D thiét bị di động, đại đa số chúng miễn phí Có số framework có phí Unity Unreal, chi phí cho framwork đắt (như Unity có phí lên đến 1500$/hệ điều hành/1bản) Tại lại game 2D: việc xây dựng game 2D thường đỡ tốn công sức nhiều so với game 3D Game 3D thường dành cho lập trình viên nghiệp dư không chuyên làm game Để làm game 3D thường lập trình viên phải có hiểu biết sâu sắc việc dựng hình 3D, thuật tốn tạo hình khối, cơng cụ lập trình game 3D thường phức tạp, đòi hỏi nhiều thời gian để học làm chủ cơng cụ Với game 2D, lập trình viên phát triển game mà khơng cần nhiều đội ngũ hỗ trợ nhân viên đồ hoạ, nhân viên âm thanh, Game 2D phù hợp với lập trình viên nghiệp dư b Cách thức tìm kiếm doanh thu từ Game di động Có cách để tìm kiếm doanh thu từ Game di động: - Bán game di động: Công ty lập trình viên lập trình game bán chợ ứng dụng thông dụng App Store Apple Play Store Google, Game thường có giá từ 1$ trở lên Việc kiếm tiền từ cách khó, địi hỏi game xây dựng phải hay thường cơng ty phát hành game phải có tiếng tăm thị trường - Bán đồ game: cách thức phổ biến Công ty làm game di động, thường họ tạo game có chất lượng tốt, kích thích người sử dụng mua vật phẩm game, ví dụ loại vũ khí, hiệu ứng đặc biệt, Cách thường phù hợp với game có chất lượng tốt, phức tạp có khả giữ người chơi thời gian dài - Quảng cáo game: cách thức phổ biến game di động thuộc loại đơn giản nội dung Với cách này, lập trình viên thường sử dụng thư viện API công ty quảng cáo Internet Admob, Unity Ads, Apple Ads để gắn vào game, giúp hiển thị quảng cáo game Lập trình viên trả tiền cho hiển thị quảng cáo game click vào quảng cáo người sử dụng c Tìm hiểu cơng cụ hỗ trợ Hầu hết tảng miễn phí thường có cơng cụ hỗ trợ, địi hỏi lập trình viên phải tìm hiểu nhiều để tìm cơng cụ hỗ trợ thơng dụng, dễ sử dụng, giúp việc lập trình thuận lợi, nhanh chóng Các cơng cụ gồm: - IDE: cơng cụ lập trình, cho phép biên dịch code thành mã nhị phân, thực thi thiết bị di động Các IDE cịn hỗ trợ việc export file nhị phân tương thích với tảng di động, hỗ trợ việc upload file lên chợ ứng dụng - Công cụ hỗ trợ việc tạo chuyển động phức tạp: thông thường chuyển động phức tạp không nhân viên đồ hoạ tạo từ đầu, họ tạo thành phần đối tượng (như chân, tay, đầu, mình, đi, cánh, ) riêng Sau tuỳ theo chuyển động để tạo hình ảnh động tương ứng, từ việc kết hợp vị trí phận Cơng cụ hỗ trợ việc tạo chuyển động phức tạp giúp việc tạo chuyển động nhanh chóng hơn, đồng thời cho phép kết xuất file theo định dạng mà tảng lập trình game di động hỗ trợ - Công cụ hỗ trợ tạo chơi hay đồ: với game có đồ hoạ phức tạp, việc tạo chơi hay đồ hồn tồn code vơ phức tạp nhiều cơng sức, vậy, cơng cụ tạo đồ (map) đời, hỗ trợ nhiều cho lập trình viên Cơng cụ tạo đồ cách kéo - thả thành phần đồ, cho phép lập trình viên nhìn cách trực quan đồ này, giúp việc lập trình nhanh chóng hiệu Cơng cụ hỗ trợ việc tạo hiệu ứng đặc biệt lửa, khói, mưa, tuyết Thường hiệu ứng đặc biệt có khoảng 30 thuộc tính, việc lập trình tạo hiệu ứng khó nhiều thời gian để tinh chỉnh Công cụ hỗ trợ tạo hiệu ứng đặc biệt giúp lập trình viên nhìn thấy hiệu thay đổi tham số Qua phân tích nêu trên, cho thấy việc tạo game di động 2D hay tốn nhiều cơng sức lập trình viên, địi hỏi phải tìm hiểu khối lượng công việc không nhỏ Đề tài tìm hiểu tổng quan việc xây dựng game cho thiết bị di động thông minh, khảo sát số framework hỗ trợ, cách thức tìm kiến doanh thu từ game di động, từ đề tài áp dụng cho việc xây dựng game di động để tạo thu nhập từ sản phẩm Nội dung đề tài gồm nội dung sau đây: - Giới thiệu tổng quan framework lập trình game di động lý chọn Cocos2d-iPhone để tìm hiểu - Cocos2d-iPhone module framework, cơng cụ hỗ trợ lập trình viên - Tổng quan cách thức tìm kiếm thu nhập lập trình game di động - Một số ứng dụng mà học viên xây dựng Cocos2d-iPhone Trên toán mà học viên cần phải giải quyết, nội dung chi tiết có chương