گیمسالاد چیست؟
گیمسالاد کریتور (GameSalad Creator) ابزاری برای تألیف و توسعه بازی است که توسط شرکت GameSalad ساخته شده و مورد استفاده معلمان و افراد غیربرنامهنویس قرار میگیرد. این نرمافزار شامل یک ویرایشگر بصری و یک سیستم منطقی مبتنی بر رفتار است. بیش از ۲۲۳ مدرسه از گیمسالاد برای آموزش مفاهیم علوم کامپیوتر، تفکر منطقی و مهارتهای حل مسئله بهره میبرند؛ بدون آنکه دانشآموزان با دردسرهای سینتکس برنامهنویسی درگیر شوند. همچنین مصرفکنندگان و متخصصان خلاق مانند طراحان گرافیک، انیماتورها و توسعهدهندگان بازی، از این ابزار برای نمونهسازی سریع، ساخت و انتشار مستقل بازیها و رسانههای تعاملی چندپلتفرمی استفاده میکنند. این اپلیکیشن هم روی سیستمعامل مک و هم ویندوز اجرا میشود. برای انتشار بازی در آیتونز (iTunes) دسترسی به سیستم مک الزامی است، اما سایر پلتفرمهای انتشار پشتیبانیشده برای کاربران هر دو سیستمعامل در دسترس هستند.
تاریخچه و اتفاقات مهم
در ۲۱ دسامبر ۲۰۰۹، کنفرانس مکورلد (Macworld Expo) با گندای گیمز (Gendai Games)، توسعهدهنده گیمسالاد، برای برگزاری «چالش گیمسالاد ۲۰۱۰ مکورلد» همکاری کرد تا پیش و در طول این کنفرانس، ساخت بازی برای مک و آیفون را ترویج کند.
در ۲۰ نوامبر ۲۰۱۰، گیمسالاد مدل جدیدی به نام «رایگان برای ساخت» (Free to Make) را معرفی کرد که عضویت پایه و حتی انتشار در آیاواس را برای همه کاربران رایگان کرد. اما در نهایت، این عضویت رایگان در سال ۲۰۱۵ متوقف شد.
در ۱۱ ژوئن ۲۰۱۲، نسخه ویندوز برنامه مک رونمایی شد که به کاربران ویندوز اجازه ساخت بازی برای آیفون را میداد. مفاهیم پایه یکسان بودند، اما تغییرات عمدهای در چیدمان رابط کاربری ایجاد شد و برخی ویژگیها هنوز در این نسخه پشتیبانی نمیشدند.
بین ۳ اکتبر ۲۰۱۲ و ۲۷ نوامبر ۲۰۱۲، گیمسالاد تقریباً نیمی از کارکنان خود را اخراج کرد.
سیستم رفتارها (Behavior System)
گیمسالاد یک رابط کاربری گرافیکی برای توصیف قوانین و رفتار اشیای بازی که «بازیگر» (Actor) نامیده میشوند، ارائه میدهد؛ بدون آنکه نیاز به دانش زبانهای برنامهنویسی یا اسکریپتنویسی باشد. رفتارها، اجزای یک بازیگر هستند که بسته به قوانین و شرایط حاکم بر آنها، میتوانند به صورت لحظهای یا مستمر روی بازیگر تأثیر بگذارند. این اپلیکیشن دارای کتابخانهای از رفتارها (برای حرکت، تغییر وضعیت ویژگیها، تأثیر بر برخورد، ذخیرهسازی و غیره) است که میتوان آنها را در قوانین و گروههای رفتاری دیگر وارد کرد تا جلوههای جدیدی خلق شود.
ویژگیهای اصلی
انتشار چندپلتفرمی
گیمسالاد یک رابط مبتنی بر وب مشترک برای انتشار در پلتفرمهای مختلف مانند آیفون یا مک دارد. این ابزار میتواند بازیها را برای دستگاههای مبتنی بر اندروید مانند نوک (Nook) و همچنین به فرمت اچتیامال۵ (HTML5) منتشر کند.
جداول و آرایهها
کاربران میتوانند برای دسترسی کارآمد به حجم زیادی از دادهها از جداول استفاده کنند. این جداول قابلیت خواندن و نوشتن دارند.
پیشنمایش بازی
گیمسالاد حالت پیشنمایش مخصوصی برای اشکالزدایی و تست عملکرد و کارایی بازیها دارد. یک اپلیکیشن جداگانه به نام GameSalad Viewer وجود دارد که میتوان آن را روی دستگاه تلفن همراه کاربر نصب کرد تا با کلیک روی دکمهای در نوار ابزار گیمسالاد، پروژه مستقیماً و از طریق شبکه بیسیم روی دستگاه خود پیشنمایش شود.
نمونهای از ساختار کد در بازیسازی (جهت اطلاع از برنامهنویسی سنتی):
function startGame() {
myGamePiece = new component(30, 30, "red", 10, 120);
myGamePiece.gravity = 0.05;
myScore = new component("30px", "Consolas", "black", 280, 40, "text");
myGameArea.start();
}
var myGameArea = {
canvas : document.createElement("canvas"),
start : function() {
this.canvas.width = 480;
this.canvas.height = 270;
this.context = this.canvas.getContext("2d");
document.body.insertBefore(this.canvas, document.body.childNodes[0]);
this.frameNo = 0;
},
clear : function() {
this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);
}
}
ویرایشگر صحنه
کاربران میتوانند بازیگران را در یک صحنه قرار داده و دستکاری کنند. بازیگران با درگانداز کردن به صحنه اضافه میشوند. بازیگران یک صحنه را میتوان در لایههای مختلفی سازماندهی کرد تا نحوه نمایش آنها (مانند ترتیب رندرینگ، اسکرول پارالاکس و غیره) تغییر کند.
فیزیک یکپارچه
گیمسالاد برای شبیهسازی حرکت واقعگرایانه و برخوردها، از یک شبیهساز فیزیک جسم صلب استفاده میکند. کاربران میتوانند با سازماندهی بازیگران با استفاده از تگها، نحوه برخورد اشیاء را مدیریت و بهینهسازی کنند. همچنین کاربران میتوانند تعیین کنند که یک بازیگر با گروهی از انواع دیگر بازیگران برخورد کند.
عبارات ریاضی
برای کاربران حرفهای، گیمسالاد دارای ویرایشگری برای تعریف عبارات است تا بتوان رفتارهای پیچیده و تغییرات وضعیت را با استفاده از عبارات ریاضی و کتابخانهای از توابع مشخص کرد.