मेरे पास लिखित रूप में प्रश्न का उत्तर नहीं है, लेकिन मेरा मानना है कि आप संभवतः "एक विशिष्ट गेम इंजन क्यों नहीं हैं" का उपयोग करने के लिए एक विशिष्ट की तलाश करने के बजाय यह पूछने की कोशिश कर रहे हैं। यदि यह सही है, तो आपको प्रश्न को फिर से लिखना चाहिए। अगर नहीं ... मेरी उपेक्षा करें। :)
एक शुद्ध कार्यात्मक दृष्टिकोण खेलों के लिए एक अच्छा फिट नहीं है। खेल (और ग्राफिक्स, और भौतिकी, और एआई) और मूल रूप से सभी राज्य परिवर्तनों के बारे में। इन समस्याओं के लिए सही कार्यात्मक दृष्टिकोण प्रति पाश में एक बार एक पूरे नए राज्य की गणना करना होगा, जिसमें वास्तविक हार्डवेयर काम करने के लिए अधिक सीधे कोडिंग की तुलना में बहुत गंभीर प्रदर्शन जुर्माना होगा।
यह इस कारण से है कि आपको उत्पादन में कोई कार्यात्मक-शैली का गेम इंजन नहीं दिखता है। यह केवल एक गेम इंजन को हल करने के लिए है समस्याओं के बहुमत के लिए गलत प्रोग्रामिंग प्रतिमान है। यह उच्च स्तर की स्क्रिप्टिंग और गेम लॉजिक कोड में भी हल की जाने वाली अधिकांश समस्याओं के लिए गलत प्रोग्रामिंग प्रतिमान है। हालांकि एक कार्यात्मक गेम इंजन बनाना लगभग संभव है, यह उपयोग करने के लिए धीमा, कठिन और बोझिल होगा, और दिखावा करने के लिए एक स्वच्छ डेमो / खिलौना होने के अलावा कोई वास्तविक उद्देश्य नहीं होगा।
यह कहना है कि कार्यात्मक प्रोग्रामिंग खेल में कहीं जगह नहीं है। मैं C #, यूनिटी जावास्क्रिप्ट और यहां तक कि C ++ 11 में कोडिंग (जहां उपयुक्त हो) की एक बहुत ही कार्यात्मक शैली का उपयोग करता हूं। कुछ बहुत ही विशिष्ट समस्याएं एक कार्यात्मक शैली के साथ सबसे अच्छी या कम से कम सबसे आसानी से हल हो जाती हैं, और अधिकांश लोकप्रिय भाषाएं आज "वास्तविक" कार्यात्मक भाषाओं की तुलना में अधिक बोझिल तरीके से प्रोग्रामिंग के उस रूप का समर्थन करती हैं। आमतौर पर कार्यात्मक दृष्टिकोण के साथ हल की गई ये समस्याएं कोर इंजन कोड में नहीं हैं, न ही उस कोड में जो गेम में ही चलता है। कार्यात्मक कोडिंग उपकरण और ऑफ़लाइन डेटा प्रोसेसिंग (बेकिंग मॉडल और अन्य संपत्ति, उदाहरण के लिए) के लिए काफी फायदेमंद हो सकता है। यह भी तर्क है कि GPU प्रोग्रामिंग एल्गोरिदम कैसे लिखा जाता है, में बहुत ही कार्यात्मक है,
बेशक, यह अभी भी सबसे विशिष्ट परिस्थितियों के बाहर कार्यात्मक दृष्टिकोण से बचने के लिए सबसे अच्छा हो सकता है क्योंकि आप चाहते हैं कि ये ऑफ़लाइन उपकरण जितनी जल्दी हो सके। समानांतर भाषा में कार्यात्मक भाषाएं उत्कृष्ट होती हैं, जो कुछ समस्याओं के लिए अच्छा है, लेकिन हार्डवेयर से सार बहुत ही अयोग्य एकल-थ्रेडेड प्रदर्शन के लिए नेतृत्व करते हैं। (एलआईएसपी जैसी भाषाएं यहां अच्छी तरह से करती हैं क्योंकि वे शुद्ध कार्यात्मक नहीं हैं, और वास्तव में कॉमन एलआईएसपी बहु-प्रतिमान है।) एक गेम इंजन या संबंधित टूलकिट के लिए सबसे खराब चीज सामग्री पुनरावृत्ति के लिए एक अड़चन है। 5 मिनट (या आदर्श, निकट-तुरन्त) में जो किया जा सकता है उसे करने के लिए कलाकारों या स्तर के डिजाइनरों के घंटे लगते हैं जो बहुत सारी सुविधाओं के साथ एक फैंसी इंजन, बस बजट की वृद्धि के कारण कम गुणवत्ता वाले खेल या रद्द करने के लिए नेतृत्व करेंगे।