Game được viết bằng ngôn ngữ Java 8. Tuy đây là game 3D nhưng được viết hoàn toàn bằng API 2D, vì vậy quá trình viết game sẽ có phần liên quan nhiều đến toán học và vật lí (quang học).
Việc lập trình được thực hiện trên Linux (Arch Linux) nên sẽ có vài phần không phù hợp với người dùng Windows.
Cài đặt môi trường lập trình
IDE
(Phần này chỉ dành cho linux) Do Eclipse (phiên bản mới nhất - Mars 2) chưa hỗ trợ hoàn toàn GTK3 (xem ở đây ) nên ở một số máy sẽ gặp lỗi không thể tạo project mới. Để khắc phục lỗi này, thêm 2 dòng:
--launcher.GTK_version
2
vào file eclipse.ini
để yêu cầu Eclipse sử dụng GTK2, chú ý cần thêm 2 dòng này trước dòng --launcher.appendVmargs
.JDK
Đến đây, việc cài đặt môi trường lập trình đã hoàn tất. Bước tiếp theo là tạo một class mới. Một chương trình Java gồm nhiều class, mỗi class sẽ được viết trong một file
.java
riêng biệt, có tên trùng với tên của class. Trên giao diện Eclipse, chọn File -> New -> Class, và nhập tên của class. Ở đây tôi chọn tên main
. Sau khi hoàn tất, file
main.java
sẽ được mở, có nội dung:public class main {
}
Nhập nội dung như sau cho class main:public class Main {
public static void main(String args[]){
System.out.println("Hello!!");
}
}
Sau đó nhấn CTRL+F11
để chạy chương trình, Eclipse sẽ hiện lên dòng chữ "Hello!!" ở console bên dưới.Giải thích:
Mỗi chương trình Java sẽ có một hàm đặc biệt được khai báo:
public static void main(String args[])
Đây sẽ là hàm chứa những lệnh sẽ được thực thi khi chương trình bắt đầu. Dòng:System.out.println("Hello!!");
sẽ xuất ra stdout (standard output) dòng chữ "Hello!!". Đây là một chương trình rất đơn giản, tuy nhiên chương trình chúng ta đang viết cần một giao diện graphical, tức là có một window và có thể vẽ trên window đó. Để thực hiện việc này, chúng ta sẽ sử dụng API swing và awt do Java cung cấp. Mã nguồn mới như sau:
import javax.swing.JFrame;
public class Main extends JFrame{
public static void main(String argv[]){
JFrame f = new JFrame("BoxRacing");
f.setSize(200,200);
f.setVisible(true);
}
}
Tiếp tục nhấn CTRL+F11 để dịch và chạy chương trình, ta thu được một window nhỏ như hình sau:Giải thích:
JFrame f = new JFrame("BoxRacing");
Tạo một object (có thể xem là biến - variable - như trong các ngôn ngữ khác) mới kiểu JFrame, object này được khởi tạo với String "BoxRacing" (là title của window sẽ được tạo).f.setSize(200,200);
Quy định kích thước của window.f.setVisible(true);
Yêu cầu chương trình hiển thị window được tạo thành.Với cách này ta hoàn toàn có thể có nhiều window cho một chương trình.