ভূমিকম্প 3 ইঞ্জিন অধ্যয়ন করতে সহায়তার সংস্থান [বন্ধ]


14

কোয়েকের বাইরেও কোয়েস্ট 3 ইঞ্জিনের কোড অধ্যয়ন শুরু করার জন্য কি ভাল সংস্থান আছে (ম্যানুয়াল, টিউটোরিয়াল ইত্যাদি)?

আমি কীভাবে এটি শিক্ষামূলক উদ্দেশ্যে এবং সম্ভবত কিছু সংশোধন করতে পারে তার জন্য কীভাবে কাঠামোবদ্ধ তা জানতে আগ্রহী।

উত্তর:


13

সুতরাং, আপনার আইডি টেক 3- তে উইকিপিডিয়াটির নিবন্ধটি দেখে শুরু করা উচিত । এটি ব্রায়ান হুকের জিডিসির টক সংক্ষিপ্তকরণ এবং এলিমেন্ট 61 ব্লগে কিছু পুরানো স্টাফ দ্বারা বাড়ানো যেতে পারে । এগুলি ছাড়াও, আপনাকে যা যা চলছে তা পুনর্নির্মাণের জন্য পুরানো মোড টিউটোরিয়ালগুলি খুঁজে পেতে পারেন এমন কিছু গুছিয়ে যেতে হবে।

Ioquake3 বা আপনার কী আছে - এর পরিবর্তে আইডি থেকে মূল উত্স রিলিজ থেকে শুরু করার পরামর্শ দেব, সত্য কী ঘটছে তার প্রেক্ষাপটটি দেখার জন্য (ইঞ্জিনের অভ্যন্তরে কীভাবে ইনপুট পরিচালনা করা হয় এবং কীভাবে অন্তর্নিহিত ইভেন্টটি সাজানো হবে) কাঠামো ব্যবহার করা হয়, ইত্যাদি)।

আমি যখন এটির সাথে কাজ করছিলাম তখন কিছু মূল বিষয়গুলি আমাকে সাহায্য করেছিল:

  • সর্বদা একটি সার্ভার থাকে; ফ্রেম পরিচালনার শীর্ষে বসে ক্লায়েন্ট যুক্তি থাকতে পারে।
  • ইনপুটটি প্রথমে কনসোলের দিকে পরিচালিত হয়, যদি আগ্রহী হয়, তবে জিইআইআইতে, তারপরে যথাযথ গেমটিতে।
  • ইঞ্জিনটি নিজে ফাঁদ ফাংশন ব্যবহার করে গেম যুক্তি থেকে আলাদা (শক্ত!)। প্রকৃত ইঞ্জিন কোডটি সন্ধানের জন্য সিগেম দেখুন এবং প্রকল্পগুলি রেন্ডার করুন (যদি মেমরিটি পরিবেশন করে)।
  • গেম লজিক পুরোপুরি ভূমিকম্প 3 ভার্চুয়াল মেশিনে চলার জন্য লেখা যেতে পারে। নেটিভ ডলস পরিবর্তন ও ব্যবহার quake3.exe +set sv_pure 0 +set vm_game 0 +set vm_cgame 0 +set vm_ui 0করার সময়, ইঞ্জিনকে ভিএম কোডের পরিবর্তে দেশীয় কোড চালানোর অনুমতি দেওয়ার জন্য আপনাকে গেমটি চালাতে হবে ।
  • মেনু সিস্টেমের জন্য ইউআই হ'ল কাঠামো এবং কলব্যাকগুলির একটি অদ্ভুত, দুষ্ট, পাকানো স্ট্যাক। আপনি এটি ধাঁধা একবার ব্যবহারযোগ্য, কিন্তু এটি কিছু পরীক্ষা এবং ত্রুটি নিতে পারে। মনে রাখবেন, এটি একটি স্ট্যাক।
  • আপনি যদি নেটিভ .ডলসে কোড লিখছেন তবে মেমরি বরাদ্দ করতে নির্দ্বিধায়, C ++ এ লিখুন বা অন্য যে কোনও কিছু আপনার নৌকাকে ভাসিয়ে দেয়। আপনি এসটিএলও ব্যবহার করতে পারেন - আপনি সরাসরি ইঞ্জিনের সাথে ইন্টারফেস করেন সেখানে সি আইডিয়মগুলি কঠোরভাবে অনুসরণ করার কোনও কারণ নেই।

