Vâng, có một vài cách nghĩ về điều này. Một là liệt kê các tính năng cụ thể mà công cụ nên có (những gì bạn đã hỏi ở đây.) Tuy nhiên, cách khác là bắt đầu tạo trò chơi mà không phải lo lắng quá nhiều về "công cụ", và sau đó các tính năng bạn tìm thấy đang được sử dụng lại giữa nhiều trò chơi (đặc biệt là các tính năng được sử dụng trong mọi trò chơi) bạn nên di chuyển từ nguồn cho một trò chơi cụ thể vào một cơ sở mã được chia sẻ có tên là "engine".
Bởi vì cuối cùng, tại sao bạn muốn một tính năng nhất định trong công cụ chứ không phải trong trò chơi là nó được chia sẻ giữa nhiều trò chơi. Thông thường, đó sẽ là những thứ như vẽ lệnh, bộ điều khiển đầu vào và mã mạng. Một công cụ trò chơi 2D sẽ có rất nhiều tính năng đồ họa 2D, như tải hình ảnh, phân cấp hiển thị theo thứ tự z, xử lý spritesheets, tweening, v.v. Rất nhiều trò chơi cần mô phỏng vật lý, mặc dù mặt khác nhiều người không làm được. Trong khi đó, nhiều thứ "dưới mui xe" được sử dụng trong hầu hết mọi trò chơi bao gồm bộ hẹn giờ, nhắn tin sự kiện và thậm chí các chức năng toán học dành riêng cho phát triển trò chơi (ví dụ: distanceToTarget ()
Mẩu chuyện dài:
A) Công cụ nên có các tính năng được chia sẻ bởi hầu hết các trò chơi.
B) Bạn tìm hiểu các tính năng được chia sẻ bằng cách tạo ra một loạt các trò chơi.
just start making games without worrying too much about the "engine"