আমি প্রায় 2 মাস আগে আপনার পর্যায়ে থেকে আমি একটি সঠিক উত্তর লিখব।
আমি খুব সাধারণ গেম ইঞ্জিনটি লিখতে শুরু করি যাতে আমি ওপেনএল 3.x আরও ভাল শিখতে পারি তবে যেহেতু আমার অনভিজ্ঞতা এবং 3 ডি গেমটি কীভাবে ডিজাইন করা উচিত তা সম্পর্কে আমার স্পর্শ জ্ঞান যেহেতু আমি সাধারণত এমন সমস্যায় পড়ি যেখানে আমি বুঝতে পারি যে আমার ক্লাসগুলি ডিজাইন করা উচিত ছিল ভিন্নভাবে।
এটি সম্পর্কে চিন্তা করবেন না। আপনার অভিজ্ঞতার অভাবের সাথে আপনি কখনই ইঞ্জিনে প্রদত্ত শ্রেণীর ব্যবহারের সমস্ত সম্ভাবনা এবং উপায়গুলি সম্পর্কে কখনই ভাবতে পারবেন না। ক্লাসের প্রধান বৈশিষ্ট্যগুলি বিবেচনা করে, এটি বাস্তবায়ন এবং পরে পুনর্গঠন করা ভাল তবে সেরা। জিনিসগুলিকে উড়িয়ে দেওয়ার চেষ্টা করবেন না, আপনি এই পর্যায়ে আপনার সময় নষ্ট করবেন। আমার প্রথম খেলাটি একটি সম্পূর্ণ জগাখিচুড়ি ছিল, আমি নিশ্চিত এটি বেশিরভাগ মানুষের ক্ষেত্রেই ছিল।
অন্যান্য সমস্যার মুখোমুখি হ'ল কীভাবে গেমটিতে সংক্ষিপ্ত পদ্ধতিতে সময়ের ট্র্যাক রাখতে হবে এবং প্রয়োজন অনুসারে গতিবিধির আপডেট করতে হবে এবং কীভাবে রেন্ডারকে এটি বলতে হবে যে এটি পুনরায় চিত্রিত করা দরকার।
আপনার যা দরকার তা হ'ল গেম লুপটি কী। এটি শুরু করার জন্য একটি ভাল জায়গা। আপনি পদার্থবিদ্যাকে পরিচালনা করার মতো আরও জটিল কোড লিখতে শুরু করার পরে আপনি ভেরিয়েবল ফ্রেমের সময়গুলির সাথে লুপগুলি বিবেচনা করতে চাইতে পারেন, তবে ছোট শুরু করতে পারেন। একটি সাধারণ স্থির ফ্রেমের গেম লুপ আপাতত আপনার জন্য যথেষ্ট।
এছাড়াও আমি এক জিনিস থেকে অন্য বস্তুতে বিভিন্ন পতাকা পাস করার জন্য গেট অ্যান্ড সেট ফাংশন করা প্রয়োজন, এটি কি খারাপ অভ্যাস?
এটি একটি সফ্টওয়্যার ইঞ্জিনিয়ারিং প্রশ্ন বেশি। সময়ের সাথে আপনি দেখতে পাবেন যে আপনাকে কোন ডেটা সুরক্ষিত করতে হবে এবং কোনটি নিরাপদ। এটি সর্বাধিক সেরা যদি আপনি কেবল একটি বৈশিষ্ট্য প্রয়োগ করেন এবং তারপরে যা প্রকাশিত হয় না তা দেখতে এবং পাবলিক ডেটা হিসাবে গণ্য করা যায়।
এটি সব অভিজ্ঞতার বিষয়। আপনি একটি ক্যামেরা ক্লাস লিখবেন, তারপরে আপনি রূপান্তর ম্যাট্রিক্সের পাশে এটি থেকে কী কার্যকারিতা চান তা আপনি দেখতে পাবেন। আপনি যদি কোনও তাত্ক্ষণিক টিপস চান তবে আমাকে বলতে হবে, খালি হাড়গুলি প্রয়োগ করুন, পরে প্রসারিত করুন।
নিবন্ধ এবং বই:
এই বইগুলি আধুনিক গেম ইঞ্জিন এবং পাইপলাইনগুলির স্থাপত্য সম্পর্কে আলোচনা করে। অন্তর্নিহিত প্রযুক্তি সম্পর্কে তারা আপনাকে একটি ভাল ধারণা দেবে give আমি আপনাকে প্রথম বইটি বাছাই করতে চাই যদি এটি বেছে নিতে হয় তবে এটি নির্দিষ্ট প্রযুক্তির দিকে কম "পক্ষপাতদুষ্ট", যদিও শেষ পর্যন্ত আপনি সম্ভবত উভয়ের মধ্য দিয়ে যেতে চান কারণ তারা জ্ঞানের দুর্দান্ত উত্স।
http://www.amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135
http://www.amazon.com/Game-Coding-Complete-Third-Edition/dp/1584506806
http://ogldev.atspace.co.uk/index.html
http://www.arcsynthesis.org/gltut/index.html
http://www.opengl.org/sdk/docs/man3/
http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/glsl-core-tutorial-index/
http://www.opengl.org/sdk/docs/manglsl/
http://www.peroxide.dk/papers/collision/collision.pdf
(আমি এটি লিঙ্ক করছি কারণ 3 ডি সংঘর্ষ সনাক্তকরণ কীভাবে সঠিকভাবে করা যায় তার নিবন্ধগুলি খুঁজে পাওয়া আমার পক্ষে কঠিন মনে হয়েছিল))
আরও বই রয়েছে, তবে আপনি এটি (বিশেষত গেম ইঞ্জিন আর্কিটেকচার) দিয়ে শেষ করার পরে আপনি কী চান তা আরও ভালভাবে জানতে পারবেন।
বিটিডব্লিউ, আমি এখনও ফ্রিগ্লুট ব্যবহার করছি, আপনি কি অগ্রগতি করার আগে বা ওপেনএল-এর আরও ভাল উপলব্ধি পাওয়ার পরে আমি আরও ভাল উইন্ডোটিং সিস্টেমে চলে যাওয়ার পরামর্শ দেব?
উইনাপি, যদি আপনি মনে করেন যে আপনার কাছে উইন্ডোজ প্রোগ্রামিং শিখার জন্য সময় এবং ইচ্ছা আছে (যদি আপনি উইন্ডোজের জন্য বিকাশ করছেন)। FreeGLUT শেখার জন্য ঠিক আছে, তবে পরিণামে আপনি আরও কার্যকারিতা চাইবেন। যদিও, আপনি যদি পুরোপুরি অন্য রুটে যেতে চান তবে আপনি এসএফএমএল বা এসডিএলের মতো লাইব্রেরি সহ ওপেনজিএল চালু করতে পারেন। আপনি আমার মতো অনড় না হলে FreeGLUT দিয়ে থাকুন। আমি সোজা উইনাপির জন্য গেলাম।