Vòng lặp trò chơi chính xử lý ba nhiệm vụ chính:
- Nhận đầu vào của người dùng
- Cập nhật trạng thái trò chơi
- Vẽ trò chơi
Một vòng lặp trò chơi đơn giản chỉ kết hợp ba nhiệm vụ này thành một vòng lặp while. Điều này có một số kết quả không mong muốn:
- Trò chơi chạy ở tốc độ khác nhau trên các máy tính khác nhau.
- CPU (có thể là không cần thiết) được chốt ở mức sử dụng 100%.
- "Trạng thái trò chơi" / menu bị thiếu hoặc trộn với mã trò chơi.
- Vòng lặp trò chơi chính là rất dài và khó để duy trì.
- Mã rất khó để mở rộng / cổng sang các nền tảng khác.
Vòng lặp trò chơi nâng cao giải quyết các vấn đề được liệt kê ở trên. Dưới đây là một số bài viết hữu ích:
Đối với một vòng lặp trò chơi ví dụ tuyệt vời, hãy xem trò chơi demo trượt ván Allegro:
Các vòng lặp trò chơi thường làm cùng một loại công việc cho hầu hết các trò chơi, vì vậy tôi đã nghĩ ra một cách để tạo ra một khung trò chơi tổng quát. Nó là tốt hơn để viết một thực hiện của một vòng lặp trò chơi và chia sẻ nó giữa các trò chơi. Nó tiết kiệm công việc khi tạo một trò chơi mới và các cải tiến cho vòng lặp trò chơi được chia sẻ có thể được chia sẻ bởi tất cả các trò chơi (ví dụ: thêm bộ đếm FPS hoặc tính năng chụp màn hình).