Do đó, khóa luận “Nghiên cứu game engine Cocos2D và viết ứng dụng minh họa”, sẽ tìm hiểu về quá trình phát triển của iPhone hỗ trợ thế nào cho việc chơi game, game cho iPhone đang phát t
Trang 1ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KỸ THUẬT PHẦN MỀM
Khóa luận tốt nghiệp
Đề tài: Nghiên cứu game engine Cocos2D và viết
ứng dụng minh họa
Giảng viên: PGS.TS Vũ Thanh Nguyên
CH Nguyễn Công Hoan Sinh viên : Nguyễn Văn Trường Mssv: 07520502
Phạm Minh Cường Mssv: 07520041
Trang 2MỞ ĐẦU
Điện thoại di động nói chung và điện thoại cảm ứng nói riêng ngày càng trở nên giàu tính năng, đặc biệt việc trang bị phần cứng mạnh mẽ đã mở ra nhiều hướng phát triển Di động chơi game không còn là một khái niệm mới, hình ảnh một người cầm trên tay chiếc điện thoại để thỏa mãn sở thích chơi game đã trở nên phổ biến trong cuộc sống hàng ngày
Các hãng điện thoại đã không ngừng đưa ra các dòng điện thoại có cấu hình phần cứng mạnh mẽ phục vụ cho chơi game để đáp ứng nhu cầu của người tiêu dùng Trong đó, có vẻ như chiếc smartphone đình đám của Apple không chỉ làm tốt vai trò của chiếc điện thoại bình thường Mà từ lâu iPhone đã được coi là một trong những chiếc máy chơi game di động thành công nhất mọi thời đại
Điện thoại iPhone được trang bị phần cứng rất mạnh mẽ phục vụ cho việc chơi game rất tốt Luôn được cải tiến và phát triển nên hứa hẹn trong tương lai iPhone sẽ trở thành một máy chơi game tốt nhất Với xu hướng đó việc phát triển game trên iPhone cũng trở nên phát triển Các sản phẩm game trên iPhone ngày càng nhiều về thể loại và nội dung Nhu cầu ngày càng nhiều như vậy đã thúc đẩy các nhà phát triển game và ứng dụng trên iPhone cũng phát triển theo Phát triển ứng dụng và game trên iPhone đã trở thành một nhánh mới trong nền ngành phát triển phần mềm Vì thế mà việc đòi hỏi phải có nhiều hơn các công cụ, engine hổ trợ cho phát triển ứng dụng game trên iPhone cũng đòi hỏi rất cao Các nhà phát triển đã đưa ra rất nhiều game engine, framework mã nguồn mở, mã nguồn thương mại để phát triển game trên iPhone
Do đó, khóa luận “Nghiên cứu game engine Cocos2D và viết ứng dụng minh họa”, sẽ tìm hiểu về quá trình phát triển của iPhone hỗ trợ thế nào cho việc chơi game, game cho iPhone đang phát triển như thế nào, tìm hiểu về một số game engine 2D trên iPhone,tìm hiểu về Cocos2D một engine mạnh mẽ để phát triển game 2D trên iPhone,
và phát triển một game nhỏ để minh họa cho khả năng phát triển game trên Cocos2D.Khóa luận bao gồm các nội dung sau:
Trang 3Chương 1:Trình bày tổng quan của khóa luận: giới thiệu đề tài, mục tiêu đề tài
cần đạt được, phạm vi đề tài, nội dung nghiên cứu
Chương 2: Tổng quan về iPhone, sự phát triển của các dòng sản phẩm iPhone,
công nghệ của iPhone phát triển phục vụ chơi game, thị trường game iPhone
Chương 3:Giới thiệu về game engine, game engine 2D cho iPhone, danh sách
một số game engine iPhone Thế mạnh của Cocos2D so với các engine đó
Chương 4:Mô tả tổng quan về Cocos2D, một số khái niệm, thuật ngữ , và một số
chức năng chính cơ bản của Cocos2D
Chương 5: Một số yếu tố quan trọng trong Cocos2D Những yếu tố cơ bản đó sẽ
cấu thành nên một game hoàn chỉnh
Chương 6: Một só kỹ thuật có trong Cocos2D sẽ hỗ trợ quan trọng như thế nào
để có thể làm được các game 2D cho iPhone
Chương 7: Xây dựng ứng dụng minh họa bằng game engine Cocos2D
Trang 4LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn Khoa Công Nghệ Phần Mềm, trường Đại Học Công Nghệ Thông Tin – ĐH Quốc Gia Tp.HCM đã tạo điều kiện tốt cho chúng em thực hiện đề tài tốt nghiệp này
Chúng em xin chân thành cảm ơn thầy Vũ Thanh Nguyên – Trưởng Khoa Kỹ Thuật PhầnMềm và thầy Nguyễn Công Hoan đã tận tình hướng dẫn, chỉ bảo và hỗ trợ cho chúng em trong suốt thời gian thực hiện đề tài
Chúng em xin chân thành cảm ơn quý Thầy Cô trong Khoa Kỹ Thuật Phần Mềm
đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quý báu trong những năm học vừa qua
Chúng con xin gửi lòng biết ơn sâu sắc đến ba, mẹ và gia đình đã nuôi dưỡng, giáo dục, tạo điều kiện tốt nhất cho chúng con thành người có ích cho xã hội
Chúng mình chân thành cảm ơn đến các anh chị em và bạn bè đã ủng hộ, giúp đỡ
và động viên trong những lúc khó khăn cũng như trong suốt thời gian học tập và nghiên cứu
Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các bạn
Nhóm sinh viên thực hiện
Phạm Minh Cường & Nguyễn Văn Trường
Trang 5NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
……… Khóa luận đáp ứng yêu cầu của luận vănkĩ sư tin học
TP.HCM, ngày…… tháng…… năm 2012
Giáo viên hướng dẫn
Trang 6NHẬN XÉT CỦA GIẢNG VIÊN HẢN I N
………
………
………
………
………
………
………
………
………
………
………
………
……… Khóa luận đáp ứng yêu cầu của luận vănkĩ sư tin học
TP.HCM, ngày…… tháng…… năm 2012
Giáo viên phản biện
Trang 7MỤC LỤC
Trang
Chương 1: Tổng Quan 2
1.1.Giới thiệu đề tài 2
1.2 Nội dung đề tài 2
1.3 Phạm vi đề tài 3
1.4 Mục tiêu cần đạt được 3
Chương 2: Tổng quan về iPhone 4
2.1 Sự phát triển của iPhone 4
2.2 Quá trình phát triển của các dòng sản phẩm của iPhone 5
2.2.1 Các dòng sản phẩm của iPhone đã ra mắt trên thị trường 6
2.2.2 Thế giới chờ đợi iPhone 5 10
2.3.Chip A5 một bước tiến dài cho việc chơi game trên thiết bị di động 10
2.3.1 Chip lõi kép A5 tốc độ 2 GHz sẽ là yếu tố giúp game iPhone tuyệt vời hơn 10
2.3.2.Sức mạnh đồ họa gấp 7 cho hiệu ứng dựng hình đẹp mắt hơn 10
2.4.Game dành cho iPhone đang phát triển 11
2.4.1 Chơi game trên iPhone trở nên phổ biến trên thế giới 11
2.4.2 Thị trường game cho iPhone 13
Chương 3: Game engine 2D cho i hone 14
3.1 Tổng quan về game engine 14
3.1.1 Khái niệm game engine 14
3.1.2 API và SDK 14
3.2 Game engine trên iPhone 15
3.2.1 Nhu cầu sử dụng game engine 2D cho phát triển game trên iPhone 15
Trang 83.2.2 Lợi ích của game engine 2D cho việc phát triển game trên iPhone 15
3.3 Một số game engine 2D cho iPhone 16
3.3.1 SDK Moai 16
3.3.1.1 SDK Moai là gì ? 16
3.3.1.2 Môi trường sử dụng 17
3.3.1.3 Các đặc điểm của SDK Moai 17
3.3.2 Multimedia Fusion 2 18
3.3.2.1 Multimedia Fusion 2 là gì ? 18
3.3.2.2 Các đặc điểm của Multimedia Fusion 2 19
3.3.3 Sparrow Framework 19
3.3.3.1 Sparrow Framework là gì ? 19
3.3.3.2 Các đặc điểm của Sparrow Framework 20
3.3.4 Corona SDK 21
3.3.4.1 Corona là gì 21
3.3.4.2 Các đặc điểm của Corona SDK 21
3.4 Danh sách một số game engine 2D khác dành cho iPhone 22
3.5 Thế mạnh của iPhone so với các engine khác 28
3.5.1 Cocos2D hoàn toàn không trả phí 28
3.5.2 Cocos2D được hổ trợ bởi một cộng đồng lớn 28
3.5.3 Cocos2D là một mã nguồn mở 29
3.5.4 Cocos2D là 2D 29
3.5.5 Cocos2D ngày càng phát triển 30
3.5.6 Cocos2D dễ tích hợp 30
3.5.7 Cocos2D có cấu trúc tốt 30
3.5.8 Cocos2D được viết hoàn toàn bằng Objective C 30
3.5.9 Cocos2D hổ trợ tốt OpenGL 31
3.5.10 Cocos2D hổ trợ vật lý cao 31
Trang 93.5.11 Cocos2D có thể phát triển trên Android 31
3.5.12 Giấy phép sử dụng Cocos2D 32
3.5.13 Cocos2D được hỗ trợ bởi một công ty giàu có 32
Chương 4: Tổng quan về Cocos2D 33
4.1 Cocos2D là gì? 33
4.2 Thuận lợi khi phát triển game bằng Cocos2D 34
4.3 Một số chức năng chính của Cocos2D 34
4.3.1 Hành động (Actions) 34
4.3.2 Xây dựng hỗ trợ kiểu chữ 35
4.3.3 Một thư viện hiệu ứng được mở rộng 35
4.3.4 TileMap tuyệt với 35
4.3.5 Hỗ trợ hệ thống âm thanh 35
4.3.6 Sử dụng hai engine vật lí mạnh mẽ 35
4.4 Một số khái niệm quan trọng trong Cocos2D 36
4.4.1 Scenes 36
4.4.2 Director 37
4.4.3 Layers 37
4.4.4 Sprites 39
4.4.5 Singleton 39
4.4.6 OpenGL ES 39
4.4.7 2D với 3D 40
4.4.8 Ngôn ngữ trong Cocos2D 40
4.4.9 Mối quan hệ của Scene, Director, Layer và Sprite 40
Chương 5: Một số yếu tố quan trọng trong Cocos2D 42
5.1 Singleton trong Cocos2D 42
Trang 105.2.Driector 43
5.3 Scene Graph 43
5.4.Hệ thống cấp bậc của lớp CCNode 44
5.4.1.CCNode 45
5.4.2.Làm việc với CCNode 45
5.4.3 Làm việc với Action 46
5.5 Scene 47
5.5.1 CCSence 47
5.5.2 Scene và bộ nhớ 47
5.5.3 Pushing và Popping của Scene 47
5.5.4 CCTransitionScene 48
5.6.CCLayer 49
5.7 CCSprite 49
5.7.1 Điểm neo(Anchor point) 50
5.7.2 Kích thước Texture 50
5.8 CCLabel 51
5.8.1 CCLabelTTF 51
5.8.2 CCLabelBMFont 52
5.9.Menu 52
5.10.Action(Hành động) 54
5.10.1 Lớp CCEaseAction 58
5.10.2 Action Sequences 58
5.10.3 Instant Action 59
Chương 6: Một số kỹ thuật trong Cocos2D 60
6.1 Animation (hình ảnh hoạt hình) 60
Trang 116.2 Scrolling(cuộn màn hình) 60
6.2.1 Parallax scrolling 60
6.2.2 Tao một background cho màn hình cuộn 61
6.3 Hiệu ứng (Effects) 63
6.3.1 Các hạt hiệu ứng(Particle Effects) 63
6.3.2.Các thuộc tính của hạt tạo hiệu ứng 64
6.3.3 Các loại hiệu ứng 67
6.4 TileMap 67
6.4.1 TileMap là gì? 67
6.4.2 Công cụ Tiled Map Editor 68
6.4.3 Sử dụng tilemap trong Cocos2D 69
6.4.4.Isometric tilemap 69
6.4.4.1 Các chi tiết cấu tạo nên isometric tilemap 70
6.4.4.2 Công cụ Tiled hỗ trợ xây dựng isometric tilemap 71
6.5 Physic engine 72
6.5.1 Một số khái niệm cơ bản của physic engine 72
6.5.2 Box2D 73
6.5.3 Chipmunk 73
6.5.4 Chipmunk so với Box2D 74
Chương 7: Ứng dụng game minh họa 75
7.1 Đặt vấn đề 75
7.2 Giới thiệu về game Ball 79
7.3 Môi trường phát triển game Ball 82
7.4.Kỹ thuật được dùng trong game 83
7.4.1 Giới thiệu 83
Trang 127.5 Các đối tượng trong game 84
7.5.1.Đạn 84
7.5.2 Chim 84
7.5.3 Ná 85
7.5.4 Ngôi sao 85
7.5.5 Gạch 85
7.5.6 Bong bóng 86
7.5.7 Gạch domino 86
7.5.8 Thanh gỗ cố định 87
7.5.9 Thanh gỗ di chuyển 87
7.5.10 Lò xo 87
7.5.11 Cung 88
7.5.12 Thanh gỗ xoay 88
7.6.Game Level 89
7.6.1.Level 1 89
7.6.2 Level 2 91
7.6.3 Level 3 93
7.6.4 Level 4 95
7.6.5 Level 5 97
7.6.6 Level 6 99
7.7.Mô hình hóa chức năng 101
7.7.1 Actor 101
7.7.2 User case của gamer 101
7.8 Các vấn đề gặp phải khi làm game 102
7.8.1 Xây dựng ý tưởng game 102
Trang 137.8.2 Xây dựng cấu trúc game linh động 102
7.8.3 Hình ảnh các đối tượng trong game 102
7.8.4 Va chạm của các đối tượng 103
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 104
Tài liệu tham khảo 105
Trang 14DANH SÁCH BẢNG
Bảng 2.1 Quá trình phát triển của các dòng sản phẩm iPhone 9
Bảng 3.1 Danh sách một số game engine 2D dành cho iPhone 27
Bảng 5.1 Các thao tác với node con 46
Bảng 5.2 Các thao tác với Action 46
Bảng 5.3 Bảng danh sách các quá trình chuyển đổi(stransition) 49
Bảng 5.4 Các lơp của CCmenu 54
Bảng 5.5 Danh sách của một số action cơ bản 57
Trang 15DANH SÁCH HÌNH, SƠ ĐỒ
Hình 2.1 Chip A5 đem lại những trải nghiệm mới cho game iPhone 11
Hình 3.1 Logo của SDK Moai 17
Hình 3.2 Logo của Multimedia Fusion 2 18
Hình 3.3 Logo Sparrow Framework 20
Hình 3.4 Logo của Corona 21
Hình 4.1: Hình ảnh logo của Cocos2D 33
Hình 4.2 Liên kết giữa các scenes 36
Hình 4.3 Một Scene bao gồm nhiều Layers tạo thành 38
Sơ đồ 4.1 Director chạy Main Menu Scene trước sau đó là Gameplay Scene 40
Sơ đồ 4.2.Mới quan hệ của Scenes, Director, Layers, Sprites 41
Sơ đồ 5.1 Mô tả một ví dụ của Scene Graph 44
Sơ đồ 5.2 Các node quan trọng đều xuất phát từ CCNode 45
Hình 5.1 Các điểm tọa độ trên màn hình 51
Hình 6.1 Màn hình background cho hiệu ứng parallaxing 61
Hình 6.2 Màn hình background trong một texture atlas 62
Hình 6.3 Một mô hình của tilemap 68
Hình 6.4 Một tilemap được xây dựng trên Tied 68
Hình 6.5 TileMap được đưa lên màn hình iPhone 69
Hình 6.6 Một mô hình của isometric tilemap trên iPhone 70
Hình 6.7 Quá trình chuyển đổi một không gian 2D thành 3D 70
Hình 6.8 Sắp xếp các hình ảnh lên khung nền màn hình với góc nhìn 3D 71
Hình 6.9 Xây dụng một isometric tilemap trên Tiled 71
Hình 6.10 Vị trí của các tile trên isometric tilemap 72
Hình 7.1 Game Angry Bird 75
Hình 7.2 Game Cut The Rop 76
Hình 7.3 Game Amazing Alex 77
Hình 7.4 Một cảnh trong game 79
Hình 7.5 Khi qua được một level 81
Hình 7.6 Đối tượng đạn 84
Hình 7.7 Đối tượng chim 84
Trang 16Hình 7.8 Đối tượng ná 85
Hình 7.9 Đối tượng ngôi sao 85
Hình 7.10 Đối tượng gạch 85
Hình 7.11 Đối tượng bong bóng 86
Hình 7.12 Đối tượng gạch domino 86
Hình 7.13 Đối tượng gỗ cố định 87
Hình 7.14 Đối tượng thanh gỗ di chuyển 87
Hình 7.15 Đối tượng lò xo 87
Hình 7.16 Đối tượng cung 88
Hình 7.17 Đối tượng thanh gỗ xoay 88
Hình 7.18 Level 1 của game Ball 89
Hình 7.19 Level 2 của game Ball 91
Hình 7.20 Level 3 của game Ball 93
Hình 7.21 Level 4 của game Ball 95
Hình 7.22 Level 5 của game Ball 97
Hình 7.23 Level 6 của game Ball 99
Hình 7.24 Actor gamer 101
Hình 7.25 User case của gamer 101
Trang 17Chương 1: Tổng Quan
tài, mục tiêu đề tài cần đạt được, phạm vi đề tài, nội dung nghiên cứu
1.1.Giới thiệu đề tài
Với sự phát triển của game dành cho iPhone thì công nghệ để phát triển game trên iPhone cũng ngày càng đa dạng và phong phú Phát triển ứng dụng trên iPhone nói chung và game trên iPhone nói riêng đã trở thành một nhánh mới của phát triển phần mềm Với nhiều công nghệ được đưa ra đã tạo cho các nhà phát triển game cũng khó lựa chọn cho mình một công nghệ thực sự hữu ích và đáp ứng được nhu cầu của
họ
Khi chọn đề tài này chúng tôi đã tìm hiểu rất nhiều các game viết cho iPhone, thấy được rằng Cocos2D là một game engine 2D dành cho việc phát triển game 2D trên iPhone rất hiểu quả và được khá nhiều nhà phát triển game sử dụng Với những chức năng hỗ trợ rất tốt của Cocos2D người phát triển game có thể viết ra được những game rất hay và có giá trị về mặt kinh tế Vì vậy chúng tôi đã chọn đề tài nghiên cứu
về game engine Cocos2D làm nội dung chính cho khóa luận tốt nghiệp này
1.2 Nội dung đề tài
Tổng quan về sự phát triển của iPhone, sự phát triển của iPhone đáp ứng nhu cầu để chơi game, và sự phát triển của game iPhone trong thời gian qua
Nghiên cứu tổng quan về game engine 2D, cách chọn một game engine 2D cho game iPhone như thế nào, tìm hiểu một số game engine 2D cho iPhone Từ đó rút ra lý
do chọn Cocos2D để phát triển game 2D trên iPhone
Nghiên cứu về Cocos2D, các định nghĩa, thuật ngữ, những kỹ thuật nổi bật trong Cocos2D dùng để phát triển game
Xây dựng một ứng dụng game nhỏ mình họa cho việc phát triển game bằng engine Cocos2D
Trang 181.3 Phạm vi đề tài
Đây là một đề tài về nghiên cứu một công nghệ, và nhóm bắt đầu nghiên cứu từ đầu nên sẽ có một vài sai sót trong khi trình bày Với nguồn tài liệu thu thập và tìm hiểu hoàn toàn là của nước ngoài nên quá trình nghiên cứu có nhiều khó khăn.Tuy cộng đồng của Cocos2D trên thế giớ là rất lớn và hổ trợ rất tốt nhưng cộng đồng này ở Việt Nam vẫn cồn rất ít
Cocos2D là một engine game dành cho phát triển game 2D trên iPhone, nên việc lập trình hầu hết đều được thao tác trên hệ điều hành iOS Và được chạy trên giả lập íPhone simulator
1.4 Mục tiêu cần đạt đƣợc
Hiểu được các chức năng hỗ trợ của Cocos2D cho việc phát triển game 2D trên iPhone Tìm hiểu các kỹ thuật, thế mạnh của Cocos2D Xây dựng được một ứng dụng game cho iPhone dựa trên nền tảng của Cocos2D
Trang 19Chương 2: Tổng quan về iPhone
thay đổi công nghệ phục vụ cho việc chơi game trên iPhone, sự phát triển của game dành cho iPhone
2.1 Sự phát triển của iPhone
29/6/2007, iPhone, chiếc điện thoại làm thay đổi cả lịch sử của quá trình phát triển smartphone đã được Apple trình làng.Hãy cùng nhìn lại 4 năm tồn tại và phát triển của iPhone, cùng những sự ảnh hưởng của chiếc smartphone này đến nền công nghệ toàn cầu
Đúng 4 năm trước, iPhone, chiếc điện thoại không chỉ làm thay đổi tầm vóc của Apple, mà còn làm thay đổi ngành công nghiệp sản xuất thiết bị di động, cũng như làm rúng động cả giới công nghiệp đã được Apple trình làng
Cho dù có yêu thích Apple hay không, thì tất cả mọi người cần phải thừa nhận,
sự ra đời của iPhone không giống với sự ra đời của bất kỳ thiết bị công nghệ nào khác,
mà đó được xem là như tiếng chuông đầu tiên cho một cuộc cách mạng trên thị trường smartphone
Sự ra đời của iPhone chính là bước ngoặt trong quá trình phát triển của ngành công nghiệp di động.Trong 5 năm ra đời và phát triển, iPhone đã thay đổi hoàn toàn ngành công nghiệp di động Các hãng sản xuất điện thoại nổi tiếng trên toàn cầu như Nokia, Samsung hay Motorola… cũng đã phải thay đổi lại chiến lược phát triển di động của mình: tập trung vào những chiếc smartphone hỗ trợ màn hình cảm ứng, và đặc biệt là tăng cường hỗ trợ ứng dụng cho nền tảng di động
Thậm chí, sự đời của iPhone cũng đã khiến “gã khổng lồ” Google không thể ngồi yên Google trước đây vốn khá bình lặng trước những biến động của thị trường di động, tuy nhiên, với sự phát triển nhanh chóng của iOS, Google cũng đã phải lập tức thâu tóm và phát triển Android như một nền tảng di động đối chói với sự thống trị của Apple
Trang 20Không chỉ làm thay đổi nền công nghiệp di động, iPhone còn làm thay đổi cả Apple Mặc dù đã đạt được những thành công vang dội trong quá khứ với iMac, iPod hay iTunes… nhưng chỉ đến khi có sự xuất hiện của iPhone, Apple đã thực sự trở thành một trong những tập đoàn công nghệ hàng đầu thế giới
2.2 Quá trình phát triển của các dòng sản phẩm của iPhone
Từ khi mới ra đời phiên bản đầu tiên của iPhone đã làm cho thế giới công nghệ
di động có nhiều đổi thay.Một thế hệ mới của thiết bị di động được mở ra với những công nghệ tốt, hiện đại nhất được.Qua nhiều năm với nhiều cải tiến về công nghệ cũng như về tính năng, các dòng sản phẩm của iPhone càng được nhiều người tiêu dùng trên thế giới lựa chọn và sử dụng.Điện thoại cảm ứng iPhone đã trở thành một thương hiệu, đối thủ lớn của các dòng sản phẩm di động khác
Trang 212.2.1 Các dòng sản phẩm của i hone đã ra mắt trên thị trường
iPhone OS 1.0 Phần mềm được quản lý bởi iTunes
Màn hình Home vói 12 trang, bên dưới là 4 icon chính
Hỗ trợ cảm ứng đa điểm
Cảm biến tự tắt màn hình khi nghe điện thoại
Bàn phím ảo soạn thảo
Ra mắt gian ứng dụng App Store
Hỗ trợ Microsoft Exchange ActiveSync
Hỗ trợ dịch vụ MobileMe
Hỗ trợ các tính năng doanh nghiệp và bảo mật từ
xã
Trang 22iPhone OS 3.0 Tùy chọn Cut, copy và paste
Hỗ trợ tin nhắn đa phương tiện
La bàn số
Chạm vào camera lấy nét
Quay phim VGA 30 hình/giây
Trang 23 Con xoay hồi chuyển
Hai mic chống nhiễu
Khe cắm microSIM
Camera 5 Megapixel tích hợp cảm biến CMOS, quay video HD 720p, 30 hình/giây
Tích hợp đèn LED
Camera 0,3 Megapixel phía trước
iPhone OS 4.0 Hỗ trợ đa nhiệm
Hệ thống quảng cáo di động iAd
Tùy chọn hình nền
Hỗ trợ nhiều tài khoản Exchange
Màn hình Home cho phép tạo folder (12 ứng dụng trong một folder)
Thiết kế lại dock màn hình Home
Tìm kiếm Google, Yahoo và Bing
Ứng dụng mới iBook và iMovie
Đàm thoại FaceTime qua Wi-Fi
Phát triên phần mềm chơi game vào cu
Trang 24 Con xoay hồi chuyển
Hai mic chống nhiễu
Khe cắm microSIM
iPhone OS 4.0 camera 8MP quay video và chụp hình
với chất lượng siêu nét, chỉnh sửa ảnh dễ dàng
và chia sẻ thuận tiện trên Twitter
Tính năng nhận dạng giọng nói
Cung cấp dịch vụ iCloud
Hỗ trợ đa nhiệm
Hệ thống quảng cáo di động iAd
Tùy chọn hình nền
Hỗ trợ nhiều tài khoản Exchange
Màn hình Home cho phép tạo folder (12 ứng dụng trong một folder)
Thiết kế lại dock màn hình Home
Tìm kiếm Google, Yahoo và Bing
Ứng dụng mới iBook và iMovie
Đàm thoại FaceTime qua Wi-Fi
Phát triên phần mềm chơi game vào cu
Bảng 2.1 Quá trình phát triển của các dòng sản phẩm iPhone
Trang 252.2.2 Thế giới chờ đợi iPhone 5
Các tín đồ iPhone nói riêng và của Apple nói chung đang chờ đợi một sản phẩm mới là iPhone 5 ra đời Đây sẽ là một hứa hẹn mới cho một sản phẩm công nghệ nữa
sẽ đáp ứng được lòng mong muốn của người dùng.Bởi lẽ với mỗi sản phẩm mới được đưa ra thị trường thì Apple đều có những phát triển hơn so với dòng sản phẩm trước
đó
Với các thông tin rò rỉ trên các trang báo công nghệ thì iPhone 5 sẽ có những thay đổi mới về phần cứng, công nghệ, và đặc biệt là về hình dạng bên ngoài iPhone 5 được dự kiến sẽ ra mắt vào khoảng tháng 10/2012 này
2.3.Chip A5 một bước tiến dài cho việc chơi game trên thiết bị di động
2.3.1 Chip lõi kép A5 tốc độ 2 GHz sẽ là yếu tố giúp game iPhone tuyệt vời hơn
Có vẻ tính năng Siri và máy ảnh 8 MP là những tính năng thu hút nhiều sự chú
ý trong iPhone 4S Tuy nhiên, một tính năng không kém phần quan trọng mà hầu như không ai nhắc đến dù Apple có hẳn 1 demo trong đêm giới thiệu iPhone mới hôm: chip A5 của iPhone 4S cùng hệ điều hành mới cho các nhà phát triển game cho iOS
Tại sự kiện giới thiệu iPhone 4S, Apple đã trình diễn demo của trò và đồ họa của nó đủ để làm háo hức và cả người chơi game PC Dưới đây là những cải tiến đáng giá mà iOS 5 và chip A5 sẽ mang đến cho bạn
2.3.2.Sức mạnh đồ họa gấp 7 cho hiệu ứng dựng hình đẹp mắt hơn
Smartphones và máy tính bảng là những nền tảng tuyệt vời để chơi game, nhưng chúng thường chỉ cho môi trường đồ họa đơn giản (có thể lấy Angry Birds hay Scrabble làm ví dụ) Tuy nhiên, chip A5 có trong cả iPad 2 và iPhone 4S là cơ hội để các nhà phát triển game thiết kế ra thế giới đồ họa 3D tuyệt hơn cho các thiết bị iOS Perry Tam, CEO của công ty phát triển game Storm8 cho iOS cho biết, chip A5 sẽ xóa
bỏ vài hạn chế cho việc phát triển các game yêu cầu CPU cao hơn
Trang 26Hình 2.1 Chip A5 đem lại những trải nghiệm mới cho game iPhone
Apple cho biết chip A5 cho hiệu năng CPU gấp đôi so với bộ xử lý trong iPhone 4 cùng xử lý đồ họa nhanh hơn 7 lần mà không làm ảnh hưởng đến thời lượng pin
"Chip A5 sẽ rất nhanh", Donald Mustard, giám đốc sáng tạo của ChAIR Entertainment, nhà phát triển game Infinity Blade II cho biết "Các nhà phát triển game rất thích hiệu năng của SoC Hiệu năng càng cao thì các nhà phát triển càng thêm được hiệu ứng giúp game đẹp hơn" Tại buổi giới thiệu iPhone 4S, đại diện của một hãng game nói rằng một vài công nghệ trong iPhone 4S thậm chí chưa từng được
sử dụng trong các game hàng đầu trên máy cầm tay Ví dụ như chip A5 cho phép người chơi Infinity Blade II hiển thị đồ họa rất chi tiết: tia sáng chiếu qua cây, bóng của nhân vật trong game, cá bơi lội trong ao hay một cánh bồ công anh bay trong gió
Sức mạnh của bộ xử lý cho phép người chơi trải nghiệm game phong phú và thật hơn, đưa game trên iOS gần hơn với những game bạn chơi với máy cầm tay hay máy tính
2.4.Game dành cho i hone đang phát triển
2.4.1 Chơi game trên i hone trở nên phổ biến trên thế giới
Apple đã sớm nắm bắt được xu hướng và khẳng định trên App Store.Sau khi iPhone ra đời, năm 2008 "Quả táo" xây dựng một hệ sinh thái xung quanh thiết bị này App Store ngoài các tiện ích, là mộtkho game mở rộng với hàng nghìn trò chơi khác nhau, không chỉ cho phép chơi offline, các ứng dụng còn hỗ trợ kết nối, online và phát triển cộng động sâu rộng, Game Center là một minh chứng
Trang 27Với việc thương mại hóa các ứng dụng, các nhà phát triển có thể bán phần mềm, App Storekhông ngừng sinh sôi, làm giàu cho Apple, và lập trình viên cũng kiếm tiền được từ các ứng dụng này "Quả táo" cũng xây dựng phương thức mua bán, cài đặt tiện lợi hơn, tất cả đã làm cho ứng dụng game trở nên phổ biến và đa dạng
Theo thống kê bởi Nielsen được đăng tải trên trang Arstechnica.com người dùng iPhone dành một khoảng thời gian gấp đôi "người thường" cho việc chơi game Theo thống kê này, 93% người dùngdownload ứng dụng từ Apple Storestrong 30 ngày trở lại đây có chơi game và đương nhiên, game là loại ứng dụng thu hút nhất trên App Store
Theo thống kê này, những người sử dụng iPhone thường dành rất rất nhiều thời gian cho game trên iOS Trung bình, mỗi người dành 14,7h đồng hồ mỗi tháng để tận hưởng sự thú vị của các game trên chiếc smartphone của mình Trong khi đó, người dùng Android chỉ dành 9,3h cho mục đích tương tự.Nếu tính trung bình trên smartphone (cảWindows Phone và BlackBerry), con số chỉ là 7,8 giờ mỗi tháng
Đương nhiên, thống kê này không bao gồm dung lượng và chất lượng của các game.Tuy nhiên, game vẫn là một trong phần nhất trong kho ứng dụng của tất cả các HĐH với 64% số người download ứng dụng từ Appstore có download game Trong số 76% người dùng muốn trả tiềncho việc ứng dụng download có tới 93% người muốn trả tiền cho các ứng dụng game và 87% cho các ứng dụng giải trí
Trang 282.4.2 Thị trường game cho iPhone
Game cho thiết bị di động chiếm khoảng 25% tổng thị trường game nói chung Trước khi Apple xuất hiện trên thị trường di động, con số này chỉ dừng ở 12% Chính
vì thế mà Appe tin rằng họ đã thúc đẩy thị trường lên như hiện nay Nghiên cứu này cũng đưa ra tương lai tươi sáng cho iPhone OS so với các thiết bị chơi game TV truyền thống Mặc dù Mac/PC, Xbox 360 và Playstation 3 vẫn đang nhận được sự hỗ trợ lần lượt là 70%, 69% và 61%, số lập trình viên viết game cho iPhone và iPod Touch vẫn đang tăng lên từng ngày
Những nhà phát triển game không nói với GDR lí do mà họ chuyển sang làm game cho iPhone, iPod nhưng có lẽ sự thay đổi của thị trường cũng như sự dễ dàng trong việc viết mã lập trình đã thu hút họ Khả năng chuyển mã từ các nền khác sang iPhone OS cũng như giá thành để phát triển game cũng là những nhân tố dẫn đến sự thay đổi này Lập trình viên có cơ hội tiếp xúc nhiều hơn và họ cũng không phải trả tiền cho nhà xuất bản, do đó phần mềm của họ có thể bán chạy hơn ngay cả khi phần mềm đó chỉ có giá bằng một phần ba hoặc thậm chí thấp hơn so với phiên bản cho PSP Họ cũng không phải lo đến việc game đã sử dụng bị bán lại tại cửa hàng GameStop chẳng hạn
Việc chuyển đổi sang iPhone thể hiện mạnh mẽ thông qua số phần mềm được chuyển mã (port) sang Những tựa game quen thuộc như Assassin's Creed, Civilization Revolution thực chất là game được viết cho Nintendo DS, sau đó được cải tiến lại cho phù hợp với màn hình cảm ứng và những thay đổi trong các thiết bị của Apple Vì thế,
số game cho iPhone OS vẫn đang không ngừng tăng trưởng
Trang 29Chương 3: Game engine 2D cho i hone
cho iPhone, đưa ra một số tiêu chuẩn để lựa chọn game engine 2D cho iPhone, danh sách một số game engine iPhone Rút ra nguyên nhân vì sao chon game engine Cocos2D làm nội dung chính của khóa luận
3.1 Tổng quan về game engine
3.1.1 Khái niệm game engine
Thì game engine cũng như car’s engine chứ gì?Engine nào chả phải engine? Nhìn chung, game engine cũng giống như car engine, nó làm cho game hoạt động Nhưng không hoàn toàn như thế, đôi lúc tồn tại một lằn ranh không rõ ràng giữa đâu là nơi game engine kết thúc và đâu là nơi những nội dung của game bắt đầu Hơi trừu tượng một tí nhưng sẽ dễ hiểu hơn nếu ta so sánh chúng với car engine và bộ phận chế hoà khí
Về cơ bản, khái niệm của game engine không quá phức tạp: nó là một thực thể bao gồm những công việc liên quan đến phát triển game như vẽ, mô phỏng vật lý, các nguồn tương tác với game để những nhà phát triển (hoạ sĩ, nhà thiết kế, nhà viết kịch bản và cả những nhà lập trình) có thể toàn tâm tập trung vào việc phát triển chi tiết nội dung của game
Engine cung cấp những thành phần cho phép những nhà phát triển có thể tương tác nhằm tạo nên game như giao diện, animation, sự tương tác giữa các đối tượng, vật
lý và ngay cả trí thông minh nhân tạo Ngược lại, nội dung của game, đặc biệt là các
mô hình và kết cấu, ý nghĩa đằng sau những va chạm của các đối tượng, cái cách vật thể tương tác với thế giới game chính chúng thật sự tạo nên game Tương tự như thân
xe, đầu máy DVD, hệ thống phanh, hệ thống dây đeo thắt lưng… cùng tạo nên một chiếc xe thật sự Chúng chính là nội dung của game
3.1.2 API và SDK
Hai từ viết tắt thường liên quan đến game engine bao gồm API (application programming interface) và SDK (software development kit).API chính là những phần
Trang 30dàng phát triển chi tiết của game SDK bao gồm những thư viện, API và tool để thiết
kế nên những chương trình và dịch vụ Hầu hết engine đều cung cấp API trong SDK của chúng Ví dụ như với Unreal Engine, nó cung cấp giao diện để các lập trình viên
có thể tạo ra game của họ, thông qua ngôn ngữ kịch bản UnrealScript, các thư việnvà những tool dùng để biên tập như UnrealEd (được cung cấp nếu người dùng đăng ký bản quyền engine)
3.2 Game engine trên iPhone
3.2.1 Nhu cầu sử dụng game engine 2D cho phát triển game trên iPhone
Game 2D dành cho iPhone đang dần trở nên phát triển, gần gũi và làm thay đổi
về những nhận định về game dành cho mobile Vì vậy mà nhu cầu của người chơi game trên iPhone cũng đòi hỏi cao hơn Người phát triển game đòi hỏi phải bắt kịp được nhu cầu đó cả về số lượng và chất lượng của game
Để lầm được điều đó các nhà sản xuất đã phải tìm cách thế nào để game 2D của
họ làm ra một cách nhanh chóng nhưng vẫn phải đáp ứng được cả về chất lượng nhamg thỏa mãn mong muốn của người chơi Thế nên các nhà sản xuất đã đưa ra rất nhiều các game engine 2D cho game trên iPhone, để họ có thể dễ dàng hơn trong việc xây dựng game 2D cho iPhone
Và việc lựa chọn ra một game engine phù hợp đáp ứng được những mong đợi của nhà sản xuất là việc làm không đơn giản Phải trải qua nhiều năm kinh nghiệm trong lập trình game, cũng như những trải nghiệm trong các dự án thì mới có thể rút ra được cần gì ở game engine 2D, những gì mà nó mang lại có lợi cho nhà sản xuất game 2D Việc lựa chọn sai sẽ làm cho nhà sản xuất chậm trễ trong các dự án game của mình dẫn đến sự chán nản trong việc theo đuổi sự thành công
3.2.2 Lợi ích của game engine 2D cho việc phát triển game trên iPhone
Để trả lời cho lợi ích của game engine 2D cần phải biết được yêu cầu của người phát triển game 2D là gì, đánh giá yêu cầu thực tế đang cần Xem xét cặn kẽ các đặc điểm, ưu điểm, nhược điểm mà các engine game 2D đã có trên thị trường để biết được cái nào phù hợp với mình Thông qua thực tế để thấy việc có một egine hay một
Trang 31framework cho việc lập trình một mảng nào đó là rất cần thiết Cũng như trong lập trình game thì cũng vậy nó sẽ giúp rất nhiều cho người lập trinh
Vì thế lập trình game trên iPhone cũng không ngoại lệ, với một engine game 2D thích hợp thì sẽ tiết kiệm rất nhiều thời gian cho người lập trình khi đã được hỗ trợ cho việc thực hiện các hành động, các thao tác trong game Không còn tốn nhiều thời gian và công sức vào việc chú ý đến các thao tác đó mà chỉ chú ý đến cốt lõi, nội dung của game Việc làm này sẽ thấy rõ trong việc thực hiện các game 2D thể loại RPG hành động có qui mô lớn
Các hành động va chạm trong game đều thực sự phải giống hoàn toàn với thực tế với cuộc sống thực Việc tính toán để cho các hành động va chạm đó đều được phải tính toán và thao tác một cách rất chính xác và ti mĩ Khi đó đối với việc lập trình game cần có một nhóm riêng biệt để thực hiện công việc này Với game engine thì công việc đó hoàn toàn đơn giản và đều được hỗ trợ Người lập trình chỉ cần tìm hiểu
và sử dụng thành thạo vào công việc của mình Tiếc kiệm rất nhiều nhân lực trong quá trình xây dựng game
Từ các chức năng, đặc điểm cơ bản mà engine game 2D đã hổ trợ người lập trình có thể từ đó phát triển các chức năng đó lên một cấp cao hơn để hổ trợ cho các yêu cầu cao trong game của mình Từ các va chạm, hành động có sẵn trong engine game thì có thể phát triển thành các hành động có độ khó cao làm cho game được hấp dẫn và thu hút hơn
Đó là câu trả lời cho tại sao mà phải sự dụng một game engine 2D cho việc phát triển game tren iPhone cũng như game 2D trên bất cứ thiết bị nào ngay cả cho
PC Nhằm tránh lãng phí về thời gian cũng như nhân lực khi đó vấn đề đầu tư phát triển game cũng thấp đi đáng kể Khi đó có thể tập trung vào việc thực hiện phần cốt lõi để game có thể hay, hấp dẫn hơn
3.3 Một số game engine 2D cho iPhone
3.3.1 SDK Moai
3.3.1.1 SDK Moai là gì ?
Trang 32Hình 3.1 Logo của SDK Moai
Moai là một platform phát triển game cho điện thoại di động Nó được phát triển dựa trên ngôn ngữ kịch bản là Lua, thực hiện trên thiết bị di động và trong điện toán đám mây SDK Moai có thể xử lý đồ họa, vật lí, va chạm… Là một công cụ tốt
để có thể phát triển game cho điện thoại di động
Việc sử dụng SDK Moai để thiết kế cho các game trên điện thoại di động trên iOS và Android Trò chơi xây dựng với Moai cũng có thể chạy tự nhiên trên các trình duyệt Chorme, Windows, Macintosh và Linux
Các game iPhone đầu tiên được viết bằng SDK Moai được phát hành trên App store vào tháng 3 năm 2010 Kể từ khi Moai đưa ra bản beta trong năm 2011,các nhà phát triển đã bán được 20 game di động sử dụng Moai
3.3.1.3 Các đặc điểm của SDK Moai
SDK Moai là phần mềm miễn phí được cung cấp dưới dạng là một mã ngồn mở.Một số công cụ hỗ trợ Moai mang tính thương mại.Các sản phẩm được viết từ
Trang 33SDK Moai đều có thể mang tính thương mại, và yêu cầu cung cấp giấy phép bản quyền SDK Moai được cung cấp giấy phép mã nguồn mở Common Public Attribution License Version 1.0 (CPAL), nó yêu cầu người sử dụng Moai phải sử dụng logo của Moai trong game của mình
SDK Moai xây dựng các ứng dụng trên iOS và Android Engine và thư viện của Lua biên dich từ C++ và nhanh hơn so hơn Objective-C Lua được chạy bằng việc phiên dịch các mã byte
Moai vẫn còn sử dụng OpenGL ES.Và hỗ trợ 2D rất tốt với MoaiLayer2D SDK Moai đều hỗ trợ cả hai engine vật lý là Chipmunk và Box2D Nhưng SDK Moai rất khó tích hợp engine vật lý độc lập khác vào Moai Nên việc sử lý các hành động vật lý khó và phức tạp trong game rất sẽ gặp nhiều khó khăn
SDK Moai có thể tạo ra các game trên cả Windows (sử dụng Visual Studio) và Mac(bằng Xcode) Để thực phát triển các game trên iPhone thì phải sừ dụng SDK Moai trên một mày Mac và lập trình bằng Xcode
Giấy phép sử dụng: CPAL/Proprietary
3.3.2 Multimedia Fusion 2
3.3.2.1 Multimedia Fusion 2 là gì ?
Hình 3.2 Logo của Multimedia Fusion 2
Multimedia Fusion 2 là một phần của một loạt các công cụ được thiết kế cho việc phát triển game, các ứng dụng đa phương tiện Nó được thiết rất độc đáo và phát
Trang 34triển, nơi người dùng chỉ cần kéo, thả các đối tượng và các sự kiện để tạo ra game hoặc ứng dụng mà người dùng cần
Multimedia Fusion là một công cụ linh hoạt, mạnh mẽ, và đầy đủ tính năng có sẵn như ngày nay.Có thể nhận được một kết quả tốt, ấn tượng với sản phẩm của mình nhưng không đòi hỏi khả năng lập trình quá cao Khám phá công cụ này người dùng
có thể tạo ra được nhiều ứng dụng đa phương tiện, sang tạo game, và thích hợp cho mọi tầng lớp sử dụng nó
Multimedia Fusion 2 cung cấp cho người dùng tất cả mọi thứ cần để tạo ra phần mềm, game, các thiết kế, và các ứng dụng đa phương tiện cho các bài báo cáo… Người dùng chỉ cần tưởng tượng và bắt đầu thao tác với nó
3.3.2.2 Các đặc điểm của Multimedia Fusion 2
Multimedia Fusion 2 phát triển các ứng dụng và game chạy trên nền tảng Windows, Java applet, Flash file, Mac OS X App, or iOS app
Multimedia Fusion 2 là một công cụ thương mại được Click team phát triển, đây là một sản phẩm thực sự có giá trị và mang tính thương mại cao đối với một nhà phát triển game Nhưng giá thành của Multimedia Fusion là không nhỏ đối với những nhà phát triển game có vốn đầu tư nhỏ; Multimedia Fusion 2 có giá 119$, Multimedia Fusion 2 Developer có giá lên tới 369$
Việc xây dựng game bằng Multimedia Fusion 2 hầu hết bạn sử dụng các công
cụ có sẵn, bằng việc kéo thả các đối tượng và các sự kiện Đơn giản bắt đầu bằng cách tạo ra một khung có thể chứa bất kỳ đồ họa mà người dùng mong muốn.Sau đó bắt đầu chèn kéo thả các đối tượng Cuối cùng, thiết lập các hành động của các đối tượng trong Editor, xử lý các sự kiện trực quan theo những gì người dùng muốn
Dùng Multimedia Fusion 2 sẽ nhanh và đạt được hiệu quả nhưng không mất đi tính linh hoạt và sức mạnh của game của bạn Nhưng đối với một người lập trình thì
nó cũng sẽ làm cho người lập trình mất đi tính sang tạo trong khi lập trình
3.3.3 Sparrow Framework
3.3.3.1 Sparrow Framework là gì ?
Trang 35Sparrow là một thư viện Objective-C thuần, nhằm mục tiêu vào việc phát triển game được dễ dàng và miễn phí nhưng rất tốt Sparrow làm cho nó có thể viết các ứng dụng với OpenGL nhanh chóng nhưng bạn không cần chạm tới OpenGL hoặc là C thuần(dễ dàng làm được việc đó khi cần) Nó sử dụng một API tốt dễ dàng sử dụng và chuẩn xác
Hình 3.3 Logo Sparrow Framework
Sparrow được tạo ra cho các nhà phát triển iphone và iPad, đặc biệt là những người tham gia vào phát triển game.Người lập trình cần phải có một số kiến thức cơ bản về Objective-C đó là một yêu cầu cơ bản cho những ai đã bước vào lập trình trên iPhone
3.3.3.2 Các đặc điểm của Sparrow Framework
Sparrow hoàn toàn miễn phí.Có thể tải về và sử dụng ngay lập tức không phải dính vào một ràng buộc nào.Bởi vì là một mã nguồn mở nên người sử dụng có thể kiểm soát được cả mã nguồn của nó từ lúc mới bắt đầu học.Có thể dễ dàng tìm được các tài liệu và kiến thức từ cộng đồng mã nguồn mở của Sparrow
Sparrow được viết hoàn toàn bằng Objective-C thuần khiết, được xây dựng cho iPhone, iPad và iPod Touch Vì vậy nó rất dễ dàng sử dụng cho các thiết bị của iOS,
có thể dễ dàng tích hợi nó với các ứng dụng UIKit của iOS, truy cập trực tiếp tới tới các API của iOS (game center, iAds, Camera…)
Sparrow rất dễ tiếp cận để sử dụng, bởi mọi thứ được thiết kế hết sức trực quan
và dễ dàng sử dụng.Khi thực hiện các hình ảnh từ nó sẽ thông qua tối ưu bằng cách gọi OpenGL.Sparrow có nhiều tiềm năng giúp cho việc lập trình sử dụng được tối đa phần cứng của thiết bị di động
Trang 36Sparrow đã có rất nhiều game được đưa lên App Store Nó được hỗ trợ bởi một cộng đồng lớn, cung cấp các hướng dẫn, mở rộng và là nơi giúp đỡ cho các thắc mắc
Hình 3.4 Logo của Corona
Corona SDK là một phần mềm được phát triển bởi Walter Luh, đồng sáng lập của Ansca Mobile.Nó cho phép lập trình phần mềm, xây dựng các ứng dụng cho di động, cho iPhone, iPsad và thiết bị trên Android
Corona được xây dựng dựa trên ngôn ngữ Lua và dựa vào OpenGL để xây dụng các ứng dụng đồ họa phong phú gọn nhẹ và tiết kiệm được rất nhiều về mặt thời gian
3.3.4.2 Các đặc điểm của Corona SDK
Corona SDK là một mã nguồn thương mại được bán trên thị trường, người dùng có thể sử dụng bản dùng thử miễn phí nhưng khi dùng bản hoàn chỉnh và đem vào phát triển game thì cần phải trả phí mỗi năm là $349 Corona được cung cấp dựa trên giấy phép proprietary
Sử dụng OpenGL ES để xây dựng các ứng dụng đồ họa, cho phép tăng tốc phần cứng đồ họa bao gồm cả sprites và tốc độ của GPU
Hỗ trợ trên nền tảng của iPhone cũng như trên nền tản chạy Android Các nhà phát triển có thể xây dựng một game với cùng một mã nguồn có thể chạy trên hai nền tảng trên
Đầy đủ các tính năng tích hợp với các thiết bị như camera, video player, la bàn hoặc GPS
Trang 373.4 Danh sách một số game engine 2D khác dành cho iPhone
Engine game Ngôn ngữ Mã
nguồn
mở
Giá Giấy phép
sử dụng
App game kit C++ Không Free Trial,
Indie:$111.99, Corp:$999
Proprietary Intermediate - Có khả năng sử dụng tích hợp cho nhiều nền tảng
thiết bị di động iPhone, android…
-Chỉ cần code một lần có thể sử dụng cho nhiều nền tảng di động
-Dễ dàng sử dụng
-Là một công cụ mang tính thương mại cao
Battery tech C++ Không Indie:$199.95,
Commercial:
$799.95
Proprietary Intermediate -Có thể viết được game trên cả iPhone và Adroid
- Sử dụng các engine vật lý như: Chipmpunk, Box2D, Bullet, Lua…
- OpenGL ES 1.0, 1.1 and 2.0 (Shader) support
- Sử dụng được trên cả Eclipse ADT (Android / NDK), Xcode (iOS / OSX), Visual Studio
2010 (Win32) Cuttlefish
engine
Cuttlescript Không $99/yr,
$299lifetime
Proprietary Beginer -Có thể sử dụng nền tảng ngôn ngữ c#,C++,
Objective C Nếu người dùng đã quen với chúng
Proprietary Intermediate -Sử dụng cho đa nền tảng : iOS, Android, Symbian,
Windows Mobile, và cho PC…
-Hỗ trợ cả lập trình game 3D
Trang 38Framework Objective C License - Hầu hết code viết bằng C/C++ cho Android và
C/C++/Objective C cho iOS dựa trên OpenAL để vẽ
đồ họa và OpenAL/OpenSL cho âm thanh
- Là một mã nguồn mở, sư dụng miễn phí và dễ sử dụng
Esenthel
Engine
C++ Không Personal:$150,
Company:$750, Pro:$4000, Ultimate, Non-Game:$250/year
Proprietary Intermediate -Là công cụ hỗ trợ phát triển game chuyên nghiệp,
giúp nhà phát triển game có thể kiểm soát được mã nguồn game, hỗ trợ đồ họa mạnh mẽ và đơn giản hóa quá trình làm game
- Cung cấp rendering, GUI, physics, controller Input, math Library, Network, sound, memory management…
Proprietary Beginner -Giúp thực hiện một game nhưng không cần tới việc
lập trình, người làm game chỉ cần việc kéo thả các đối tượng để tạo ra game của mình
- Hỗ trợ trên cả iOS, Android, HTML 5
- Các hiệu ứng hình ảnh, âm thanh, hiệu ứng 3D đều được kéo thả trên giao diện có sẵn
- Không yêu cầu người dùng có khả năng lập trình quá cao
GameSalad None
(Graphical)
Không Basic:Free,
Pro:$299/year
Proprietary Beginner -Cung cấp một công cụ làm game cho tất cả mọi
người, và rất nhanh chóng để tạo ra game mà mình muốn trên nên tảng được xây dựng sẵn, giúp phát huy khả năng sáng tạo của người làm game
- Không đòi hỏi người dùng phải lập trình
- Sử dụng được cả trên Android, iOS, HTML 5
Trang 39- Hỗ trợ iAds, kĩ thuật, vật lí, đồ họa …
Gideros
Mobile
Lua Không Community:Fre,
Indie:$149/year, Professional:$449/year
Proprietary Intermediate -Giúp xây dựng các ứng dụng và game trên iPhone,
iPad, Android dễ dàng, với giao diện lập trình flash bằng cách sử dụng một môi trường phát triển đa nền tảng và IDE Mã nguồn của Gideros Studio cho phép
mã nguồn game chỉ viết một lần nhưng có thể chạy được trên cả iOS và Android
Ignifuga
Game Engine
Python, Cython
Có Miễn phí Ignifuga
Game Engine License (Open Source)
Intermediate -Lấy cảm hứng từ Cocos2D và AndEngine, được
viết bằng Python Được phát triển cho cả nền tảng Android
- Có thể sử dụng trên Linux 64, Windows 32, OS X (10.6 trở lên), Android(2.0 trở lên)
IwGame
Engine
C++ Có Miễn phí Proprietary
(OpenSource)
Intermediate -Là một mở rộng của Marmalade SDK để phục vụ
cho các dòng điện thoại thông minh và các công nghệ mới nổi Khi sử dụng bạn cần cài đặt Marmalade SDK
- Là một mã nguồn mở được sử dụng trên nhiều nền tảng khác nhau(iOS, Bada, BBX, Symbian, Windows Phone, mobile linux, LG-TV)
- Với nhiều hỗ trợ về đồ họa, âm thanh, hình ảnh(GÌ, PNG, JPEG) , hỗ trợ cho facebook…
LiveCode LiveCode Không Personal:$99,
Commercial:
$499
Proprietary Intermediate -Được xây dựng để hỗ trợ cho các ứng dụng thiết bị
di động, có thể chạy được trên cả iOS và Android
- Sử dụng engine graphics mới, hỗ trợ cho iOS 5, dễ dàng học như một Portal, dễ dàng để học và phát
Trang 40Basic:$149, Standard:$499
Intermediate -Là một mã nguồn mở của XNA APIs cho phép nhà
phát triển game 2D trên Android, iOS, Linux và Windows bằng cách sử dụng cùng một mã nguồn, hoặc sử dụng mã nguồn của XNA chạy trên Xbox360 hoặc trên Windows 7
- Chỉ cùng một mã nguồn có thể chạy trên nhiều nền tản là một đặc điểm quan trọng của MonoGame MoSync
Mobile
C,C++ Không Free,
Basic Pro: 199 Euro, Gold Pro: 2999 Euro
GNU GPL v2 (Open Source)
Intermediate -Được phát triển cho các nhà phát triển ứng dụng di
động, có thể phát triển các ứng dụng cho iOS,Android, Windows Phone 7, Symbian, Windows Mobile, JavaME và BkackBerry bằng cách
Intermediate -Là một framework mã nguồn mở cho phép phát
triển trên iOS, Android, webOS, BlackBerry, Windows, Mac, Linux và Flash Player từ một mã nguồn duy nhất
Intermediate -Là bộ công mã nguồn mởcụ sử dụng c++ trong lập
trình
- Sử dụng OpenGL, GLEW,GLUT, cairo cho