thảo luận Hội anh em làm game với Cocos Creator

  • Người tạo chủ đề Người tạo chủ đề playwander
  • Ngày bắt đầu Ngày bắt đầu

playwander

Junior Member
Chào các thím,
Em thích làm game nhưng lại không thích Unity BD nên lập thớt này để chia sẻ việc làm game cũng như quy trình làm game của dev cùi tay ngang sử dụng Cocos Creator:big_smile:

1/ Các câu hỏi thường gặp (FAQ):

- Cocos Creator là gì?


Cocos Creator là một công cụ phát triển game đa nền tảng dựa trên ngôn ngữ JavaScript/Typescript. Nó được phát triển bởi Cocos2d-x Team và cung cấp một môi trường phát triển tích hợp cho việc tạo ra các trò chơi di động, web và trò chơi trên desktop. Ở Việt Nam không biết sao anh em toàn sử dụng Cocos Creator làm game bài, bắn cá chứ ít thấy game phổ thông :(

- Sao lại dùng Cocos Creator mà không dùng Unity?
  1. Ngôn ngữ lập trình: Cocos Creator sử dụng JavaScript/Typescript, trong khi đó Unity sử dụng C# hoặc UnityScript. Với tình trạng 1m2 có 10 React dev quen thuộc với JavaScript/Typescript, việc sử dụng Cocos Creator có thể dễ dàng hơn là chắc chắn rồi!
  2. Công cụ phát triển: Cocos Creator cung cấp các công cụ phát triển tích hợp cho việc tạo giao diện người dùng và phát triển trò chơi một cách dễ dàng hơn. Nó cũng có tính năng kéo và thả, giúp người dùng tạo ra các trò chơi một cách nhanh chóng.
  3. Đa nền tảng: Cocos Creator hỗ trợ phát triển trò chơi trên nhiều nền tảng như iOS, Android, Windows và macOS, cũng như trên trình duyệt web. Điều này giúp giảm thời gian và chi phí phát triển.
  4. Giá thành: Cocos Creator là một công cụ phát triển game miễn phí, trong khi Unity có giá thành cao hơn và có các phiên bản trả phí với các tính năng mở rộng.
- Tải Cocos Creator ở đâu?

Trang chủ có hai bản2.x cho game 2d và 3.x cho game 2d, 3d link tải Cocos Creator Download - Lightweight and efficient development engine (https://www.cocos.com/en/creator-download)

- Tìm tài liệu cocos creator ở đâu?

Cocos Creator 3.8 Manual - Introduction (https://docs.cocos.com/creator/manual/en/)

2/ Các thành phần cơ bản hay dùng trong Cocos creator:
Cocos Creator cũng giống như Unity đều dựa trên mô hình Entity Component System để phát triển framework.
  • Scene: Scene chứa tất cả các thành phần dùng để hiển thị trong game cho người chơi tương tác. Thường mỗi scene sẽ là một màn hình, vd: MenuScene, GameScene hay Level1, Level2, Level3...
  • Node: Mỗi đối tượng trong Cocos Creator đều được thể hiện bằng Node, node này chứa các thông tin như tọa độ x,y(position), góc quay(rotation), tỉ lệ giãn nở(scale), kích thước(size), neo(anchor), màu sắc(color), độ trong suốt(opacity), skewer(không biết dịch là gì đại loại là nó bóp méo hình ảnh theo chiều x, y)
  • Component: Component chứa các thuộc tính mở rộng của đối tượng ngoài những thuộc tính nằm trong Node, mỗi node có thể chứa các component khác nhau.
  • Button: cái này không thể thiếu trong game rồi!
  • Sprite: dùng để hiển thị hình ảnh.
  • Prefab: thường dùng để đóng gói một Node với mục đích tối ưu hay tái sử dụng trong một hoặc nhiều dự án khác nhau.
  • Animation: dùng để tạo ảnh động trong game
  • Audio: y như tên dùng để phát âm thanh hoặc nhạc nền.
  • Physic: backend là box2d dùng để xử lý tương tác vật lý giữa các đối tượng.
  • Script: Script tùy chỉnh dùng để code logic trong game (em sẽ bổ sung chi tiết sau)
  • Storage: storage của Cocos Creator về cơ bản y như localstorage trên trình duyệt, chỉ khác là thêm prefix cc.sys.localstorage , em hay dùng để lưu cấu hình âm thanh, level, điểm số.
  • Network: y như trình duyệt có thể dùng ajax hay websocket, em dùng để gửi điểm số hoặc đăng nhập tài khoản.
node graph cocos creator


3/ Nhật ký dev game rác của em:
  1. Cài đặt môi trường
  2. Cấu trúc dự án Cocos Creator & hướng dẫn sử dụng UI Cơ bản
  3. Tìm kiếm, tham khảo các game tương tự trên thị trường (chỗ này em chọn đại không quan tâm đến đối tượng hay doanh thu)
  4. Xác định các chức năng tối thiểu để chơi được, mô hình kiếm tiền Ads (full screen, banner, reward), IAP.
  5. Thiết kế giao diện
  6. Tổ chức thư mục/ tập tin liên quan đến dự án
  7. Hiện thực dựa trên chức năng và giao diện đã thiết kế
  8. Tích hợp mạng quảng cáo kiếm tiền(Admob)
  9. Biên dịch và chạy thử trên web/mobile
  10. Đăng tải ứng dụng lên của hàng Google Play, Appstore
  11. Cập nhật và bảo trì dự án
//mục lục dự kiến khi nào rảnh em sẽ cập nhật tiếp, quyết tâm không đem con bỏ chợ :D
 
Sửa lần cuối:
Typescript code vừa dài vừa mệt
Java dài thế vẫn phải lạy Typescripts bằng bố, vì Java có cái IDE nó xịn đỡ bao nhiêu
Mà cái này debug bằng Google Chrome nên cũng ảo lòi
Engine này nói chung là vẫn phế với indie dev vì éo có Shader Graph viết sẵn
 
Sửa lần cuối:
Hồi 2015 có thử cái món này 1 lần.
Chuyên code game 2d chứ không phải 3d.
Năm 2015, học thấy kéo thả khó chịu mà code không sướng.
Từ đó cứ thấy cái gì kéo thả là không mê.
Code từ đầu tới cuối cho nó sướng vì mỗi lần mở cái UI Design lên là nó giật lag y chang cái storyboard của thằng XCode (IDE Apple).

Tóm lại, theo ý kiến cá nhân, ai muốn học thì suy nghĩ cho kĩ. Vì unity2d nó rất mạnh và dễ code, cộng đồng đông => dễ có người support lỗi và dễ kiếm tài liệu. Khi nào muốn nâng cấp từ 2d lên 3d thì unity nó xây framework sẵn cho việc này rồi nên khỏi lo mất thời gian.

p/s: Mình thì chọn unity hoặc unreal chứ cái món này không hợp khẩu vị và định hướng tương lai.
 
Mấy anh ở trên không dùng hay không đóng góp được cái gì hữu ích cho chủ đề Cocos thì lướt hộ cái chứ đừng comment cho loãng thớt, chả giải quyết vấn đề đéo gì cả. Có ai hỏi quan điểm cá nhân của các anh đâu mà trình bày?
 
Mấy anh ở trên không dùng hay không đóng góp được cái gì hữu ích cho chủ đề Cocos thì lướt hộ cái chứ đừng comment cho loãng thớt, chả giải quyết vấn đề đéo gì cả. Có ai hỏi quan điểm cá nhân của các anh đâu mà trình bày?
Khó chịu quá log nick clone vào chửi cơ à
qZV215Z.png

@Vipluckystar chửi bậy cho ra đảo ít hôm đi chứ anh
 
Typescript code vừa dài vừa mệt
Java dài thế vẫn phải lạy Typescripts bằng bố, vì Java có cái IDE nó xịn đỡ bao nhiêu
Mà cái này debug bằng Google Chrome nên cũng ảo lòi
Engine này nói chung là vẫn phế với indie dev vì éo có Shader Graph viết sẵn
1. Không hiểu ý thím code vừa dài vừa mệt là như thế nào, cơ bản nó là một nhánh của javascript với cú pháp ràng buộc nhiều hơn do chính Microsoft phát triển. Nó cũng chỉ có mấy cái như class, function, loop, condition.
ví dụ một câu lệnh của TypeScript với Java
typescriptjava
class ABC{}package vn.voz.jav
class ABC{}
let a = 1;int a = 1;
for (let i =0;i < 10;i++ ) {}for (int i =0;i < 10;i++ ) {}
... :D

2. So về IDE thì em hay dùng Intelij Idea hỗ trợ nhiều ngôn ngữ khác nhau thấy cũng không khác biệt gì lắm
3. Debug bằng chrome thì cũng như bao công cụ khác thôi thím cũng breakpoint, xem/sửa giá trị runtime, call stack, profiling.
4. Shader thì em tay ngang không hiểu rõ nên không bàn tới Shader, nhưng game casual có thực sự cần tới Shader không thím?


Khó chịu quá log nick clone vào chửi cơ à
qZV215Z.png

@Vipluckystar chửi bậy cho ra đảo ít hôm đi chứ anh

lớn rồi không chơi nick clone thím ơi :D
 
Sửa lần cuối:
Hồi 2015 có thử cái món này 1 lần.
Chuyên code game 2d chứ không phải 3d.
Năm 2015, học thấy kéo thả khó chịu mà code không sướng.
Từ đó cứ thấy cái gì kéo thả là không mê.
Code từ đầu tới cuối cho nó sướng vì mỗi lần mở cái UI Design lên là nó giật lag y chang cái storyboard của thằng XCode (IDE Apple).

Tóm lại, theo ý kiến cá nhân, ai muốn học thì suy nghĩ cho kĩ. Vì unity2d nó rất mạnh và dễ code, cộng đồng đông => dễ có người support lỗi và dễ kiếm tài liệu. Khi nào muốn nâng cấp từ 2d lên 3d thì unity nó xây framework sẵn cho việc này rồi nên khỏi lo mất thời gian.

p/s: Mình thì chọn unity hoặc unreal chứ cái món này không hợp khẩu vị và định hướng tương lai.
cũng 8 năm rồi thím IDE giờ cũng cải thiện khá nhiều, còn vấn đề chọn thì em chỉ viết bài chia sẻ về Cocos Creator và quá trình làm game rác của em cho anh em nào hứng thú có thể tham khảo thôi, anh em chuyên game dev thì tự có nhận định của mình rồi.
 
hồi xưa chọn 2 đường unity vs cocos, mình focus thẳng vô cocos vì thấy dc control nó nhiều hơn, sau làm lên cocos creator nhưng mà cuối cùng cũng quay xe qua unity, lý do đơn giản nhất là unity mạnh hơn ,cộng đồng tốt hơn, job nhiều hơn và assets hay package cũng nhiều hơn
 
Hôm nay có hứng nghịch lại với bản mới nhất
Tổ sư document vẫn như ccc
Éo biết check Raycast từ 1 object kiểu gì luôn :sweat:
 
Sửa lần cuối:
Hồi xưa có dùng cocos2dx này làm kha khá game, nói chung là làm game nhỏ nhỏ, kiểu solo 1 mình thì cũng tạm, nhưng để làm game phức tạp, team lớn thì nên dùng cái khác. Bh có godot thấy cũng khá ngon, hơn cocos là chắc nhưng bỏ làm game lâu rồi
 
Sau vụ scandal 0.02$ 1 lượt cài đặt của Unity dạo này nhiều thằng thuê người làm Cocos hơn
Nhưng document và forum support của thằng này như lol so với Unity :angry:
Ai bập vào nhớ pull về 2 cái này xem Example. Bổ ích hơn đọc document thiu của bọn nó :sure:
 
Các công ty nước ngoài đang đầu tư lại vô Việt Nam vào các sản phẩm gameFi nhé
Các anh em JS, TS đồ bị layoff đang thất nghiệp muốn có việc làm nên ngâm cứu món này để chớp cơ hội cứu đói vài tháng ;)
 
Chào các thím,
Em thích làm game nhưng lại không thích Unity BD nên lập thớt này để chia sẻ việc làm game cũng như quy trình làm game của dev cùi tay ngang sử dụng Cocos Creator:big_smile:
Bác cho tôi hỏi với, muốn hiện thị các node để chỉnh sửa ui thì làm sao. Tôi đang tìm hiểu về cocos, đang muốn sửa ui mà trên sence main có mấy node ẩn tôi không biết làm hiện lên. Youtube thấy chỉ toàn cái setup cơ bản qua giờ vẫn chưa mò ra :
1701503889498.png
 
Bác cho tôi hỏi với, muốn hiện thị các node để chỉnh sửa ui thì làm sao. Tôi đang tìm hiểu về cocos, đang muốn sửa ui mà trên sence main có mấy node ẩn tôi không biết làm hiện lên. Youtube thấy chỉ toàn cái setup cơ bản qua giờ vẫn chưa mò ra : Xem tệp đính kèm 2214397
thím nhấn vào node cha bị ẩn của các node đó xong nhìn góc phải có dấu check active check vào là nó hiện lên
 
Hôm nay mới nhớ còn topic đang viết dở vào viết tiếp cho thím nào quan tâm :D

3/ Cài đặt môi trường
  1. Truy cập Cocos Creator Download - Lightweight and efficient development engine (https://www.cocos.com/en/creator-download) nhấn download để tải về cocos dashboard như hình
    1714503319590.png
  2. Đăng ký tài khoản Cocos Developer Cocos Account (https://auth.cocos.com/#/sign_up/register?language=en)
  3. Kích chạy cocos dashboard và đăng nhập bằng tài khoản đã tạo
    1714503528344.png
  4. Nhấn Install Editor để chọn phiên bản Cocos creator muốn cài đặt
    1714503708386.png
  5. Tạo project hello world
    1714503880150.png
  6. Sau khi tạo xong double click vào scene main để preview scene
    1714504031576.png
  7. Tiếp tục nhấn Play để chạy thử trên web
    1714504092197.png
 

Thống kê chủ đề

Ngày tạo
playwander,
Người trả lời cuối
HieuDepTry,
Trả lời
47
Lượt xem
11.471
Quay lại
Lên đầu trang