Tôi không có câu trả lời cho câu hỏi như đã viết, nhưng tôi tin rằng bạn có thể đang cố gắng hỏi "tại sao không có nhiều công cụ trò chơi chức năng hơn" thay vì tìm kiếm một công cụ cụ thể để sử dụng. Nếu đó là chính xác, bạn nên viết lại câu hỏi. Nếu không ... mặc kệ tôi. :)
Một cách tiếp cận chức năng thuần túy không phù hợp cho các trò chơi. Trò chơi (và đồ họa, và vật lý, và AI) và về cơ bản tất cả về những thay đổi trạng thái. Cách tiếp cận chức năng chính xác cho những vấn đề này sẽ là tính toán toàn bộ trạng thái mới một lần trên mỗi vòng lặp, sẽ có hình phạt hiệu năng rất nghiêm trọng so với mã hóa trực tiếp hơn cách thức hoạt động của phần cứng thực tế.
Vì lý do đó mà bạn không thấy bất kỳ công cụ trò chơi kiểu chức năng nào được sản xuất. Nó chỉ đơn giản là mô hình lập trình sai cho phần lớn các vấn đề mà một công cụ trò chơi có nghĩa là để giải quyết. Đó là mô hình lập trình sai cho phần lớn các vấn đề cần được giải quyết trong kịch bản logic và mã logic trò chơi cấp cao hơn. Mặc dù gần như chắc chắn có thể tạo ra một công cụ trò chơi chức năng, nó sẽ chậm, khó sử dụng và cồng kềnh, và sẽ không phục vụ mục đích thực sự nào ngoài việc là một bản demo / đồ chơi gọn gàng để thể hiện.
Điều đó không có nghĩa là lập trình chức năng không có chỗ trong các trò chơi. Tôi sử dụng một kiểu mã hóa rất chức năng (khi thích hợp) trong C #, Unity JavaScript và thậm chí là C ++ 11. Một số vấn đề rất cụ thể là tốt nhất hoặc ít nhất là dễ dàng giải quyết nhất với kiểu chức năng và hầu hết các ngôn ngữ phổ biến hiện nay đều hỗ trợ hình thức lập trình đó, mặc dù theo cách rườm rà hơn so với ngôn ngữ chức năng "thực". Thông thường những vấn đề được giải quyết bằng các phương pháp tiếp cận chức năng không nằm ở mã công cụ cốt lõi, cũng không phải ở mã chạy trong chính trò chơi. Mã hóa chức năng có thể khá có lợi cho các công cụ và xử lý dữ liệu ngoại tuyến (ví dụ như mô hình nướng và các tài sản khác). Người ta cũng cho rằng lập trình GPU có chức năng mơ hồ trong cách viết thuật toán,
Tất nhiên, vẫn có thể tốt nhất để tránh các phương pháp tiếp cận chức năng bên ngoài các trường hợp rất cụ thể vì bạn muốn các công cụ ngoại tuyến này nhanh nhất có thể. Các ngôn ngữ chức năng vượt trội ở chế độ song song, tốt cho một số vấn đề, nhưng sự trừu tượng hóa từ phần cứng có xu hướng dẫn đến hiệu suất đơn luồng rất kém hiệu quả. (Các ngôn ngữ như LISP hoạt động tốt ở đây vì chúng không phải là chức năng thuần túy và trên thực tế, LISP thông thường là đa mô hình.) Điều tồi tệ nhất tuyệt đối cho một công cụ trò chơi hoặc bộ công cụ liên quan là trở thành nút cổ chai cho việc lặp lại nội dung. Một công cụ lạ mắt với nhiều tính năng khiến các nghệ sĩ hoặc nhà thiết kế cấp độ phải mất hàng giờ để làm những gì có thể làm trong 5 phút (hoặc lý tưởng nhất là gần như ngay lập tức) sẽ dẫn đến các trò chơi chất lượng thấp hoặc bị hủy do leo thang ngân sách.