Một số lưu ý cơ bản về viết game
- by Johnny Chen
Yêu cầu 1 game tốt
• Hình ảnh đẹp
• Có âm thanh tốt
• Màn chơi kịch tính
• Code phải siêu gọn nhẹ để cài đặt nhanh
• Code phải mạch lạc để nâng cấp dễ
• Game phải có thuật toán xử lý tốt, tránh tình
trạng giật lag
• Game phù hợp với càng nhiều cấu hình máy
càng tốt
• Nội dung lôi cuốn, lành mạnh và tự nhiên
Các lưu ý
• Ý tưởng: Tôi tìm ý tưởng ở đâu đây?
• Tài nguyên game: hình ảnh và định dạng
• Cách hiện màn hình cân đối
• Sự hòa hợp render hình ảnh và input điều
khiển game
• Triển khai trạng thái game
• Triển khai code trong 1 trạng thái game
• Một vài điểm tệ hại của game
Ý tưởng
• Câu hỏi lớn về ý tưởng cho game.
• Thực ra khi bắt đầu làm game tôi cũng có
những vướng mắc là tìm ý tưởng.
• Câu trả lời sau nhiều lần đi hỏi: Đó là bạn cứ lên
mạng xem các trò game được nhiều người chơi,
sau đó xem mình có thể sáng tạo thêm hay
không?
• Hay khắc phục những khuyết điểm của nó?
• Thậm chí dựa theo một game đã có chế lại theo
ý mình.
• Có thể trộn ý tưởng nhiều game lại.
Tài nguyên game
• Thường thì hình ảnh trong game
bạn nên chọn jpg hay png vì 2
loại này khá phổ biến.
• jpg nên chọn cho hình nền, vì nó
không có màu trong suốt.(Hãy để
ý khi bạn để các hình jpg lên nhau
nó sẽ che khuất màu trắng lên
nhau)
Tài nguyên game
• các ảnh khi đã vào game hạn chế và tuyệt
đối không chỉnh kích cỡ lại mà dùng luôn
kích cỡ tự nhiên. nếu bạn muốn chỉnh
kích cỡ thì chỉnh ở ngoài bằng các phần
mềm chỉnh ảnh, sau đó add vào game.
– Ví dụ: ảnh kích thước 400x400px nhưng trong game chỉ
muốn hiện là 200x200px thì bạn có thể thêm vào game rồi
chỉnh kích cỡ lại xuống 1 nữa, nhưng như vậy không nên.
– Ảnh có thể bị bể, hoặc máy tính tốn thời gian thu nhỏ lại, vì
vậy tốt nhất bạn nên sửa lại kích thước từ bên ngoài còn
200x200 rồi thêm vào game và vẽ ra.
• từ khóa để tìm các tập ảnh chuyển động là
sprite sheet
Tài nguyên game
• Thường các bạn nên chọn âm thanh là
những nhạc không lời làm nền cho game.
• Các ngôn ngữ viết game cho phép bạn
nên dùng nhạc chuẩn midi cho nhẹ,
nhưng thường thì mp3, còn cao cấp thì
ogg
• Âm thanh nhẹ nhàng, lúc cao trào hay
người chơi gần thua thì tiết tấu nhanh và
hối hả
Màn hình
• Dựa theo màn hình mà bạn có fit game sau cho
luôn giữ tỷ lệ mà bạn muốn.
• Ví dụ: tỷ lệ mà bạn muốn game 4x3 mà hệ màn
hình là 16x9 thì bạn lấy cái cạnh nhỏ nhất là 9
làm gốc, rồi cân cạnh 4 theo tỷ lệ.
Hòa hợp render và controller
• Có 1 điểm chết người mà nhiều bạn mới làm game
thường mất phải là:
• Chạy 1 hàm định kỳ để:
– kiểm tra người chơi có nhấn phím hay chuột gì không
– vẽ tất cả đối tượng game
• Điểm bất lợi ở đây chính là đôi khi máy chạy game yếu
hay việc vẽ lại các đối tượng game không cần thiết cập
nhật liên tục thì: VIỆC CẬP NHẬT phím/chuột BỊ KÉO
DÀI THEO VÀ KHÔNG TỨC THÌ.(người chơi luôn muốn
là nhấn phím thì phải có hành động liền chứ không đợi
5s hay 10s sau cùng lúc với hàm vẽ render được)
Xây dựng các trạng thái game
• Thực chất đây là bước bạn viết kịch bản cho game, điều
mà bạn bắt buộc lập ra trước khi bắt đầu viết 1 game
• Bạn có thể xem ví dụ hình dưới
Triển khai cấu trúc 1 trạng thái
• Thường sau này chúng ta nên lập trình theo
hướng đối tượng.
• Các đối tượng trong game là các class và bắt
buộc có hàm render (hàm vẽ đó tượng ra màn
hình)
• Trạng thái chính là 1 class riêng biệt gồm các
function sau:
– init: kích hoạt hàm này để khởi tạo: biến điểm, biến
level, đăng ký các hàm xử lý sự kiện bàn phím/chuột,
hàm cập nhật và vẽ lại tất cả đối tượng đang có
– hàm xử lý sự kiện chuột hay bàn phím
– hàm cập nhật vẽ
Một vài điểm tệ hại
• Âm thanh: nhạc nền, nhạc từng action
• Hình ảnh: độ phân giải phù hợp render
• Hoạt hình:
– không được để trạng thái chết.
– mọi tác động ng chơi đều có hiệu ứng tương
ứng.

