আপনি কীভাবে কোনও খেলায় স্ক্রিপ্টিং ভাষা যুক্ত করবেন?


25

ধরা যাক আমার সি ++ তে একটি গেম লেখা আছে। তবে আমি এটিতে কিছু পরিবর্তন বা স্ক্রিপ্টিং কার্যকারিতা যুক্ত করতে চাই। কীভাবে কেউ আপনার খেলায় স্ক্রিপ্টিং কার্যকারিতা যুক্ত করতে যায়?


সবচেয়ে জনপ্রিয় ভাষা: দেখুন অ্যাপ্লিকেশন Lua (প্রোগ্রামিং ভাষা) এবং অ্যাপ্লিকেশন Lua (প্রোগ্রামিং langugae) - সি এপিআই উদাহরণ: : আইবিএম এই একটি মহান নিবন্ধ রয়েছে এমবেডিং Lua
তামারা Wijsman

সঠিক পদক্ষেপগুলি আপনি যে ভাষাটি যুক্ত করতে চান তার উপর ব্যাপকভাবে নির্ভর করে। কটাক্ষপাত আছে gamedev.stackexchange.com/questions/11/...
tenpn

উত্তর:


27

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

আপনি কীভাবে স্ক্রিপ্টিংটি ব্যবহার করতে চান তা জানার পরে, আপনি এখনই সিদ্ধান্ত নিতে হবে যে আপনি কোনও বিদ্যমান স্ক্রিপ্টিং ভাষা বা আপনার নিজস্ব ডোমেন-নির্দিষ্ট ভাষা ব্যবহার করছেন কিনা । আজ বিভিন্ন স্ক্রিপ্টিং ভাষা রয়েছে যা বিভিন্ন ডিজাইনের লক্ষ্য এবং লক্ষ্য শ্রোতাদের সাথে বেছে নিতে পারে, তাই আমি নিশ্চিত নই যে এটি নিজের নিজের তৈরি করার মতো কিনা। যদি আপনি নিজের প্রয়োগ করার সিদ্ধান্ত নেন তবে এখানে কিছু সংস্থান রয়েছে:

লুয়া হ'ল একটি জনপ্রিয় লাইটওয়েট এবং এম্বেড করার জন্য সহজ স্ক্রিপ্টিং ভাষা। এটি হোস্ট এবং এম্বেড থাকা ভাষার মধ্যে যোগাযোগের জন্য একটি স্ট্যাক ব্যবহার করে এবং এটি অনেক পেশাদার গেমগুলিতে সাফল্যের সাথে ব্যবহৃত হয়েছিল । সোল 2 লুয়া এবং সি ++ বাঁধাইয়ের প্রক্রিয়াটিকে সহজ করে। আপনি যদি লুয়ার বাক্য গঠনকে পছন্দ করেন না তবে মুনস্রিপ্ট এমন একটি ভাষা যা লুয়ার সাথে সংকলন করে এবং বৈশিষ্ট্যগুলির একটি দুর্দান্ত সেট যুক্ত করে।

অন্যান্য বিকল্পের মধ্যে অ্যাঞ্জেলকোড অন্তর্ভুক্ত রয়েছে , যা আপনাকে সরাসরি সি এবং সি ++ ফাংশনগুলিতে কল করতে দেয়। পাইথন এবং রুবি একটি বিট আরো এম্বেড করার জটিল, কিন্তু মধ্যে প্রোগ্রাম খুব আরামপ্রদ। আপনি এম্বেড পাইথন চান, তাহলে কটাক্ষপাত করা Boost.Python । ব্রাউজারগুলির জন্য উন্নত দ্রুত স্ক্রিপ্টিং ইঞ্জিনগুলির সুবিধা নিতে জাভাস্ক্রিপ্ট এম্বেড করছে ( ভি 8 এবং স্পাইডারমোনকি দেখুন )।


2
আমি আমার বর্তমান গেম প্রকল্পের জন্য একটি স্ক্রিপ্টিং ভাষা প্রয়োগ করেছি এবং প্রাথমিক সুবিধাটি ভাষা আদিমদের উপর সম্পূর্ণ নিয়ন্ত্রণ। প্রাক-বিল্ট স্ক্রিপ্টিং সমাধানগুলি জেনেরিক এবং আপনার প্রদত্ত সমস্ত বৈশিষ্ট্য আপনার প্রয়োজন নাও হতে পারে। আপনার নিজের ভাষা ঘূর্ণায়মান সম্পর্কে আপনার একেবারেই ভাবা উচিত নয় যদি না আপনি নিশ্চিত হন যে আপনি কোনও বিদ্যমান সমাধানের চেয়ে আপনার গেমের পক্ষে আরও ভাল কিছু তৈরি করতে পারেন।
জন পুর্ডি

ব্যক্তিগতভাবে আমি গিলি পছন্দ করি , এটি সি এর সাথে দুর্দান্ত একীকরণ করেছে কেবল সমস্যাটিই গতি, তবে পরবর্তী কয়েক মাসের মধ্যে 2.0 রিলিজের সাথে এটিরও উন্নতি হওয়া উচিত।
জো ডি

দুর্দান্ত উত্তর। প্রথম অনুচ্ছেদটি সংক্ষেপে বলা যেতে পারে "গেম বিকাশকারীরা এমন একটি এপিআই তৈরি করে যা সামগ্রীতে ব্যবহৃত হয়।"
ashes999

কাস্টম ভাষার (স্ক্রিপ্টিং বা অন্যথায়) জেনেরিক শব্দটি ডিএসএল, এটি আপনি পড়তে চান কিনা তা জানতে সাহায্য করতে পারে।
প্যাট্রিক হিউজেস

2

আমি এখানে ড্রাগনফায়ার এসডিকে ব্যবহার করে গেমমনকি স্ক্রিপ্ট এম্বেড করার বিষয়ে একটি পোস্ট লিখেছি ।

মূলত ধারণাটি হল আপনার সি \ সি ++ ফাংশনগুলি আপনার নির্বাচিত স্ক্রিপ্টিং ভাষায় প্রকাশ করা এবং সেগুলি আপনার স্ক্রিপ্ট থেকে ব্যবহার করা। আমার টিউটোরিয়ালে, আমি ড্রাগনফায়ার এসডিকে থেকে 2 টি ফাংশন প্রকাশ করেছি। গেম শুরু করার সময়, আমি স্ক্রিপ্ট থেকে অন স্টার্ট ফাংশন এবং আপডেটে কল করি, আমি স্ক্রিপ্ট থেকে অন টাইমার ফাংশন কল করি।

আশা করি এইটি কাজ করবে!


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