আমার কি মোবাইল ডিভাইসে গেম যুক্তির জন্য লুয়া ব্যবহার করা উচিত?


33

সত্যিই উপরে হিসাবে,

আমি আমার অল্প সময়ে অ্যান্ড্রয়েড ভিত্তিক গেমটি লিখছি (অ্যান্ড্রয়েড এটি নিখরচায় এবং বাণিজ্যিক কিছু করার কোনও বাস্তব আকাঙ্ক্ষা নেই)।

গেম যুক্তিটি একটি খুব সাধারণ উপাদান ভিত্তিক মডেল থেকে আসে যার মাধ্যমে সত্তা উপস্থিত থাকে এবং তাদের সাথে উপাদানগুলি সংযুক্ত থাকে এবং বার্তাটি প্রেরণ করা হয় যাতে জিনিসগুলি ঘটে যায়।

স্পষ্টতই এটি সম্পাদন করার জন্য স্তরটি পাতলা, এবং যদি আমি এই অ্যাপ্লিকেশনটির আইফোন সংস্করণ লিখতাম তবে আমাকে উদ্দেশ্য সিতে রেন্ডারার এবং কোর ড্রাইভার (এই উপাদান ভিত্তিক সিস্টেমের) পুনরায় লিখতে হবে

সত্তাগুলি কেবলমাত্র সমতল ফাইল যা যুক্ত করার জন্য উপাদানগুলির নাম নির্ধারণ করে এবং সেগুলি উপাদানগুলি সাদামাটির জন্য যুক্তিযুক্ত উপাদানগুলি সহজ, একক-উদ্দেশ্যমূলক বস্তু।

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

যদিও আমি বিশ্বাস করতে পরিচালিত করেছি যে এটি যদিও একটি আদর্শ বিশ্ব নয় এবং মোবাইল ডিভাইসে লুয়া পারফরম্যান্স ইত্যাদি এখনও স্ক্র্যাচ করার মতো নয়, ওভারহেড খুব বেশি এবং আমি পরে যদি সমস্যার মধ্যে পড়ে যাব তবে সেই পথে নামলাম?

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

উত্তর:


17

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

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

[সম্পাদনা] স্পষ্টতই আমি আইফোন জিনিস সম্পর্কে লুয়া সম্পর্কে ভুল ছিল। নীচের মন্তব্যগুলি দেখুন।


9
লুয়া আইফোন অ্যাপ্লিকেশনগুলিতে ব্যাপকভাবে ব্যবহৃত হয় এবং এটি অনুমোদিত শর্তাদিতে পরিবর্তন করা হয়েছিল। এখানে দেখুন: Appleoutsider.com/2010/06/10/hello-lua
কলিন গিস্লসন

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

7
যান যাদু সাবান বক্স। লুয়া একটি বিশেষ্য একটি সংক্ষিপ্ত বিবরণ নয়, আপনি কখনই জাভা লিখবেন না। লুয়া মানে চাঁদ। আপনি মুন লিখবেন না। ধন্যবাদ - লাউ নাজি।
deft_code

2
দুঃখের বিষয় আমি প্রচুর লোককে জানি যারা "জাভা" লেখেন।

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

7

লুয়ার সি বাস্তবায়ন এম্বেডড ডিভাইসগুলিতে চালানোর জন্য বিশেষভাবে ডিজাইন করা হয়েছে। এটি ছোট এবং দ্রুত (স্ক্রিপ্টিং ভাষার জন্য)। আমি ভাবতাম এটি কমপক্ষে হালকা কাজের জন্য ঠিক ছিল।


4

অবশ্যই। স্ক্রিপ্টিং যুক্তি আপনার বাধা হবার সম্ভাবনা খুব কম (আপনি আসলে শার্ক বা যন্ত্রের সাহায্যে প্রোফাইল দেবেন, তাই না?) আমি মারুনেডের আইফোন সংস্করণে কাজ করেছি, যা গেম যুক্তির জন্য প্রচুর লুয়া ব্যবহার করেছিল। আমি প্রচুর পারফরম্যান্স টিউনিং করেছি এবং মূলত লুয়া ছিল 0%।

(যখন আমরা মারুনেদকে মুক্তি দিয়েছিলাম তখন লুয়া ছিল ধূসর অঞ্চল, তবে এটি আইওএস বিকাশের জন্য আনুষ্ঠানিকভাবে আশীর্বাদ পেয়েছে।)


1

অ্যান্ড্রয়েডে স্ক্রিপ্টিং করার প্রস্তাবিত পদ্ধতির জন্য http://code.google.com/p/android-scriptting/ দেখুন । লুয়া এখনও অ্যান্ড্রয়েড প্ল্যাটফর্মে খুব ভাল ফিট করে না, যেহেতু এটির জন্য সি প্রয়োজন। অবশ্যই আপনি এনডিকে ব্যবহার করতে পারেন তবে এটি কোনও রূপালী বুলেট নয়।


1

এটি আপনার গেম লজিকের কতটা স্ক্রিপ্টগুলিতে এম্বেড করা হয়েছে তা কিছুটা নির্ভর করে । সাধারণভাবে এলইউএ উচ্চ স্তরের আঠালো হিসাবে ব্যবহৃত হয় তবে সি (++) এর মাধ্যমে প্রচুর উদ্দীপনা কাজ হয়। হ্যাঁ, স্ক্রিপ্টিং ভাষা যতটা দ্রুত যায় LUA দ্রুত - আপনার এখনও প্রায় 30 থেকে 50 বারের স্থানীয় ভাষার তুলনায় মন্দা দেখছেন, তাই এটি LUA তে কতটা ঘটছে তা নির্ভর করে।


0

আপনি লুয়াতে আপনার সম্পূর্ণ গেমটি লিখতে পারেন এবং পুরোপুরি জাভা / অবজেক্টিভি / সি / সি ++ এড়াতে পারেন।

ক্রস প্ল্যাটফর্ম বিকাশের জন্য করোন ব্যবহার করুন । আপনি অ্যাপ স্টোর বা অ্যান্ড্রয়েড মার্কেটপ্লেসে শিপিংয়ের পরিকল্পনা না করা পর্যন্ত এটি বিনামূল্যে ব্যবহারযোগ্য।

আপনি যদি আইফোন / প্যাড / টাচ লক্ষ্য করতে চান তবে মোমের দিকে একবার নজর দিন ।

সাইড এডওয়ার্ডসের এক পাশের নোটের মতো: আমি নিন্টেন্ডো ডিএস, ওয়াই, সনি পিএসপি এবং এক্সবক্স ৩60০ লক্ষ্য করে পাঁচটি শিরোনাম প্রেরণে জড়িত ছিলাম, এগুলির সমস্তই একই ইঞ্জিন ব্যবহার করেছিল এবং লুয়াতে লিপিবদ্ধ ছিল। এটি কনসোল এবং মোবাইলে বহুল ব্যবহৃত।

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