मैं ऑफ़लाइन कौशल कैसे लागू कर सकता हूं


13

ऑफ़लाइन स्किलिंग का एक उदाहरण ईवई ऑनलाइन होगा। आपका चरित्र (पायलट) अनुभव प्राप्त करके कौशल हासिल नहीं करता है। इसके बजाय, आपका चरित्र एक कौशल के प्रति कौशल हासिल करता है जिसे आप प्रशिक्षण दे रहे हैं चाहे आप खेल में हों या बाहर। इसके अलावा, मैं पूरी तरह से निश्चित हूं कि गेम सर्वर के डाउन होने पर भी कौशल का निर्माण जारी है।

किसी के पास इस बारे में कोई व्यापक विचार है कि वे इस बारे में कैसे जाते हैं, या बेहतर अभी तक कैसे मैं इस तरह के खेल को लागू करने के बारे में जा सकता हूं जो मैं विकसित कर रहा हूं। मैं यहाँ एक विस्तृत विवरण की तलाश नहीं कर रहा हूँ (हालांकि मुझे आपको वापस रखने की अनुमति नहीं है), लेकिन मैं एक साइनपोस्ट की तलाश कर रहा हूं जो मुझे सही दिशा में इंगित करता है।

धन्यवाद!

जवाबों:


17

यह मानते हुए कि कौशल विकास नियतात्मक और काफी रैखिक है, आपको बस इतना करना है कि किसी प्रकार की वास्तविक घड़ी (जैसे सिस्टम घड़ी, या सर्वर घड़ी) में हुक करें, और गणना करें कि कौशल विकास में कितना समय रहा है।

दूसरे शब्दों में, जब कौशल विकास शुरू होता है, तो टाइमस्टैम्प लें और इसे स्टोर करें, और जब भी आप जांचना चाहें कि क्या कौशल में सुधार हुआ है, तो टाइमस्टैम्प की वर्तमान एक से तुलना करें, जांचें कि क्या डेल्टा पर्याप्त बड़ा है, और खिलाड़ी है एक नया कौशल


2
अचानक यह समझ में आता है कि वे आपको प्रशिक्षण को रोकने के लिए क्यों मजबूर करते हैं यदि आप अपने गुणों को बदलते हैं जो प्रशिक्षण की गति को प्रभावित करते हैं! क्योंकि वे आवश्यक डेल्टा की पुनर्गणना करते हैं ... बहुत बढ़िया, धन्यवाद!
ड्रीम लेन

5
@ ड्री लेन, किसी भी संभावित कम्प्यूटेशनल ओवरहेड को कम करने के लिए यह होगा। उपयोगकर्ता द्वारा लॉग ऑन करने पर केवल अर्जित कौशल / बिंदुओं को पुनर्गणना करें। तो हजारों लॉग ऑफ करने वाले लोग किसी भी ओवरहेड को अभ्यस्त नहीं करेंगे।
अटैकिंगहोबो

2

यदि कौशल का उपयोग तब तक नहीं किया जाएगा जब तक कि खिलाड़ी ऑनलाइन वापस नहीं हो जाता है, तो आप कतार में किसी भी कौशल पर लॉग-ऑफ समय और शेष समय स्टोर कर सकते हैं, और फिर जब खिलाड़ी कुछ इस तरह से लॉग इन करता है:

timeRemaining = currentTime - logoutTime
while ( timeRemaining > 0 and hasQueuedSkill() ) {
     skillTime -= timeRemaining
     if ( skillTime <= 0 ) {
           popSkill()
           timeRemaining = -skillTime
     }
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.