मैं इस बारे में सोच रहा हूं कि आमतौर पर खेलों में हेरफेर करने वाले तंत्र को किस तरह से डिजाइन किया जाता है। मैं विशेष रूप से समय उलटने (नवीनतम SSX या फारस के राजकुमार की तरह) में दिलचस्पी रखता हूं।
खेल एक 2 डी शीर्ष नीचे शूटर है।
मैं जिस तंत्र को डिजाइन / कार्यान्वित करने की कोशिश कर रहा हूं, उसकी निम्नलिखित आवश्यकताएं हैं:
1) खिलाड़ी चरित्र के अलावा संस्थाओं के कार्य पूरी तरह से निर्धारक हैं।
- एक इकाई जो कार्रवाई करती है, वह स्क्रीन पर स्तर शुरू होने और / या खिलाड़ी की स्थिति के बाद से फ़्रेम पर आधारित होती है
- स्तर के दौरान निर्धारित समय पर संस्थाओं को स्थान दिया जाता है।
2) वास्तविक समय में उलट-पलट कर समय उल्टा काम करता है।
- खिलाड़ी के कार्यों को भी उलट दिया जाता है, यह खिलाड़ी द्वारा किए गए प्रदर्शन के विपरीत होता है। रिवर्स समय के दौरान प्लेयर का कोई नियंत्रण नहीं है।
- बिताए गए समय की कोई सीमा नहीं है, हम अगर चाहते हैं तो स्तर की शुरुआत में सभी तरह से उलट कर सकते हैं।
उदहारण के लिए:
फ्रेम्स 0-50: प्लेयर इस समय में 20 यूनिट फाउन्ड करता है। फ्रेम 1 पर दुश्मन 1 बार घूमता है 20 दुश्मन 1 मूव्स फ्रेम के दौरान 10 यूनिट बचे, 30-40 प्लेयर फ्रेम पर गोली चलाता है। बुलेट 45 बुलेट 5 फॉवर्ड (45-50) में सफर करता है और एनल्स 1 को मारता है फ्रेम 50
इसे उलटने से वास्तविक समय में वापस चला जाएगा: खिलाड़ी इस समय 20 इकाइयों को पीछे ले जाता है। शत्रु 1 फ्रेम पर घूमता है 50 बुलेट फ्रेम में 50 बुलेट पीछे की ओर 5 गोली चलती है और गायब हो जाती है (50-45) शत्रु चालें 10 (40-30) को छोड़ देती हैं। फ्रेम 20।
बस आंदोलन को देखते हुए मुझे इस बारे में कुछ विचार थे कि इसे कैसे प्राप्त किया जाए, मैंने एक ऐसे इंटरफ़ेस के बारे में सोचा, जो उस समय के लिए व्यवहार को बदल रहा था या आगे बढ़ा रहा था। ऐसा कुछ करने के बजाय:
void update()
{
movement += new Vector(0,5);
}
मैं ऐसा कुछ करूंगा:
public interface movement()
{
public void move(Vector v, Entity e);
}
public class advance() implements movement
{
public void move(Vector v, Entity e)
{
e.location += v;
}
}
public class reverse() implements movement
{
public void move(Vector v, Entity e)
{
e.location -= v;
}
}
public void update()
{
moveLogic.move(new vector(5,0));
}
हालांकि मुझे एहसास हुआ कि यह इष्टतम प्रदर्शन बुद्धिमान नहीं होगा और जल्दी से और अधिक अग्रिम कार्यों के लिए जटिल हो जाएगा (जैसे घुमावदार पथों के साथ चिकनी आंदोलन)।