আমি আমার গেম ইঞ্জিনটি সি ++ এ তৈরি করছি এবং আমি বর্তমানে কোন ইউজার ইন্টারফেসটি ব্যবহার করব সে বিষয়ে সিদ্ধান্ত নিচ্ছি।
আমার কি লাইব্রেরি ব্যবহার করা উচিত? আমার নিজের করা উচিত?
আমি আমার গেম ইঞ্জিনটি সি ++ এ তৈরি করছি এবং আমি বর্তমানে কোন ইউজার ইন্টারফেসটি ব্যবহার করব সে বিষয়ে সিদ্ধান্ত নিচ্ছি।
আমার কি লাইব্রেরি ব্যবহার করা উচিত? আমার নিজের করা উচিত?
উত্তর:
প্রকৃতপক্ষে, কিউটি উইজেটগুলি ওপেনজিএলের সাথে সংহত করা যায় এবং ওপেনজিএল সহজেই কিউটি (কিউজিএল উইজেট) এর সাথে সংহত করা যায়। অবশ্যই, প্ল্যাটফর্মের নেটিভ লুকিং উইজেটগুলি আপনি যা খুঁজছেন ঠিক তেমনটি নাও হতে পারে, তবে চিন্তা করবেন না, এগুলিকে কাস্টমাইজ করার, নিজের তৈরি করার বা অন্য কোনও কিছু ব্যবহার করার উপায় রয়েছে যা আপনার প্রয়োজন অনুসারে আরও ভাল মানায়, যেমন কিউটি কুইক (যা কোনটি) আপনার পাশাপাশি সংহত করতে সক্ষম হওয়া উচিত)।
আপনি যদি আগ্রহী হন তবে এই লিঙ্কগুলি মিস করবেন না : উইজেটগুলি তৃতীয় মাত্রায় প্রবেশ করে: ওলফেনকিউটি এবং ওপেনগিএল দ্বারা আপনার উইজেটগুলি ত্বরান্বিত করবে
আপনার নিজের লেখা উচিত বলে আমি মনে করি না, গেম ইঞ্জিন তৈরির কাজটি নিজে থেকেই এত বিশাল,
একটি গেম ইঞ্জিনের জন্য আমি একটি তাত্ক্ষণিক মোড জিইউআইতে যাব। এখানে আরও তথ্য: http://www.mollyrocket.com/forums/viewtopic.php?t=134
মূল ধারণাটি হ'ল উপাদানটি আঁকতে এবং একই সাথে মিথস্ক্রিয়াটি নিয়ন্ত্রণ করতে:
if (button(id, position, size))
{
button_was_pressed();
}
এক হিসাবে, Unক্য একই ধারণা ব্যবহার করে।
আপনি এনভিআইডিআইএ দ্বারা একটি বাস্তবায়ন পেতে পারেন, যা তাদের ডেমোতে ব্যবহৃত: http://code.google.com/p/nvidia-widgets/
ব্যক্তিগতভাবে, আমি সিইজিইউআই সুপারিশ করব । এটি ওপেন সোর্স এবং বেশ ভাল। যাইহোক, আপনাকে যা মনে রাখতে হবে তা হ'ল আপনি হাত দিয়ে সবকিছু লিখলে এটি খুব, খুব ভার্জোজ হতে পারে।
তবে, প্লাস দিকে, এটি ওপেনজিএল এবং ডাইরেক্টএক্স উভয়ের জন্য উপস্থাপক রয়েছে। আমি সাধারণত যে টেম্পলেটটি ব্যবহার করি এটির উপরে রাখতে সক্ষম হয়েছি, যা সরাসরি কোনও ভিবিও (এটি হ্যাকির মতো) ব্যবহার করে কোনও টেক্সচারে লিখে।
প্রশ্নে থাকা খেলাটি একটি নেটওয়ার্কিং কার্যের জন্য ছিল। লবি সহ একটি নেটওয়র্ক খেলা ছিল The আমি জানতাম যে লবিটি তৈরির জন্য ঘাড়ে ব্যথা হতে চলেছে, তাই আমি একটি লাইব্রেরি বাছাই করেছি যা এটি বেশিরভাগ ক্ষেত্রে করেছিল আমার জন্য।
বেশিরভাগ জিইউআই লাইব্রেরিগুলির সমস্যা (কিউটি সম্ভবত সর্বাধিক জনপ্রিয় সি ++ এক যা কেবল উইন্ডোজ-কেবল নয়) এটি হ'ল বেশিরভাগ কোনও ইঞ্জিনের মধ্যে ভালভাবে সংহত হয় না। Gতিহ্যগতভাবে একটি জিইউআই অ্যাপ্লিকেশনে, জিইউআই লাইব্রেরি মূল লুপটি নিয়ন্ত্রণ করে এবং আপনি কেবল ইভেন্টগুলিতে কলব্যাকগুলি সজ্জিত করেন। গেম ইঞ্জিনে আপনি সাধারণত লুপটি নিয়ন্ত্রণ করতে চান, তাই এটি সর্বোত্তম কৌশলযুক্ত হতে পারে। সম্ভবত আপনি এমন কোনও সন্ধান করছেন যা কেবল অঙ্কন নিয়ন্ত্রণ এবং ডায়লগগুলি পরিচালনা করবে এবং এমন কোনও 3D প্রসঙ্গে যা আপনি এটি পাস করবেন? এগুলি খুঁজে পাওয়া অনেক কঠিন হতে পারে: - /
আপনার নিজের লেখায় আমি দৃ strongly় বিশ্বাস করি তবে তারপরে আবার আমি খুব পুরাতনস্কুল। আপনি চাইলে আমাকে বাদাম চালাতে চান এমন একটি কাজ করার জন্য আরেকটি জিইউআই লিবের সাথে লড়াই করা এই বিষয়টিতে যুক্ত হয়েছে যে বেশিরভাগ গেমের জিইউআই যথেষ্ট নগণ্য তাই আপনাকে এমডিআই এবং সুপার ওও ডিজাইনে অল-আউট যেতে হবে না where বোতামগুলিতে স্ক্রোলভিউ থাকতে পারে যা হাইলাইট করার সময় থাম্ববল থম্বস সহ চেকবক্সের পাশে কোনও টাস্কবারের ওপরে ঘুরে দেখা যায় - বা এর মতো কিছু। আমি অনুমান করি বিভিন্ন ভাবার জন্য বিভিন্ন স্ট্রোক।
অনুসন্ধানের উপযুক্ত হতে পারে এমন একটি বিকল্প হ'ল আপনার ব্যবহারকারী ইন্টারফেসগুলি রেন্ডার করতে ওয়েবকিট ব্যবহার করা এবং সিএসএস / এইচটিএমএল / জাভাস্ক্রিপ্ট সহ আপনার সমস্ত ইউআই করা।
এখানে একটি মুক্ত উত্স বাস্তবায়ন (বার্কেলিয়াম) , এবং এখানে একটি বদ্ধ উত্স, বাণিজ্যিক বাস্তবায়ন (অ্যাভোসোমিয়াম)
আমি আইইউপি - পোর্টেবল ইউজার ইন্টারফেসের পরামর্শ দেব: http://www.tecgraf.puc-rio.br/iup/
আমি এটি কেবল লুয়া প্রোগ্রামিং ভাষার সাথেই ব্যবহার করেছি তবে এটি ব্যবহার করা খুব সহজ ছিল। এটি কেবল সি, এলইডি এবং লুয়া স্বাদে আসে তবে আপনি সহজেই এর জন্য একটি মোড়ক তৈরি করতে পারেন।
আমি আমার গেম প্রকল্পে ব্যক্তিগতভাবে সিইজিইউআই ব্যবহার করছি এবং এটি একটি দুর্দান্ত দৃ solution় সমাধান। সমস্যাটি হ'ল, কখনও কখনও এটি আপনার ক্ষতিকারক ফাইলগুলিকে ছোট্ট করে ফেলার মতো মনে হয়।
আমি এটি ব্যবহার করি নি, তবে লাইব্রোকট পুরোপুরি ফ্রি হয়ে গেছে, সমস্ত লাইসেন্সের ফিগুলি সরিয়েছে এবং কী নয়। এই lib সম্পর্কে দুর্দান্ত অংশটি হ'ল আপনি এটিকে এইচটিএমএল / সিএসএস সিন্টেক্সে লিখেছেন। http://librocket.com
কেবল একটি আকর্ষণীয় পরামর্শ উত্থাপন করুন, যদি উইন্ডোজের জন্য গেমটি বিকাশ করা হয় তবে উইন 32 এপিআই ব্যবহার করুন। কেবলমাত্র সাধারণ উইন্ডো নিয়ন্ত্রণগুলি ব্যবহার করুন (আমি এটিএল / ডাব্লুটিএল লাইব্রেরিগুলি ব্যবহার করার পরামর্শ দিই) তবে তাদের মালিককে আঁকতে সক্ষম করুন।
প্রথম অবাস্তব টুর্নামেন্টের খেলায় আমি এই কৌশলটি ব্যবহার করতে দেখেছি, প্রকাশ্যে প্রকাশিত শিরোনামগুলি দেখেছি (মোড নির্মাতাদের জন্য)।
এটি করার অন্যতম মূল সুবিধা হ'ল আপনার উইন্ডোজ ইউআই অবকাঠামো সম্পূর্ণরূপে পরিচালনা করার পাশাপাশি কীবোর্ড পুনরাবৃত্তি হার, মাউস সংবেদনশীলতা, ডাবল ক্লিকের গতি এবং অন্যান্য কাজের জন্য ব্যবহারকারীর পছন্দগুলি বজায় রাখা। এছাড়াও আপনি যদি নিয়ম মানেন তবে ইন্টারফেসটি দ্রুত এবং ঝাঁকুনি মুক্ত হবে।
ত্রুটিগুলি হ'ল আপনাকে এখনও উইন্ডোগুলি নিয়ন্ত্রণের জন্য মালিকানা আঁকতে সাবক্লাস করার জন্য কিছু কোড লিখতে হবে যাতে আপনি তাদের নিজের গ্রাফিক্স এবং এফেক্টগুলি প্রয়োগ করতে পারেন।
এটি একটি ধারণা হিসাবে ফেলে দিচ্ছি।