1. Andengine
Andengine |
- Đây là engineer phục vụ cho android
- Website : http://www.andengine.org/
- Andengine là một 2D Game Engine cho phép các lập trình viên có kinh nghiệm hoặc chưa có kinh nghiệm đều có khả năng phát triển các ứng dụng Android một cách dẽ dàng. Andengine bao gồm đầy đủ các thuộc tính quan trọng nhất của OpenGL giúp cho việc dựng hình và tạo vật thể, đồng thời cung cấp khả năng quản lý các thiết bị đầu vào (các sensor, màn hình cảm ứng) và âm thanh
- Một số đánh giá về Andengine:
+) Giá thành: Hoàn toàn free.
+) Hiệu năng: Tương đối tốt, tuy nhiên chậm hơn so với các Engine khác (như LibGDX ở phần trên)
+) Cộng đồng: tương đối tốt, số lượng người sử dụng khá nhiều.
+) Tài liệu và ví dụ: không có tài liệu cụ thể. Đây là một trong những khó khăn khi chúng ta làm quen với Andengine. Tuy nhiên có các ví dụ và các bài viết hướng dẫn của các lập trình viên (có thể tìm được qua Internet). Do đó nếu bạn muốn sử dụng Andengine hãy chuẩn bị tam lý là sẽ tìm hiểu bằng các ví dụ là chủ yếu.
+) Mã nguồn mở , thiết kế sử dụng nhiều phương thức abstract và kế thừa. Hướng đối tượng tốt, tuy nhiên chưa thật sự tốt với nền tảng di động Android.
+) Tính năng: Có đầy đủ hầu hết các tính năng cơ bản để xây dựng một ứng dụng game. Tuy nhiên vẫn chưa có nhiều tính năng giống như LibGDX.
Điểm cộng dành cho Andengine chính là ở việc dễ sử dụng và dễ học hơn các Engine khác, đồng thời các tính năng cơ bản cũng khá đầy đủ cho việc xây dựng một game 2D đơn giản. Hãy nhớ, Andengine chỉ thích hợp cho Game 2D. Nếu yêu cầu về hiệu năng của bạn thật sự cao và game co nhiều hình ảnh phức tạp, cũng như hình ảnh vật thể là 3D, hãy tìm một Engine khác.
2. Libgdx
Libgdx |
- Chúng ta cũng không thể quên libgdx :)
- Website : http://libgdx.badlogicgames.com/index.html
- LibGDX là một framework được sử dụng để phát triển các ứng dụng game và đồ họa cho Desktop, Android, iOS, HTML5.
- Một số ưu điểm của Libgdx như sau:
+) Đa nền tảng: chúng ta chỉ cần viết code 1 lần nhưng có thể chạy trên được nhiều nền tảng khác nhau. Một ứng dụng của tính năng này đó là phát triển các ứng dụng cho Android. Để phát triển một ứng dụng cho Android, khi chạy thử ứng dụng, chúng ta cần chạy ứng dụng trên Emulator hoặc trên thiết bị thật. Việc này rất mất thời gian do Emulator chạy rất chậm và quá trình cài đặt cũng như chạy ứng dụng trên thiết bị thật cũng không khá hơn. Với LibGDX, chúng ta có thể chạy ứng dụng trên PC, sau đó chỉ cần với vài dòng code, chúng ta có thể chạy ứng dụng này trên Android với hiệu năng tương đương. Điều này giúp chúng ta kiểm thử và tìm lỗi ứng dụng nhanh hơn và hiệu quả hơn.
+) Hiệu năng: Hiệu năng của LibGDX thực sự rất ấn tượng do LibGDX sử dụng cả Java và mã nguồn C để tạo nên ứng dụng.
+) Cộng đồng: cộng đồng sử dụng LibGDX rất tuyệt vời với số lượng người dùng lớn. Các lập trình viên luôn đóng góp và giúp đỡ cho cộng đồng. Việc sửa lỗi cũng được cập nhật rất thường xuyên.
+) Tài liệu và ví dụ: rất đầy đủ với Javadoc. LibGDX cũng cung cấp rất nhiều các ví dụ và demo với đầy đủ các chức năng từ đơn giản đến phức tạp.
+) Mã nguồn: mã nguồn mở với thiết kế rất rõ ràng và phù hợp với việc phát triển ứng dụng cho di động. LibGDX cho phép người lập trình khả năng sử dụng các API từ các lớp thấp đến cao, tùy theo yêu cầu của người sử dụng.
+) Tính năng: LibGDX có rất nhiều tính năng như tạo hình, xử lý đồ họa 2D, 3D, xử lý âm thanh, quản lý các thiết bị vào ra, quản lý file hệ thống. Cùng với đó là các công cụ đi kèm rất hữu ích như Texture Packer và Particle Editor.
- Nguồn tham khảo :
+ http://vietandroid.com/threads/lap-trinh-game-voi-libgdx.4742/
3. Cocos2d-x
Cocos2d-x |
- Website : http://www.cocos2d-x.org/
- Cocos2Dx là 1 Engine hỗ trợ lập trình Game đa nền tảng : Mobile ( IOS, ANDROID, Blackberry, TIZEN, WP) Window, MacOS, HTML5,.. đại loại là đủ cả.
- Engine này do Các bạn lập trình viên Trung Quốc ( hay Korean? ) phát triển. Mình thật sự chưa thấy nói về nguồn gốc ở đâu.. Nhưng ko sao, có tiếng Anh để có thể đọc, và cũng không quan trong bởi ngôn ngữ vì chúng ta có thể hiểu được qua bộ Code của nó.
- Ngôn ngữ để Code: Cocos2Dx hỗ trợ chủ yếu 3 ngôn ngữ: C++, Lua, Javascript.
- Phiên bản mới nhất là Cocos2Dx – 3 RC0; (RC1 vừa ra lúc mình viết bài này)
- Trang web Việt Nam có thể tham khảo: http://cocos2d-x.vn/
- Mã nguồn mở.
- Hỗ trợ Window, Mac OS IDE.( môi trường lập trình).
- Đã phát triển nhiều Game nằm TOP của Appstore, CHPlay (tìm lại đã). Đại loại là 1 Engine khá mạnh
- Có 1 phiên bản khác là Cocos2d-iphone – dành riêng để phát triển Game cho Iphone ( dùng ngôn ngữ lập trình Object – C nhé) nhưng mà học cũng ko khó lắm đâu. Và 1 bản Cocos2d-JS, dành để phát triển ứng dụng nền Web, dùng ngôn ngữ Java Scrípt. Nhưng mình nghĩ dùng bản Cocos2d -x sẽ tốt hơn vì ĐA NỀN TẢNG cơ mà ( viết code 1 lần, chạy được cho nhiều hệ thống khác nhau ) chả sướng hơn à. Mình đoán trong tương lai sẽ hợp nhất 3 bản vào làm 1 cho mà xem.
- Có 1 bộ CocosStudio đi kèm để hỗ trợ cho việc thiết kế giao diện, hiệu ứng chuyển động…
- Nguồn tham khảo chi tiết: http://laptrinhgamecocos2dx.blogspot.com/2014/04/gioi-thieu-ve-cocos2d-x.html
5. Unity 3D
Unity 3D |
- Website Unity3d
- Unity3D là phần mềm làm games trực tiếp theo thời gian thực, mà không cần render, cho phép người design game có thể thiết kế InterfaceGraphic, map hay character … từ một phần mềm thứ 2 (thường là các phần mềm thiết kế đồ họa chuyên nghiệp như 3Dsmax, Blender, Maya, XSL,Cinema4D,Cheetah3D, Modo, Autodesk FBX, LightWave…) sau đó chỉ việc import nó vào trong Unity với định dạng của tập tin là *.FBX hay *.dae, *.3DS, *.dxf và *.obj, nhưng định dạng *.FBX hay được dùng vì được tối ưu hóa hơn, còn dùng các định dạng khác ngoài FBX thì phải cài phần mền thiết kế character tưng ứng thì mới dùng được (tức là dùng Maya có định dạng *.mb, *.ma thì muốn dùng được phải cài Maya)
Ngoài ra khi bạn design được một game thì bạn có thể xuất được ra một file.exe và có thể chạy và chơi được trên PC khác.
Một thế mạnh nữa của Unity là bạn có thể chạy demo game của bạn ngay trongkhi design, nó có hỗ trợ hai chế độ là Scene và Game, rất thuận tiện cho việc test thử các modulGame.
Unity3D có 2 loại phiên bản, một cho người dùng free, và một phiên bản pro thì mất phí.
Khi tải Unity về các bạn cài đặt bình thường, đến khi kết thúc cài đặt nền các bạn chọn phiên bản Pro thì cần phải mua, còn nếu là người dùng free thì các bạn chọn kích hoạt qua web, chỉ cần có kết nối mạng internet, sau đó chọn cài đặt thủ công và nhập mail, chọn free là bạn có thể sử dụng một bản Unity free.
- Tham khảo chi tiết hơn : https://sites.google.com/site/chiaselaptrinh/lap-trinh/unity-3d/tong-quan-ve-unity-3d