Sahara Bird – Tap to Fly

Đây là game đầu tiên được clone và release của Studio. Cách chơi của game được lấy cảm hứng từ trò chơi đã rất nổi tiếng trong quá khú Flappy Bird. Bạn chỉ cần tap vào màn hình để chú chim bay và vượt qua các chướng ngại vật.

Quá trình phát triển thì đội ngũ developer đã tìm các game tương tự và chơi rất nhiều lần để có thể nắm được toàn bộ vận hành chi tiết của game. Sau đó các bạn đã sử dụng framwork Java gọn nhẹ là LibGDX để phát triển game này. Về các assets của game thì Producer đã tìm những asset loyalty free nhằm tránh vi phạm bản quyền. Sau một tuần làm việc miệt mài của developer thì game đã được release close beta. Sau đó tester đã đã làm việc chăm chỉ để phát hiện các bug tiềm ẩn và phối hợp cùng developer để chỉnh sửa và release gold source.

Hiện tại game đã có hơn 10.000 lượt tải và vẫn đang tăng lên từng ngày. Các bạn muốn trải nghiệm game hãy vào đường dẫn store bên dưới nhé.

Chân thành cảm ơn đến:
Game Producer:
– Trịnh Nam Việt
Game Programmers:
– Trịnh Nam Việt
– Mạc Tán Chương
Game Artists:
– Trịnh Nam Việt
– Some Loyalty Free Assets from the Internet
Game Testers:
– Trịnh Nam Việt
– Mạc Tán Chương

Importing project LibGDX

Sau khi tạo xong project LibGDX
Bạn chỉ cần đơn giản là mở IDE sử dụng, import project đã tạo tại cấp thư mục bạn tạo trước đó (chọn kiểu project là gradle)
Sau đó chờ IDE auto config, sync là có thể sử dụng.

Tạo một project LibGDX

LibGDX cung cấp một bộ công cụ hỗ trợ cho phép bạn bắt đầu tạo ra một dự án đơn giản tối thiểu. Công cụ tạo cấu trúc project được hỗ trợ bời Gradle cho phép bạn chạy/test/deploy/debug bằng command line hoặc bất cứ IDE nào bạn thích.

Tạo nhanh một project

  • Tải xuống công cụ setup project LibGDX link
  • Mở command line, trỏ đến đường dẫn download bên trên và chạy lệnh bên dưới
java -jar gdx-setup.jar

Sau khi chạy sẽ có một cửa sổ mở lên với các thông tin bên dưới

  • Name: Tên của project
  • Package: Thường có dạng như com.weeant…
  • Game class: Class main của game
  • Destination: Cấp thư mục chứa project
  • Android SDK: Trỏ đến đường dấn của Android SDK

SubProjects

  • Chọn những subproject mà bạn mong muốn, ở đây tức là các nền tảng bạn muốn phát hành game đến như android, ios, html,…

Extensions

  • Chọn những phần mở rộng bạn muốn add them vào project. LibGDX thì hỗ trọ các mở rộng bên dưới:
  • Bullet: Thư viện phát hiện va chạm vật rắn ở mô trường 3D.
  • FreeType Scallable font. Rất tiện lợi để quản lí font chữ. Tuy nhiên có khó khan trong việc tương thích HTML.
  • Tools là một tập hợp các công cụ bao gồm: chỉnh sửa điểm ảnh (2d/3d), bitmap font và image texture packers.
  • Controller là thư viện dung để xử lý việc điều khiển (VD: điều khiển XBox 360).
  • Box2d: Box2D là một thự viện vật lý 2D.
  • Box2dlights: là một framework dung box2d để chiếu/phản xạ ánh sáng và OpenGL ES 2.0 để vẽ.
  • Ashley: Một framework nhỏ về vật thể.
  • Ai: Một framework về AI.

Ngoài ra có thể dùng command line để tạo project như bên dưới, tuy nhiên không khuyên dùng, nếu muốn các bạn có thể tự tìm hiểu thêm.

