Cocos2d-x là gì

Nhưng đừng ai vội nản lòng nhé, Thành quả bạn đạt được sẽ rất có ý nghĩa [ thậm chí rất đáng tự hào] nếu chặng đường bạn trải qua có đủ gian nan. "Không có ước mơ nào quá lớn, và không có kẻ mộng mơ nào quá nhỏ ". Chỉ cần bạn muốn mình là ai, bạn sẽ trở thành người mình muốn.

Dài dòng quá rồi, mình vào đề luôn nhé.

+ 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]. Và hiện thời đang là V3.2 Beta

+ Web chính thức: //www.cocos2d-x.org/

+ Trang web Việt Nam có thể tham khảo: //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...

Làm cái ảnh cho máu

2/ Tại sao lại là Cocos2d -x?

Nói về Engine game thì nhiều lắm. Các bạn search Google là ra hẳn 1 trang Wiki liệt kê các loại Engine game,...

Vậy tại sao lại là Cocos2d -x.?

Lúc đầu khi mới bắt đầu tìm hiểu vào việc Làm game, mình cũng kiếm rất nhiều các công cụ để hỗ trợ cho việc này nhưng cuối cùng chọn ra được Cocos2d -x là phù hợp nhất, vì:

+ Đa nền tảng, viết code 1 lần xuất ra cho mấy hệ điều hành, và nhiều loại thiết bị khác nhau.

+ Hỗ trợ cả Window [ Win7 trở lên] và MacOS, hỗ trợ các IDE nổi tiếng: Eclipse, Visual 2012 trở lên, Xcode

+ Ngôn lữ lập trình C++, Lua, JavaScript, tương đối phổ biến, gần gũi dễ học với hầu hết mọi người. C++ là chính nhé.

+ Mã nguồn mở [ quan trọng nè, hầu hết Engine hay đều thu phí cắt cổ ra ấy]. Chừng nào có nhiều tiền và muốn phát triển theo cách như 1 công ty game chuyên nghiệp thì hãy mua.

+ Đã có nhiều game nổi tiếng bằng Cocos2d-x để tham khảo và học hỏi.

+ Cộng đồng lớn, Code ví dụ cũng nhiều [ chủ yếu tiếng Anh, Trung, Nhật, Hàn] Việt Nam hơi bị ít và hầu hết toàn copy, dịch. Cũng tại có ít Lập trình viên chuyên nghiệp ở Việt Nam, và hầu hết đều giữ nghề thôi.

+ Sao chỉ là 2D mà ko là 3D? Các bạn ơi, hãy bắt đầu từ học bò rồi mới lo học chạy nhé. 3D khó hơn nhiều đấy. Nếu cá nhân hoặc Team nhỏ thì phát triển game 2D sẽ đỡ vất hơn 3D. và Engine 3D toàn tính tiền bản quyền cả nhé, rẻ nhất cũng vài chục chai. : [[

+ Còn nhiều nữa. Vì mình mới tìm hiểu nên nắm bắt được tới đây thôi. Có gì bổ sung sau nhé.

3/ Những ai có thể sử dụng Engine này để học lập trình Game?

Theo cá nhân mình thì những đối tượng như sau có thể đọc và học lập trình Game với Cocos2d -x

- Có đam mê lập trình ứng dụng hoặc game. Là lập trình viên ứng dụng thì càng tốt.

- Đã từng học lập trình ở trường, đặc biệt là ngôn ngữ C, hoặc C++, Lua, hoặc Java [ko dùng thằng này nha nhưng mà phong cách lập trình của nó khá giống C++].

- Kiến thức về toán càng nhiều càng ít. Bạn nào học toán tin thì quá tuyệt, xử lý phần thuật toán sẽ có tư duy tốt hơn.

- Kiến thức về Vật lý cũng nên có, để còn xử lý mấy hiên tượng vật lý trong game chứ. Vì game là một thế giới mô phỏng thế giới thật dựa trên các nguyên tắc toán học và vật lý mà [ Tất nhiên các nguyên tắc này mình chủ động thay đổi được để tạo sự khác biệt].

- Biết thiết kế đồ họa, hoặc có tí năng khiếu đồ họa. "Code là xương, gameplay là hồn, đồ họa là diện mạo", bạn không muốn đứa con cao to, giỏi giang của mình xấu xí chứ?.

- Máy tính Window 7, hoặc Mac OS. Mình dùng Win 7 32 bít, nên ko rõ Mac OS cần gì. Có điện thoại, máy tính bảng để test thực tế thì tốt.

- A, cuối cùng là biết tiếng Anh, Hàn, Trung là một lợi thế lớn, vì hầu hết bài Tut trên mạng là tiếng Trung, rồi tiếng Anh, bạn có thể đọc code, nhưng ko thể hiểu phần comment giải thích của code thì học làm sao?

- Còn điều kiện nào nữa ko nhỉ? Tất nhiên là thời gian, phân bổ thời gian hợp lý nhé, kẻo học nhiều + nhanh quá là tẩu hỏa nhập ma thì toi.

- Có gì bổ sung sau nhé....

4/ Lời cuối:

Sẽ có bạn hỏi, sao mình ko tham gia các diễn đàn trên, ở đó cũng có nhiều người cùng đam mê, chẳng phải tốt hơn sao. Mình xin trả lời thế này:

+ Blog này là 1 công cụ để mình học Lập trình Cocos2d - x . Tất cả những gì mình biết, mình học được, làm được, mình sẽ viết vào Blog này như là một hình thức lưu trữ tài liệu và ký ức. Học như vậy sẽ dễ dàng hơn, nhớ lâu hơn, tuy có mất thời gian hơn.

+ Mọi bài viết trong này đều do mình tự nghiên cứu, hoặc thực hành viết ra những gì đã làm được, sẵn sàng chia sẻ cho tất cả mọi người yêu thích. Trang nào có copy thì xin ghi cho mình cái nguồn về đây để thể hiện sự tôn trọng lẫn nhau nhé.

+ Các bài học mới, hoặc bài nghiên cứu Code ví dụ [ của người khác ] mình sẽ cố gắng hướng dẫn cặn kẽ để giúp CHÍNH MÌNH và người khác có thể hiểu được và làm được.

+ Hệ thống trợ giúp của mình là chiếc LAPTOP cùi Core2Duo, ram 2G chạy Win 7 32 bít + 1 điện thoại Android nên nhiều khi không thể thực hiện trên các thiết bị khác, mong mọi người thông cảm.

+ Những ai là lập trình Pro, hoặc làm game Pro rồi nếu đọc thấy gì không đúng, thì cũng đừng chỉ trích mà hãy Chỉ Giáo giúp mình và mọi người khác nhé.

Cám ơn tất cả đã đọc bài này!!!

Chủ Đề