Kiến thức cơ bản về việc phát triển trò chơi dành cho Android

Hướng dẫn này giới thiệu cho nhà phát triển trò chơi mới về các công cụ và thư viện chính được dùng để phát triển trò chơi trên Android. Hướng dẫn phát triển trò chơi dành cho Android hướng đến đối tượng là nhà phát triển đã lên kế hoạch hoặc thiết lập hầu hết môi trường phát triển trò chơi. Ví dụ: những nhà phát triển trò chơi có kinh nghiệm thường đã có một trò chơi đang trong quá trình phát triển và đang sử dụng một công cụ phát triển trò chơi (game engine), các IDE và API đồ hoạ cụ thể.

Trong hầu hết trường hợp, bạn nên thêm các tuỳ chọn thân thiện với người dùng dành cho người mới bắt đầu thay vì các tuỳ chọn nâng cao để tối đa hoá hiệu quả hoạt động. Nếu đã làm quen với các công cụ và thư viện này, bạn có thể sử dụng trang tổng quan để tìm kiếm hướng dẫn hoặc hỗ trợ dành cho các hình thức tối ưu hoá cụ thể, chẳng hạn như nâng cao hiệu suất hoặc tăng thời lượng pin.

Công cụ phát triển trò chơi

Công cụ phát triển trò chơi (game engine) là một khung thiết kế phần mềm bao gồm một tập hợp thư viện và công cụ để phát triển trò chơi. Bạn có thể sử dụng các thư viện để thêm nhiều tính năng cho trò chơi. Nhưng hãy cẩn thận, vì điều này có thể sẽ khiến bạn thiếu tập trung vào nội dung trò chơi cũng như vào hoạt động tối ưu hóa. Thường thì có các tính năng như đồ hoạ, ảnh động âm thanh, vòng lặp trò chơi (game loop), hỗ trợ thiết bị đầu vào, v.v.

Ngoài ra, công cụ phát triển trò chơi thường bao gồm IDE và các công cụ khác để định cấu hình các tính năng, thiết kế, phát triển và xuất trò chơi của bạn sang Android.

Khi bạn phát triển trò chơi, một trong những lựa chọn quan trọng nhất chính là phát triển công cụ phát triển trò chơi mới, tuỳ chỉnh công cụ phát triển trò chơi hiện có hay sử dụng công cụ phát triển trò chơi chưa sửa đổi.

Tạo sẵn

Đây là tuỳ chọn mà bạn nên sử dụng nếu mới bắt đầu phát triển trò chơi. Với một công cụ phát triển trò chơi được tạo sẵn, bạn sẽ không phải mất thời gian phát triển công cụ phát triển trò chơi hoặc thêm các thư viện AGDK, đây chính là cách đơn giản nhất để phát triển trò chơi Android. Tuy nhiên; để phát triển trò chơi trên Android mà không cần sửa đổi công cụ phát triển trò chơi, thì công cụ phát triển trò chơi đó phải hỗ trợ phát triển Android.

Khi bạn sử dụng công cụ phát triển trò chơi có sẵn, chúng tôi sẽ cung cấp thêm các biện pháp tối ưu hoá, công cụ quy trình làm việc và các phương pháp hay nhất dành cho Android. Ngoài ra, chúng tôi còn cung cấp Dịch vụ Google Play, trong đó có nhiều công cụ xã hội và công cụ phân phối.

Dưới đây là một số công cụ phát triển trò chơi có sẵn hỗ trợ phát triển Android:

  • Godot: một công cụ phát triển trò chơi nguồn mở hỗ trợ nhiều ngôn ngữ lập trình, bao gồm cả GDScript, C# và C++.
  • Debao: một công cụ phát triển trò chơi nguồn mở sử dụng ngôn ngữ lập trình Lua.
  • Unity: một công cụ phát triển trò chơi thương mại được sử dụng rộng rãi và sử dụng ngôn ngữ lập trình C#.
  • Unreal: một công cụ phát triển trò chơi thương mại chuyên về đồ hoạ 3D cao cấp. Sử dụng hệ thống tập lệnh trực quan Blueprint và C++.

Để biết thêm thông tin, hãy xem hướng dẫn sử dụng công cụ phát triển trò chơi trên Android.

Tuỳ chỉnh

Lựa chọn tiên tiến nhất chính là tạo công cụ phát triển trò chơi mới hoặc bổ sung tính năng hỗ trợ cho Android vào công cụ phát triển trò chơi hiện tại. Việc này phức tạp và tốn thời gian, nhưng cho phép bạn phát triển một công cụ được tối ưu hoá và tinh chỉnh toàn diện phù hợp với nhu cầu của mình. Ví dụ: nhiều công cụ phát triển trò chơi hiện nay có các tính năng bổ sung nhưng lại làm tăng kích thước và giảm hiệu suất của trò chơi. Đây là vấn đề mà bạn có thể cải thiện nếu loại trừ các tính năng đó.

Do tính chất phức tạp và thời gian cần thiết để phát triển một công cụ phát triển trò chơi, chúng tôi không khuyến nghị điều này đối với các nhà phát triển trò chơi mới. Trên thực tế, tuỳ chọn này là phù hợp nhất với các tổ chức lớn có kế hoạch sử dụng công cụ này trên nhiều trò chơi.

IDE

