আপনার উল্লেখ করা এই পদক্ষেপগুলি সম্ভবত পৃথক ইঞ্জিনে সম্পন্ন হয়। এটি কেবল সাধারণ গেম ইঞ্জিনগুলিতে সাধারণত একটি পাসে থাকে। আপনার ক্রম
for each object
do physics
do game logic
draw
হয়ে
call physics subsystem
call game logic subsystem
call drawing subsystem
পদার্থবিজ্ঞান ইঞ্জিন অবস্থান এবং আকারগুলির যত্ন নেয়।
গেম লজিক ইঞ্জিন ফিজিক্স ইঞ্জিনটি কী বদলেছে (তার কিছু উপায়গুলি বাধা দিতে পারে ...), কী লক্ষ্য অক্ষর রয়েছে এবং তাদের কী আচরণ করা উচিত তা ব্যাখ্যা করার যত্ন নেয় , তিনি নির্ধারিত স্ক্রিপ্টগুলি চালান (এই থিং ফাংশন)।
অঙ্কন ইঞ্জিনটি কোন বস্তুগুলি দৃশ্যমান তা আঁকায় এবং কী কী বস্তুগুলি দৃশ্যমান তা তিনি জানেন কারণ কোপোন ইঞ্জিনগুলি এখানে ধরণের প্রতারণা করে (অঙ্কিত বিভাগটি দেখুন)।
আপনাকে আমার পরামর্শ হ'ল গেম ইঞ্জিনগুলির পরিবর্তে সিমুলেশনগুলি কীভাবে করা হয় তা অধ্যয়ন করা। গেম ডেভেলপমেন্ট সম্পর্কিত একটি বিশাল পপ-সংস্কৃতি রয়েছে এবং গেম ইঞ্জিনগুলি বাধ্যতামূলক ভাষায় তৈরি করা হয় (traditionতিহ্য এবং গতির কারণে); সুতরাং আমার কাছে ভাল পাঠ্যপুস্তকগুলি (বরং তত্ত্ব) পাওয়া এবং ইঞ্জিনগুলি (অনুশীলন) দেখার চেয়ে ইঞ্জিনগুলি এবং ধাঁধাটি কীভাবে তারা এটি করেছিলেন তা দেখার চেয়ে আমি আরও আলোকিত করেছিলাম।
পদার্থবিদ্যা
সমস্ত সত্ত্বা পুনরাবৃত্তি এবং {মনে করি, আঁকুন do এর সম্পূর্ণ ধারণা সম্ভবত সমস্যার কারণ হতে পারে। দ্বন্দ্ব ইত্যাদি থাকবে। আমি ভালভের হাভোককে বিশ্বাস করি এবং আমার ধারণা হ্যাভোক পর্যাপ্ত-সঠিক পদার্থবিদ্যার যত্ন নেয়।
মনে
যখন গেমের একটি সময় পরের লিঙ্কের সময়ের সমান হয় তখন থিঙ্ক ফাংশনটি চালিত হয় । এটি কোয়েট ইঞ্জিনে এইভাবে কাজ করে এবং হাফ লাইফ ইঞ্জিনগুলির জন্য কোয়েট ইঞ্জিন ভিত্তি। এটি প্রতিবার চালানো হয় না।
অভ্যন্তরীণভাবে এটি সত্ত্বার তালিকার মাধ্যমে একটি সাধারণ পুনরাবৃত্তি হওয়া উচিত এবং থিং ফাংশন কল করতে সময় পেরিয়ে গেছে কিনা তা পরীক্ষা করা উচিত। সময়ের জটিলতা ও (এন) হবে, যেখানে এন সংখ্যার সংখ্যা।
খুব বড় সংখ্যক সত্ত্বা থাকলে আপনার fps কে কতটা উন্নতি করা হবে তা পরিমাপ করা উচিত। দ্রষ্টব্য, Amdahl এর আইনের কারণে এটি সম্ভাব্য অদৃশ্য স্পিডআপ। আমি বলতে চাইছি, আপনি কেবল সমস্ত আইটেমটি গর্তে পুনরাবৃত্তি করুন এবং একটি সংখ্যা হ্রাস এবং চেক করুন।
আমি এটিকে সুনির্দিষ্টভাবে নেক্সটথিংকের মাধ্যমে সারণি বাছাই করব (সত্তাগুলির পয়েন্টারগুলির তালিকা তৈরি করুন এবং এটি প্রতিটি সময় সাজান; সত্ত্বার অ্যারে নয়, কারণ সত্তা যে কোনও সময় তাদের পরবর্তী তৃতীয় স্থান পরিবর্তন করতে পারে, সুতরাং অ্যারেগুলিতে পুনরায় বিন্যাস করা O এর পরিবর্তে O (N) নেবে ( 1) তালিকায়)।
আপনার লিনাক্সের ও (1) সময়সূচীর দিকেও নজর দেওয়া উচিত ।
আঁকা
ইঞ্জিনটি এমন কোনও অঞ্চল থেকে দৃশ্যমান যা ক্যামেরা রয়েছে তা আঁকবে। গেম স্তরটি একটি গাছে বিভক্ত হয় এবং একটি অঞ্চল সেই গাছের পাতা। আমি আপনাকে এটি সম্পর্কে বিশদ দিয়ে বিরক্ত করব না ... সুতরাং কোনও সত্তা যদি দৃশ্যমান হয় তবে এটি দৃশ্যমান সত্তার একটি সেটতে স্থাপন করা হবে এবং সেগুলি আঁকবে।
তারা কোন অঞ্চলগুলি সম্ভাব্য দৃশ্যমান অঞ্চলগুলি সংরক্ষণ করে। একে বলা হয় "সম্ভাব্য দৃশ্যমান সেট", সংক্ষেপে পিভিএস । নেই PVS কল্পনা , সবুজ ক্যাপসুল খেলোয়াড় এবং তার চারপাশে পেশ করা হয়েছে তার PVS ধারণ করে।
<some commercial engine>
তা বিবেচনা করে?