পিসি এবং এক্সবক্স 360 বিকাশের জন্য সি # দিয়ে কাজ করে এমন কোনও লুয়া এপিআই রয়েছে কি? [বন্ধ]


18

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


5
এক ধরণের ছোট্ট নিতপিক, তবে এটি লুয়া (একটি নাম), LUA নয় (একটি সংক্ষিপ্ত রূপ, বা আপনি চিৎকার করছেন)
আরসিআইএক্স

লুয়া "সম্পর্কে" পৃষ্ঠা থেকে: "লুয়া কেবলমাত্র সি এবং সি ++-তে নয়, ... ... সি # ... তে লিখিত প্রোগ্রামগুলি প্রসারিত করতে ব্যবহৃত হয়েছে" গুগল থেকে "সি # লুয়ায়" এর জন্য প্রথম ফলাফলটি গেমডেভ.নেট ( গেমদেব.ট. / রেফারেন্স / পার্টিক্যালস / পার্টিকেল 2275.asp ) এর একটি আকর্ষণীয় নিবন্ধ ছিল লুয়া উইথ সি ব্যবহার করে শিরোনাম।
রিভারব্লব

স্ক্রিপ্টিংয়ের জন্য প্রচুর .net ডেভস লোহা বা ত্বক ব্যবহার করে।
ছিড়ে ফেলেছে

উত্তর:


6

এটি হ'ল আমি আপনাকে নির্দেশিত করব (http://www.xnua.com/xna_lua_xnua), তবে এটি দীর্ঘদিন ধরে আপডেট হয়নি।

সি # হ'ল দুর্দান্ত ভাষা এবং এক অর্থে আপনার সি # গেমের মধ্যে একটি স্ক্রিপ্টিং ভাষা হিসাবে ব্যবহৃত হতে পারে। নিক গ্রেভেলিন টাইল ইঞ্জিন (http://blog.nickgravelyn.com/downloads/#tilengine) সম্পর্কে কিছু সুন্দর টিউটোরিয়াল তৈরি করেছেন এবং ডায়ালগ বন্ধ করার জন্য একটি কাস্টম স্ক্রিপ্টিং ইঞ্জিন ব্যবহার করেছেন। "ফলন" কীওয়ার্ড: http://blog.nickgravelyn.com/2010/02/the-magic-of-yeld/ সম্পর্কে জানতে পেরে তাঁর একটি প্রাথমিক উদাহরণও রয়েছে


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

^^ গেম ইঞ্জিন টুলসেট বিকাশ একটি দুর্দান্ত বই :)। এটি এখন কিছুটা পুরানো, তবে ধারণাগুলি এখনও শক্ত। .NET স্ক্রিপ্টিং ভাষার বাইন্ডিংগুলির সাথে সমস্যাটি হ'ল এক্সবক্স ৩ on০ চালানোর জন্য, তাদের প্রায়শই ব্যাখ্যা করা দরকার। System.Reflection.Emit ছাড়া আপনি কোড তৈরির পথে তেমন কিছু করতে পারবেন না। আমি এই ধারণার মধ্যে ছিলাম যে এই ক্ষমতাগুলি অদূর ভবিষ্যতে এক্সবক্স 360 এ আসবে, তবে নীচে আমার উত্তরে মন্তব্য আলোচনার ভিত্তিতে, সম্ভবত এটি ঘটেনি। সুতরাং, এক্সবক্স ৩ 360০-তে স্ক্রিপ্ট পারফরম্যান্স সম্ভবত এত দুর্দান্ত হবে না :(।
মাইক স্ট্রোবেল

@ কিউবেড 2 ডি: লুয়া গেমস স্ক্রিপ্টিংয়ের জন্য এক ধরণের শিল্প মান, এবং অ পেশাদার পেশাদারদের বুঝতে এটি আরও সহজ।
আরসিআইএক্স