Một số lưu ý cơ bản về viết game

  • 1.
    Một số lưuý cơ bản về viết game - by Johnny Chen
  • 2.
    Yêu cầu 1game tốt • Hình ảnh đẹp • Có âm thanh tốt • Màn chơi kịch tính • Code phải siêu gọn nhẹ để cài đặt nhanh • Code phải mạch lạc để nâng cấp dễ • Game phải có thuật toán xử lý tốt, tránh tình trạng giật lag • Game phù hợp với càng nhiều cấu hình máy càng tốt • Nội dung lôi cuốn, lành mạnh và tự nhiên
  • 3.
    Các lưu ý •Ý tưởng: Tôi tìm ý tưởng ở đâu đây? • Tài nguyên game: hình ảnh và định dạng • Cách hiện màn hình cân đối • Sự hòa hợp render hình ảnh và input điều khiển game • Triển khai trạng thái game • Triển khai code trong 1 trạng thái game • Một vài điểm tệ hại của game
  • 4.
    Ý tưởng • Câuhỏi lớn về ý tưởng cho game. • Thực ra khi bắt đầu làm game tôi cũng có những vướng mắc là tìm ý tưởng. • Câu trả lời sau nhiều lần đi hỏi: Đó là bạn cứ lên mạng xem các trò game được nhiều người chơi, sau đó xem mình có thể sáng tạo thêm hay không? • Hay khắc phục những khuyết điểm của nó? • Thậm chí dựa theo một game đã có chế lại theo ý mình. • Có thể trộn ý tưởng nhiều game lại.
  • 5.
    Tài nguyên game •Thường thì hình ảnh trong game bạn nên chọn jpg hay png vì 2 loại này khá phổ biến. • jpg nên chọn cho hình nền, vì nó không có màu trong suốt.(Hãy để ý khi bạn để các hình jpg lên nhau nó sẽ che khuất màu trắng lên nhau)
  • 6.
    Tài nguyên game •các ảnh khi đã vào game hạn chế và tuyệt đối không chỉnh kích cỡ lại mà dùng luôn kích cỡ tự nhiên. nếu bạn muốn chỉnh kích cỡ thì chỉnh ở ngoài bằng các phần mềm chỉnh ảnh, sau đó add vào game. – Ví dụ: ảnh kích thước 400x400px nhưng trong game chỉ muốn hiện là 200x200px thì bạn có thể thêm vào game rồi chỉnh kích cỡ lại xuống 1 nữa, nhưng như vậy không nên. – Ảnh có thể bị bể, hoặc máy tính tốn thời gian thu nhỏ lại, vì vậy tốt nhất bạn nên sửa lại kích thước từ bên ngoài còn 200x200 rồi thêm vào game và vẽ ra. • từ khóa để tìm các tập ảnh chuyển động là sprite sheet
  • 7.
    Tài nguyên game •Thường các bạn nên chọn âm thanh là những nhạc không lời làm nền cho game. • Các ngôn ngữ viết game cho phép bạn nên dùng nhạc chuẩn midi cho nhẹ, nhưng thường thì mp3, còn cao cấp thì ogg • Âm thanh nhẹ nhàng, lúc cao trào hay người chơi gần thua thì tiết tấu nhanh và hối hả
  • 8.
    Màn hình • Dựatheo màn hình mà bạn có fit game sau cho luôn giữ tỷ lệ mà bạn muốn. • Ví dụ: tỷ lệ mà bạn muốn game 4x3 mà hệ màn hình là 16x9 thì bạn lấy cái cạnh nhỏ nhất là 9 làm gốc, rồi cân cạnh 4 theo tỷ lệ.
  • 9.
    Hòa hợp rendervà controller • Có 1 điểm chết người mà nhiều bạn mới làm game thường mất phải là: • Chạy 1 hàm định kỳ để: – kiểm tra người chơi có nhấn phím hay chuột gì không – vẽ tất cả đối tượng game • Điểm bất lợi ở đây chính là đôi khi máy chạy game yếu hay việc vẽ lại các đối tượng game không cần thiết cập nhật liên tục thì: VIỆC CẬP NHẬT phím/chuột BỊ KÉO DÀI THEO VÀ KHÔNG TỨC THÌ.(người chơi luôn muốn là nhấn phím thì phải có hành động liền chứ không đợi 5s hay 10s sau cùng lúc với hàm vẽ render được)
  • 10.
    Xây dựng cáctrạng thái game • Thực chất đây là bước bạn viết kịch bản cho game, điều mà bạn bắt buộc lập ra trước khi bắt đầu viết 1 game • Bạn có thể xem ví dụ hình dưới
  • 11.
    Triển khai cấutrúc 1 trạng thái • Thường sau này chúng ta nên lập trình theo hướng đối tượng. • Các đối tượng trong game là các class và bắt buộc có hàm render (hàm vẽ đó tượng ra màn hình) • Trạng thái chính là 1 class riêng biệt gồm các function sau: – init: kích hoạt hàm này để khởi tạo: biến điểm, biến level, đăng ký các hàm xử lý sự kiện bàn phím/chuột, hàm cập nhật và vẽ lại tất cả đối tượng đang có – hàm xử lý sự kiện chuột hay bàn phím – hàm cập nhật vẽ
  • 12.
    Một vài điểmtệ hại • Âm thanh: nhạc nền, nhạc từng action • Hình ảnh: độ phân giải phù hợp render • Hoạt hình: – không được để trạng thái chết. – mọi tác động ng chơi đều có hiệu ứng tương ứng.