সহকর্মীর সাথে এর জন্য আমি কিছু ঝরঝরে জিনিস তৈরি করেছি:

  • কনসোল থেকে শেল কমান্ড কল করার জন্য সহজ কমান্ড-লাইন ইন্টারফেস এবং stdout / stderr স্ট্রিমগুলি কনসোলটিতে ফিরে যায় (কোয়েস কনসোল)।
  • রেকর্ডগুলি টানতে এবং প্রদর্শন করতে একটি এসকিউএল ডাটাবেসের সাথে ইন্টারফেস।
  • ক্লায়েন্ট হুডের উপর নমনীয় প্রদর্শন করার জন্য নমনীয় উইন্ডোটিং এবং উইজেট টুলকিট (বার চার্ট, পাঠ্য বাক্স, চিত্র বাক্স, প্রসঙ্গ মেনু, পুনরায় আকারযুক্ত উইন্ডোজ ইত্যাদি ব্যবহার করে)।
  • ধীর রকেট :)

ব্যক্তিগতভাবে, আমি দেখতে পেয়েছিলাম যে ইঞ্জিনটি সত্যই স্মার্ট জিনিসগুলির সত্যিকারের বোকা উপায়ে করা, সত্যই স্মার্ট উপায়ে করা বোবা জিনিস এবং সত্যই স্মার্ট উপায়ে করা স্মার্ট জিনিসগুলির দুর্দান্ত সংমিশ্রণ। এটি একটি মাঝারি-স্কেল সি প্রকল্পে মডুলারিটি এবং ভাল কাঠামোগত নকশা কীভাবে করা যায় তার একটি দুর্দান্ত উদাহরণ।

শেষ অবধি, কুঁচকে উঠতে কিছুক্ষণ সময় লাগলে খারাপ লাগবে না। ইঞ্জিনে আমি যা খুঁজছিলাম তা কোথায় পাওয়া যাবে তা জানতে সক্ষম হতে আমার এক মাস লেগেছিল; অন্য সমস্ত কিছু যদি ব্যর্থ হয় তবে অ্যাপ্লিকেশন আরম্ভ থেকে শুরু করুন এবং সাইনপোস্ট হিসাবে নিজের মন্তব্য রেখে কেবল ফাংশনগুলিতে টানেল করুন। আমার মনিটরটি ফাংশনটির নাম, লাইন নম্বর এবং তারা কী করেছে তার সংক্ষিপ্ত বিবরণ সহ গোলাপী পোস্ট-এর নোটগুলিতে coveredাকা পড়েছিল।


3

কোয়েট তৃতীয় অ্যারেনায় ফোকাস অন মোড প্রোগ্রামিংয়ে বইটি আপনাকে ক্লায়েন্ট এবং সার্ভারের যুক্তি যেভাবে ডিকোপল করা হয়েছে, ক্লায়েন্টের ভবিষ্যদ্বাণী, ক্লায়েন্টের পার্শ্ব গ্রাফিক্স প্রভাব ইত্যাদি বুঝতে সহায়তা করবে etc.


1

একেবারে।

http://en.wikedia.org/wiki/Quake_engine সেখানে কী রয়েছে তার একটি ভাল ওভারভিউ, তবে আপনি এর উদ্ধৃতিগুলির মাধ্যমে এর স্থাপত্যের বিশদটি সন্ধান করতে পারেন।

আমি গেম ইঞ্জিন আর্কিটেকচারের জন্য কয়েকটি বইয়ের পরামর্শ দিতে পারি যা আপনি যা খুঁজছেন তার সাথে সামঞ্জস্য হতে পারে। ভূমিকম্প নির্দিষ্ট না হওয়ার পরেও তারা ইঞ্জিন ডিজাইনের বিবরণে যায় এবং ভূমিকম্প ইঞ্জিনগুলির অনেক দিকের সমান্তরালে চলে:

  • 3 ডি গেম ইঞ্জিন আর্কিটেকচার - 978-0122290640
  • 3 ডি গেম ইঞ্জিন প্রোগ্রামিং - 978-1592003518

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.