اگر شما هم یکی از 58.5 میلیون نفری هستید که هر روز بازی آنلاین Roblox را بازی می‌کنند، احتمال زیادی وجود دارد که قبلاً با Lua تعامل داشته باشید. Lua (لوا) یک زبان برنامه نویسی است که می‌توانید از آن برای کدگذاری مکانیک بازی در Roblox و ایجاد ویژگی‌های سفارشی استفاده کنید.

اما توسعه بازی تنها یکی از کار‌هایی است که Lua در آن مهارت دارد. این زبان بسیار محبوب همچنین می‌تواند برای ساخت اپلیکیشن‌ها از صفر یا گسترش عملکرد نرم افزارهای موجود استفاده شود.

در دوره رایگان کد آکادمی با نام Learn Lua، اصول زبان برنامه نویسی همه منظوره و قابل embed شدن را خواهید آموخت و استفاده از انواع داده Lua، کنترل جریان یک برنامه با منطق شرطی و ساخت توابع برای انتقال داده از طریق آنها را تمرین خواهید کرد. اگر قبلاً هیچ‌وقت کدنویسی نکرده‌اید، نترسید – همه چیزهایی که برای دانستن هر مرحله نیاز دارید را توضیح می‌دهیم.

آنچه باید در مورد Lua بدانید، این است که لوا زبان برنامه نویسی سریع و انعطاف پذیریست که در دنیای بازی طوفان به پا می‌کند.

لوا چیست؟

Lua یک زبان برنامه نویسی همه منظوره قدرتمند و کارآمد است که در سال 1993 در برزیل ایجاد شد. نکته جالب اینکه Lua  از زبان برنامه نویسی SOL (زبان ساده شیءگرا) الهام گرفته شده است و در پرتغالی “sol” به معنای “خورشید” است. وقتی زمان نامگذاری زبان جدید فرا رسید، تیمی از اساتید دانشگاه کاتولیک پاپی در ریودوژانیرو به “lua” فکر کردند، زیرا به معنای “ماه” است.

زبان اسکریپت نویسی با تایپ پویا و قابل جاسازی دارای یک نحو ساده است که شبیه پایتون است. کد Lua خط به خط، از بالا به پایین خوانده می‌شود و خواندن و نوشتن آن را مختصر و آسان می‌کند. در اینجا نمونه ای از یک قطعه کد Lua را آورده‌ایم:

زبان لوا

چه چیزی در مورد زبان لوا خاص است؟

براندون هافن، مهندس نرم افزار بازی‌های ویدیویی، توضیح می‌دهد که Lua منحصر به فرد است زیرا برای استفاده به عنوان یک “زبان افزودنی یا اکستنشن” طراحی شده است، به این معنی که می‌تواند در هر پلتفرم یا سیستم دیگری تعبیه شود. توسعه دهندگان می‌توانند از Lua برای سفارشی سازی کامل محصولات استفاده کنند و Lua می‌تواند با هر کدی در زبان C همکاری کند. او می‌گوید: «دریافت عملکرد موجود از یک چیز و بسط دادن آن بسیار سرگرم‌کننده است.»

براندون می‌گوید: چه در حال ساختن سیستم‌های بازی جدید باشید، چه در حال تغییر سریع یک سایت برای افزودن یک ویژگی سفارشی باشید، یا یک ابزار منحصربه‌فرد برای ارتقای برنامه هنری مورد علاقه‌تان بسازید، Lua می‌تواند تغییرات را تقریباً در هر سیستم اصلی، اپلیکیشن یا سخت‌افزار (حتی تا ریزتراشه‌های کوچک) تسهیل کند. اندازه کوچک Lua، انعطاف‌پذیری و قابل حمل بودن آن، آن را به ابزاری برای گسترش انواع برنامه‌ها تبدیل می‌کند. او اضافه می‌کند: “چطور می‌توانید در مورد افزودن یک ویژگی جالب و جدید به چیزی که قبلاً استفاده می‌کردید، ذوق زده نشوید؟”.

چه چیزی می‌توانید با لوا بسازید؟

Lua می‌تواند برای توسعه بازی‌ها، برنامه‌های وب و ابزارهای توسعه دهنده استفاده شود. برای مثال اپلیکیشن پرداخت موبایلی Venmo با استفاده از Lua ساخته شده است. و بازی Angry Birds با استفاده از Lua و موتور بازی LÖVE ساخته شده است. براندون می‌گوید: «با این حال، برای افراد بسیار مفید است که یاد بگیرند که آیا می‌خواهند عملکرد جدیدی را به یک بازی، وب‌سایت یا برنامه موجود اضافه کنند که به کد Lua اجازه می‌دهد آن را گسترش دهد.»

براندون می‌گوید بسیاری از بازی‌ها و پلتفرم‌های بازی محبوب از Lua برای توسعه یا ایجاد سیستم‌های بازی جدید پشتیبانی می‌کنند. به عنوان مثال، پلتفرم بازی Roblox به بازیکنان اجازه می‌دهد تا کدهایی را در Lua بنویسند تا بازی‌های اوریجینال خود را بسازند. در بازی نقش آفرینی آنلاین انبوه چند نفره  World of Warcraft، می‌توانید از افزونه‌های Lua (معروف به “mods”) برای سفارشی کردن رابط کاربری بازی استفاده کنید.

بیشتر عکاس هستید تا گیمر؟ Lua همچنین در نرم افزار ویرایش تصویر Adobe Lightroom تعبیه شده است، بنابراین می‌توانید پلاگین‌های خودتان را بسازید که به ساده سازی گردش کار و سازماندهی عکس‌ها کمک می‌کند.

شروع به یادگیری لوا کنید

اگر این اولین باری است که کدنویسی را یاد می‌گیرید، Lua  برای شروع عالیست زیرا ساده است. براندون می‌گوید: «خوبی Lua این است که بسیار مینیمالیست است. در واقع در لوا معمولا فقط یک راه برای انجام یک کار وجود دارد.»

 در سایر زبان‌ها، ممکن است میانبرها یا راه‌های متعددی برای اجرای چیزی وجود داشته باشد، که ممکن است در شروع کار کمی خسته‌کننده باشد.

اگر می‌خواهید درباره نحوه ایجاد بازی‌های ویدیویی محبوب مانند Roblox اطلاعات بیشتری کسب کنید، حتماً دوره رایگان مقدمه توسعه بازی یا پست وبلاگ ما را در مورد سایر زبان‌های برنامه‌نویسی محبوب توسعه بازی بررسی کنید.

از همین نویسنده: