Game là một trong những hình thức giải trí không thể thiếu của chúng ta. Và đối với lập trình viên thì Framework hoặc Engine là một công cụ hỗ trợ để làm Game một cách hiệu quả nhất.
Game Developer
Khái niệm
Là người hiện thực hóa các ý tưởng của Game Designer đã đề ra và xây dựng, phát triển nó thành một sản phẩm.
Giả sử Game Designer thiết kế 1 game chạy - nhảy - bắn, công việc mà Game Developer sẽ làm như sau:
- Dựa vào các yêu cầu của Game Designer phân tích các đối tượng cần phải có trong game.
- Từ kết quả phân tích đó xây dựng thành sơ đồ kế thừa để lập trình Game một cách dễ dàng và thuận tiện nhất.
- Sau khi đã có sơ đồ, dựa vào yêu cầu cụ thể của Game Designer đối với từng đối tượng mà phân tích và xử lý logic cho các đối tượng đó.
Ví dụ minh họa
Game Contra là game mà Designer đưa ra ý tưởng và hiện thực lại:
- Bước 1: Phân tích các đối tượng cần phải có trong game.
Game Contra | |||
Nhân vật | Quái vật | Đạn | Hiệu ứng |
Bill | Lính | Đạn của nhân vật | Nổ cầu |
Lance | Súng tự động | Đạn của quái vật | Quái vật chết |
- Bước 2: Xây dựng thành sơ đồ kế thừa.
- Bước 3: Phân tích và xử lý logic.
- Phân tích Logic
- Lớp
Character
là lớp sẽ xây dựng nên nhân vật chính của game Contra. Bill
vàLance
giống nhau về xử lý logic nhưng chỉ khác nhau về hình ảnh nên không cần phải tạo nhiều lớp kế thừa từCharacter
mà chỉ cần một lớp duy nhất làCharacter
.Character
cần xử lý theo sự kiện từ bàn phím vàCamera
sẽ tập trung vàoCharacter
này.Camera
là lớp hỗ trợ để xây dựng Game.Character
sử dụng nhiều loại đạn khác nhau từ lớpBullet
.
- Lớp
- Xử lý Logic
- Khởi tạo lớp
Character
vớiConstructor
phù hợp. - Khai báo các thuộc tính và phương thức cần thiết cho việc xử lý Logic của các đối tượng khác trong Game.
- Khởi tạo lớp
- Phân tích Logic
Game framework là gì?
Khái niệm
Là công cụ tự xây dựng để hỗ trợ quá trình xây dựng và phát triển game, game framework hỗ trợ các đối tượng cơ bản nhất như nút bấm, tải sprite, vẽ hiệu ứng nhưng không có xu hướng tập trung vào 1 thể loại game nào.
Ưu điểm
- Có nhiều khả năng kiểm soát và tự viết thêm các thành phần cần thiết.
- Dễ dàng chỉnh sửa và nâng cấp các tính năng.
Nhược điểm
- Tốn thời gian và kinh phí do phải tự tay xây dựng nhiều thành phần.
- Khó tập trung vào 1 loại game cụ thể.
Game engine là gì?
Khái niệm
Là công cụ cung cấp các điều kiện cần thiết để lập trình viên có thể xây dựng và phát triển game, thông thường sẽ tập trung vào các thể loại game cụ thể.
Ưu điểm
- Đầy đủ các tính năng cần thiết để xây dựng các thể loại game.
- Tối ưu thời gian phát triển game do được hỗ trợ chuyên.
Nhược điểm
- Khó chỉnh sửa và nâng cấp các tính năng của game engine.
- Thể loại game phụ thuộc rất nhiều vào game engine.
- Hiệu năng phụ thuộc hoàn toàn vào game engine.