Tôi có một dự án để làm một game chiến thuật thời gian thực từ đầu. Tôi vẫn đang ở giai đoạn lập kế hoạch ban đầu, nhưng tôi đã lập trình một chút để xem cơ học.
Tôi biết cách lập trình. Tôi cũng có một ý tưởng tốt về cách tôi sẽ cấu trúc các lớp trò chơi và AI dựa trên quy tắc (máy trạng thái) cho người chơi máy tính.
Tôi muốn phát triển Học thuyết, sẽ đưa ra một hành vi cụ thể cho một đơn vị cụ thể (nhưng có thể được sử dụng trên nhiều đơn vị cùng một lúc), như Hướng đạo, Theo dõi Nhiệm vụ, giữ Vị trí (tấn công bất kỳ kẻ thù nào hoặc rút lui nếu bị áp đảo) , Vân vân...
Các học thuyết sẽ chỉ áp dụng cho các đơn vị, vì vậy nó sẽ có phối cảnh đơn vị và không được biết về toàn bộ sơ đồ trang web.
AI máy tính sẽ phân tích toàn bộ bản đồ có thể nhìn thấy và quyết định xã hội sẽ chỉ định mỗi đơn vị tùy thuộc vào một bộ quy tắc khác.
Tôi đang làm điều này trong C # với OpenGL.
Hiện tại, tôi không có nhiều, chỉ có một vài điều trong các thử nghiệm trước khi tôi bắt đầu thụ thai chính. Tôi có một vòng lặp trò chơi trong đó tất cả quá trình xử lý trò chơi (nơi tôi sẽ gọi là cập nhật, chiến đấu, kết xuất, v.v., lần này đến lần khác) sẽ xảy ra, nó được gọi rất thường xuyên nếu sự kiện Application.Idle.
Bây giờ, tôi đã tự hỏi. Vì sẽ có rất nhiều thứ cần xử lý trong gameloop, AI máy tính và các Đơn vị nên chọn hành động của chúng trong vòng lặp đó hay nó sẽ quá chậm?
Nếu tôi muốn tất cả mọi thứ đồng thời, tôi có nên tạo một Chủ đề riêng cho AI của máy tính không? Hoặc thậm chí một chủ đề riêng cho mỗi đơn vị?
Tôi không có nhiều kinh nghiệm với đa luồng. Điều gì sẽ là cách tiếp cận tốt nhất cho điều này?