Cấu trúc trúc project của LibGDX

LibGDX project thì được tạo tự động bởi công cụ setup như trên và có rất nhiều các nhiều các layout đi kèm. Các layout này sẽ có chút thay đổi tùy thuộc vào nền tảng bạn lựa chọn phát hành game. Tuy nhiên thì nhìn chung là nó khá tương đồng.

settings.gradle            <- định nghĩa sub-modules. By default core, desktop, android, html, ios, ios-moe
build.gradle <- main Gradle build file, định nghĩa các dependencies và plugins
gradlew <- script that will run Gradle on Unix systems
gradlew.bat <- script that will run Gradle on Windows
gradle <- local gradle wrapper
local.properties <- Gradle only file, defines android sdk location
gradle.properties <- Gradle properties file, defines Gradle settings such as daemon and RAM limits

core/
---- build.gradle <- Gradle build file for core project*
---- src/ <- Source folder for all your game's code
desktop/
---- build.gradle <- Gradle build file for desktop project*
---- src/ <- Source folder for your desktop project, contains Lwjgl launcher class
android/
---- build.gradle <- Gradle build file for android project*
---- AndroidManifest.xml <- Android specific config
---- assets/ <- contains for your graphics, audio, etc. Shared with other projects.
---- res/ <- contains icons for your app and other resources
---- src/ <- Source folder for your Android project, contains android launcher class
html/
---- build.gradle <- Gradle build file for the html project*
---- src/ <- Source folder for your html project, contains launcher and html definition
---- webapp/ <- War template, on generation the contents are copied to war. Contains startup url index page and web.xml
ios/
---- build.gradle <- Gradle build file for the ios project*
---- src/ <- Source folder for your ios project, contains launcher
ios-moe/
---- build.gradle <- Gradle build file for the ios-moe project*
---- src/ <- Source folder for your ios project, contains launcher

Gradle là gì

Gradle là một hệ thống quản lý và build các dependency.


Hệ thống quản lý dependency là một cách dễ dàng để kéo các thư viện của bên thứ 3 vào dự án của bạn mà không phải lưu trữ các thư viện trong thư mục source của bạn. Thay vào đó, hệ thống quản lý dependency dựa vào một tập tin cấu hình trong source của bạn chỉ định tên và phiên bản của các thư viện bạn cần đưa vào ứng dụng của mình. Thêm, xóa và thay đổi phiên bản của thư viện bên thứ 3 cũng dễ như thay đổi một vài dòng trong tệp cấu hình đó. Hệ thống quản lý phụ thuộc sẽ lấy các thư viện mà bạn đã chỉ định từ kho lưu trữ trung tâm (trong trường hợp của chúng tôi là Maven Central) và lưu trữ chúng trong một thư mục bên ngoài dự án của bạn.

Một hệ thống xây dựng giúp xây dựng và đóng gói ứng dụng của bạn mà không bị ràng buộc với một IDE cụ thể. Điều này đặc biệt hữu ích nếu bạn sử dụng máy chủ tích hợp hoặc tích hợp liên tục, nơi IDE không có sẵn. Thay vào đó, máy chủ xây dựng có thể gọi hệ thống xây dựng, cung cấp cho nó cấu hình bản dựng để nó biết cách xây dựng ứng dụng của bạn cho các nền tảng khác nhau.

Trong trường hợp của Gradle, cả hệ thống quản lý và xây dựng dependency đều đi đôi với nhau. Cả hai đều được cấu hình trong cùng một tập hợp các tập tin đó, hệ thống quản lý dependency dựa vào một tập tin cấu hình trong source của bạn chỉ định tên và phiên bản của các thư viện bạn cần đưa vào ứng dụng của mình. Thêm, xóa và thay đổi phiên bản của thư viện bên thứ 3 cũng dễ như thay đổi một vài dòng trong tệp cấu hình đó. Hệ thống quản lý phụ thuộc sẽ lấy các thư viện mà bạn đã chỉ định từ kho lưu trữ trung tâm (trong trường hợp của chúng tôi là Maven Central) và lưu trữ chúng trong một thư mục bên ngoài dự án của bạn.