@ আপনার অধিকারটি মাইক করুন, ৩ comp০-তে কোড সংকলন বা জেনারেট করতে পারেন i আমি যদি এটি বাস্তবায়ন করতে যাই তবে আমি কেবল # 360 স্ক্রিপ্টগুলিতে সমর্থন করব না, এবং কেবল এটি পিসি টুলসেট বৈশিষ্ট্য হিসাবে আছে have স্ক্রিপ্টস ফোল্ডারটি একটি 360 বিল্ডে অন্তর্ভুক্ত করার জন্য বনাম প্রকল্পটি সাম্প্রতিক করুন এবং একটি পিসি উপেক্ষা করুন। @ আরসিআইএক্স কেবল অন্য কারও জন্য এটি করার কারণেই আপনার বোঝা উচিত নয়। আপনি যদি Xna ব্যবহার করতে চান তবে এটি তার মূল্য থেকে বেশি ঝামেলা হতে চলেছে। লুয়া বাস্তবায়নের চেষ্টা করার জন্য নেট নেট ওয়ার্ল্ডে নন প্রোগ্রামারগুলিকে টিক্কেবল প্যারামিটারগুলি উন্মোচন করার আরও ভাল উপায় আছে (আমি আপনার নন-প্রো-প্রোগ্রামার মন্তব্যে কী অনুমান করছি)
কিউবেড 2 ডি

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

2

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


2

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

নোট: যেহেতু ElementCy নিচে রাজ্য, DLR ভাষায় সাধারণত উপর এক্সবক্স 360 সমর্থিত নয় তবে হয় একটি "ব্যাখ্যা মোড" DLR হবে। আমি এ সম্পর্কে নিশ্চিতভাবে বলতে যথেষ্ট জানিনা, তবে আয়রন পাইথন (বা অন্যান্য ডিএলআর ভাষা বাস্তবায়ন) এক্সবক্স ৩ on০ এ দোভাষী মোডে চালানো সম্ভব হতে পারে, যদিও পারফরম্যান্স অবশ্যই ক্ষতিগ্রস্থ হবে। ডিএলআর দলের কাউকে জিজ্ঞাসা করা মূল্যবান হতে পারে যে তারা এটি সম্ভব হতে পারে কিনা তা জানেন কিনা। যদি তা না হয় তবে এক্সবক্স ৩ 360০ এর প্রতিবিম্ব পাওয়া উচিত upcoming আসন্ন সিলভারলাইট সমর্থনের অংশ হিসাবে সমর্থন সমর্থন করুন। যদি এবং কখন এটি হয়, আমি কল্পনা করি যে ডিএলআরটি উঠবে এবং এক্সবক্স 360 এ চালানো কোনও সমস্যা হবে না।


4
কেবল আয়রন পাইথনের সমস্যা, এটি xbox360 এ চালিত হবে না। আপনি যদি এটি কেবল পিসির জন্য ব্যবহার করতে চান তবে এটি ঠিক আছে। আয়রন পাইটন সিস্টেম.প্রকাশন ব্যবহার করে a প্রচুর পরিমাণে প্রেরণ করুন এবং এটি এক্সবক্সের। নেট ফ্রেমওয়ার্কে উপলভ্য নয়।
এলিমেন্টসি

খুব ভাল পয়েন্ট। আপডেট করা হয়েছে।
মাইক স্ট্রোবল

2
ভাববেন না যে এক্সবক্সটি প্রতিবিম্বিত হচ্ছে soon শীঘ্রই যে কোনও সময় প্রবেশ করুন, উইনফোনের এক্সনা এবং সিলভারলাইট উভয়ই রয়েছে এবং সেই নামস্থানটি সমর্থন করে না
কিউবেড

1
আপনি সঠিক হতে পারে। ডাব্লুপি 7 আসলে সিলভারলাইট চালায় না, তবে "সিলভারলাইট মোবাইল কমপ্যাক্ট ফ্রেমওয়ার্ক", যা। নেট এর পরিবর্তে .NET সিএফ ভিত্তিক। আমি বিশ্বাস করি যে Xbox 360 এছাড়াও পূর্ণ .NET ফ্রেমওয়ার্কের পরিবর্তে নেট নেট সিএফ চালায়, তাই সম্ভবত এটি ডব্লুপি 7 এর অনুরূপ বাস্তবায়নের সাথে শেষ হবে। আচ্ছা ভালো.
মাইক স্ট্রোবল