Các IDE mà bạn sử dụng để phát triển trò chơi Android còn phụ thuộc vào công cụ phát triển trò chơi cũng như quy trình làm việc của bạn. Các công cụ phát triển trò chơi phổ biến nhất đều có trình chỉnh sửa trò chơi (game editor) để thiết kế và chỉnh sửa mã. Nhà phát triển trò chơi thường sử dụng trình chỉnh sửa trò chơi này song song với Android Studio. Trên Windows, chúng tôi cũng hỗ trợ gỡ lỗi và tạo hồ sơ trò chơi trên Android bằng Visual Studio.

Trình chỉnh sửa trò chơi

Trình chỉnh sửa trò chơi thường tích hợp chặt chẽ các tính năng thiết kế của trò chơi với việc chỉnh sửa mã, và trong một số trường hợp, các trình chỉnh sửa này giúp nhà thiết kế hoàn thành nhiệm vụ phát triển mà không cần viết mã. Nếu đang phát triển trò chơi Android đầu tiên của mình, bạn nên sử dụng tuỳ chọn này cùng với Android Studio. Sau đây là một số lợi ích:

  • Giao diện người dùng và bộ công cụ tập trung nhiều hơn vào thiết kế trò chơi.
  • Tích hợp các thao tác thiết kế và chỉnh sửa mã cho các thành phần.
  • Tập trung vào ngôn ngữ lập trình hoặc tập lệnh được công cụ phát triển trò chơi hỗ trợ.
  • Bao gồm các công cụ tạo mô hình và kết xuất hình ảnh.

Android Studio

Đây là IDE chính thức để phát triển các ứng dụng Android. Vì Android Studio tập trung vào việc phát triển Android, bạn cài đặt ứng dụng này cùng với mọi IDE khác mà bạn đang sử dụng. Sau đây là một số thao tác bạn có thể hoàn thành trên Android Studio:

  • Gỡ lỗi các đoạn mã được viết bằng C/C++, Java hoặc Kotlin.
  • Quản lý SDK Android cần thiết để xây dựng trò chơi trên Android.
  • Xây dựng, lập hồ sơ và tối ưu hoá trò chơi.
  • Chỉnh sửa mã C/C++ bằng Android NDK.
  • Định cấu hình gói ứng dụng và thiết lập chế độ cài đặt Google Play.

Để biết thêm thông tin, hãy xem nội dung tổng quan về Android Studio.

Visual Studio

Nếu đang phát triển trò chơi trên Windows bằng Visual Studio, thì bạn có thể thêm Android làm mục tiêu bằng cách sử dụng Android Game Development Extension cho Visual Studio (AGDE). Chế độ thiết lập này nhằm vào các trò chơi đang trong quá trình phát triển bằng dự án Visual C++, vì vậy đây là một tuỳ chọn phù hợp hơn với các nhà phát triển trò chơi nâng cao. Bạn có thể sử dụng AGDE để làm những việc sau:

  • Sử dụng dự án Visual C++ hiện có để tạo trò chơi trên Android.
  • Gỡ lỗi và lập hồ sơ trò chơi bằng cách sử dụng Visual Studio.
  • Sử dụng các hệ thống bản dựng được phân phối như Incredibuild hoặc SN-DBS.

Để biết thêm thông tin, hãy xem nội dung Tổng quan về AGDE.

Android NDK

Android NDK là một bộ công cụ cho phép bạn phát triển một ứng dụng Android bằng mã gốc bằng cách sử dụng C hoặc C++. Điều này có thể làm tăng hiệu suất của trò chơi bằng cách cung cấp cho trò chơi quyền truy cập trực tiếp vào phần cứng thiết bị. Android NDK cũng cho phép bạn sử dụng lại thư viện C và C++ và dùng chung mã trò chơi trên nhiều nền tảng.

Một số thư viện và công cụ AGDK, cũng như nhiều công cụ phát triển trò chơi đòi hỏi phải có NDK khi phát triển Android. Một trong những lý do của việc này là vì NDK là một công cụ phổ biến và mạnh mẽ để truy cập các API đồ hoạ cấp thấp phổ biến nhất mà các thiết bị Android hỗ trợ.

Để biết thêm thông tin về NDK, hãy xem tài liệu về Android NDK.

API đồ hoạ

Để đạt được hiệu suất đồ hoạ 2D và 3D tốt nhất, trò chơi Android của bạn cần sử dụng API đồ hoạ cấp thấp để giao tiếp với GPU. Các API đồ hoạ được hỗ trợ rộng rãi nhất để phát triển trò chơi Android là OpenGL ES và Vulkan.

Nếu bạn sử dụng một công cụ phát triển trò chơi chưa sửa đổi có hỗ trợ phát triển Android, thì rất có thể công cụ phát triển trò chơi này sẽ sử dụng OpenGL ES hoặc Vulkan. Nếu sử dụng AGDK để phát triển trò chơi bằng ngôn ngữ C hoặc C++, bạn cũng sẽ cần sử dụng OpenGL ES hoặc Vulkan. Ngoài ra, đây là các API đồ hoạ duy nhất được công cụ phân tích đồ hoạ AGI hỗ trợ.

OpenGL ES

OpenGL ES có các lợi ích sau:

  • Hoạt động tốt.
  • Ít phức tạp hơn và dễ sử dụng hơn.
  • Hỗ trợ nhiều thiết bị cũ hơn.

Để biết thêm thông tin, hãy xem nội dung tổng quan về OpenGL ES cho Android.

Vulkan

Vulkan có các lợi ích sau:

  • Hiệu quả hoạt động cao hơn nữa.
  • Nhiều quyền kiểm soát hơn đối với GPU.
  • Mức sử dụng CPU thấp hơn.

Để biết thêm thông tin, hãy xem nội dung Tổng quan về Vulkan cho Android.