Một hệ thống xây dựng giúp xây dựng và đóng gói ứng dụng của bạn mà không bị ràng buộc với một IDE cụ thể. Điều này đặc biệt hữu ích nếu bạn sử dụng máy chủ tích hợp hoặc tích hợp liên tục, nơi IDE không có sẵn. Thay vào đó, máy chủ xây dựng có thể gọi hệ thống xây dựng, cung cấp cho nó cấu hình bản dựng để nó biết cách xây dựng ứng dụng của bạn cho các nền tảng khác nhau.

Trong trường hợp của Gradle, cả hệ thống quản lý và xây dựng dependency đều đi đôi với nhau. Cả hai đều được cấu hình trong cùng một tập hợp các tệp

Cài đặt môi trường

Bài viết này cung cấp cho bạn những thông tin cần thiết trước khi bạn bắt đầu tạo hoặc import một project LibGDX.

Các dự án LibGDX được xây dựng và quản lý bằng công cụ xây dựng Gradle. Điều này cho phép bạn phát triển trong hầu hết mọi môi trường lập trình mà bạn thích, ngay cả khi bạn đang làm việc trong một team.

Có 3 IDE java chính có được hỗ trợ là IDEA / Android Studio, Eclipse và Netbeans. Chỉ cần cấu hình một các chính xác là bạn có thể bắt đầu lập trình được rồi.

1/ Setting cho  Intellij IDEA/Android Studio

Yêu cầu tối thiểu:

  •     Java Development Kit 8+ (Phải là JDK)
  •     (Khuyên dùng) Intellij IDEA 2018.1.3, (sử dụng phiên bản community là đủ) Link
  •     Android Studio, 3.1.2 Link

Android:

  •     Android SDK (If using IDEA) Link

iOS:

  •     RoboVM OSS Intellij plugin (nếu sử dụng RobovmOSS) Link
  •     Multi OS Engine Intellij plugin (nếu sử dụng Multi OS Engine) Link

2/ Setting cho Eclipse

Yêu cầu tối thiểu:

  •     Java Development Kit 8+ (Phải là JDK)
  •     Eclipse Oxygen+ with Buildship Link

Android:

  •     Không được hỗ trợ chính thức.

iOS:

  •     RobovmOSS Eclipse plugin Link
  •     Multi OS Engine plugin Link

3/ Setting cho Netbeans

Yêu cầu tối thiểu:

  •     Java Development Kit 8+ (Must be JDK)
  •     Netbeans 8.2, (Java SE is sufficient) Link

Android:

  •     Không được hỗ trợ chính thức.

iOS:

  •     Không được hỗ trợ chính thức.

Giới thiệu

LibGDX là một framework phát triển trò chơi đa nền tảng mã nguồn mở, miễn phí, tương đối đơn giản. Mục tiêu của dự án là hỗ trợ bạn tạo các trò chơi / ứng dụng và triển khai lên các nền tảng máy tính để bàn và thiết bị di động một các dễ dàng theo cách bạn muốn.

LibGDX miễn phí, được cấp phép với giấy phép phần mềm nguồn mở Apache 2, cho phép mọi người sử dụng dự án này.

Có rất nhiều công cụ cấp cao hơn trong LibGDX để giúp bạn bắt đầu nhanh chóng và có toàn quyền truy cập vào API cấp thấp nếu và khi bạn cần sử dụng chúng.

Lập trình game với libGDX

Tổng hợp link các bài viết hướng dẫn.

  1. Giới thiệu
  2. Cài đặt môi trường
  3. Xây dựng cấu trúc project
  4. Impoert vào IDE
  5. Chạy và debug
  6. Đóng gói sản phẩm

Ngoài ra các bạn có thể xem thêm tutorial và các demo tại LibGDX.info