2

আমি আপনাকে দিতে পারি সবচেয়ে ভাল সমাধান হ'ল কেবল # # তে স্ক্রিপ্ট। আপনি রানটাইমের সময় এগুলি সংকলন করতে পারেন যখন আপনি উইন্ডোজকে লক্ষ্য করে এবং এক্সবক্সের জন্য হাতের আগে তাদের সঙ্কলন করতে পারেন। (একটি dll হিসাবে)

এটিই হবে সহজ সমাধান। আপনি এটি VB.NET বা যে কোনও .NET ভাষায়ও করতে পারেন। (যদিও স্ক্রিপ্টিংগুলি সম্পর্কে নিশ্চিত নয়) মূলত, আমি বলছি যে আপনার স্ক্রিপ্টগুলি তাদের নিজস্ব dll তে আছে। আপনি এগুলি উইন্ডোজ চলাকালীন সময়ে সংকলন করতে পারেন। (আপনি কি সত্যিই তাদের xbox 360 এ এটি করতে চান? আপনি সেখানে আপনার গেমগুলি আপডেট করতে পারবেন না, কমপক্ষে আমি এটি মনে করি না)

আমি আপনার হতাশাকে বুঝতে পারি, আমি লুয়াটিও ব্যবহার করতে চেয়েছিলাম।

এর সংক্ষিপ্তসারটি হিসাবে: 1) এটি উইন্ডোজ 2 এ রানটাইম সময়ে তৈরি করুন) এক্সবক্স 360 এর আগে এটি তৈরি করুন

এটাই আমি সুপারিশ করি।


1
  1. লুয়া ইন্টারপ্রেটারটি এএফআইকে নিয়ন্ত্রণহীন, তাই আপনি এটি এক্সএনএ দিয়ে এক্সবক্সে কাজ করতে পারবেন না

  2. আপনি জিন্ট নামক জাভাস্ক্রিপ্ট ইন্টারপ্রেটার ব্যবহার করতে পারেন যা ডিএলআরের উপর নির্ভর করে না এবং এক্সবক্সে কাজ করে ( http://jint.codeplex.com/ )


আমি প্রথম পয়েন্টটি অসত্য বলেছি, যেহেতু এখানে বেশ কয়েকটি লিঙ্ক রয়েছে যেগুলিতে লুয়া <-> সি # রয়েছে।
কমিউনিস্ট হাঁস

আপনি কেবল এক্সবক্সে পরিচালিত কোড চালাতে পারেন। একটি লুয়া <-> সি # সেতু পরিচালনা করা কোড নয় যা আপনাকে লুয়াকে পরিচালিত কোড থেকে কল করতে দেয়; এমএস এটিকে XNA বা Xbox 360 OS এ অন্তর্ভুক্ত না করা পর্যন্ত আপনি এটি চালাতে পারবেন না।


0

কেবল এই প্রশ্নটি আপডেট করার জন্য, আমি শেষ দিনটি কিছু বিস্তৃত অনুসন্ধান করে কাটিয়েছি এবং আমি পেয়েছি যে ইউনিলুয়া (unityক্যের সাথে ব্যবহারের জন্য তৈরি, খাঁটি সি # বাস্তবায়ন) এক্সবক্সে লুয়া পাওয়ার জন্য সর্বোত্তম এবং কার্যকর বিকল্প। আমি এটিকে নামিয়ে দিয়েছি, সমস্ত ইউনিটির উপাদান বের করে দিয়েছি এবং এটি দুর্দান্ত কাজ করে works

আমি লুয়াস্টেটের জন্য [] অপারেটর এবং এই জাতীয় ওভারলোড করে লুয়ান্টারফেসে পাওয়া কিছু কার্যকারিতাও যুক্ত করেছি।

CFWLua

আমি আশা করি এটি কার্যকর ছিল।

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