روبی ویتا
یادم می آید از زمانی که روی ربات روبی کار میکردم به فکر ساخت نسخه ای کودکانه برای آن بودم؛ شایدم هم نه، از قبل تر! زمانی که آقای نیرومند به من گفت:
…خلاصه، میخوام بگم اون زحمتی که میخوای بکشی شاید کاربرد زیادی نداشته باشه.
اما چیزی که پیشنهاد میکنم انجام بدی، طراحی Robi هست که در مطلب اخیر صحبت کردم.
اگر بتونی اون رو در حد یک روبات ۱۰ سانتی متری کوچیکش کنی و چیزی شبیه به عروسک نمادِ آندروید کنی، عالی میشه.
به خصوص اگر بتونی حداقل در مراحل بعد یک ماژول Wi-Fi هم روش بذاری که بتونه بیسیم دستور بگیره، دیگه فوقالعاده میشه.
ما میخواهیم Robi روباتی باشه که از یک خط فرمان، دستوراتی رو که ضمیمه کردم (و منتشرش نکن) دریافت و اجرا کنه.
میتونی این پروژه رو پیگیری کنی؟
و من در جوابش فرستاده ام:
برای روبی هم، راستش من خودم برای خودم داشتم روی یه برد ایرانی آردوینویی کار میکردم با یه محیط برنامه نویسی شبیه اسکرچ به نام ماجراجو؛ ولی روبی هم چیز خوبیه و میتونم روش کار کنم.
چند وقتی بود که در فکر ساخت یک محیط برنامه نویسی ساده شده بودم؛ شبیه اسکرچ کودکان؛ با الهام از خط زمانِ برنامه های تدوین فیلم که تکه ها در یک خطر قرار می گیرند و به ترتیب اجرا می شوند. نمونه ی اولیه خیلی افتضاح بود 😀 به قدری که هنوز خط زمان را تکمیل نکرده پاکش کردم!
در حین کار روی نسخه بتای روبی، روی رابط کاربری نسخه ای خاص از محیط برنامه نویسی ماجراجو (محیطی که با سیشارپ برای برنامه نویسی و اجرای دستورات ساده و مخصوص روبی روی آن به وسیله بلوتوث ساخته بودم) که مناسب برای کودکان باشد. با الهام از سادگی دستورات ماجراجو، دستورات ماجراجو کودکان (نسخه پرتقال ?) هم ساده تنظیم شد و برای آنکه هر دستور برای کودکان به راحتی قابل شناسایی باشند از کلمات در آن استفاده نشد (این اتفاق برای استفاده از بازی در زبان های دیگر هم این مزیت را به بار می آورد).
این طرحی بود که 30 شهریور 96 (یک روز مانده به محرم) موقع تحویل روبی به آقای نیرومند نشان دادم و خوششان آمد:
بعد از اتمام روبی بتا کار روی ساخت نسخه کودکان آن شروع شد؛ برآورد اولیه این بود که بازی تا بهمن ماه به انتشار برسد. طراحی نوار زمانی که چینه ها را روی آن بتوان چید کار سختی بود که تابحال انجام نداده بودم و چالش من در طراحی بازی بود…
تا بهمن تقریبا بخش فنی بازی طراحی شده بود. از طریق دوستان متوجه شدم شرکت انارستان در حال آماده سازی برای عرضه تبلت کودکان است. فرصت خوبی بود تا بازی را برای کودکان منتشر کنیم؛ با انارستان صحبت کردم تا ملاقاتی داشته باشیم. مراحل تا حدودی پیاده سازی شد و انیمیشن گذاری محیطی بازی هم خیلی خوب انجام شد؛ در حدی که آن دو نفر بسیار از بازی خوششان آمد.
قرار بر این بود که باقیمانده ی بازی به سرعت تکمیل شود تا روی نارتب منتشر شود اما نشد. باگ های بازی زیادتر از آن بودند تا اجازه ی انتشار به خود دهم و مراحل بازی خصوصا در فصل سوم چندان جذاب و قابل فهم نبودند. مراحل فصل های دوم و سوم تقریبا کار من نبودند؛ مغز من چندان قابلیت طراحی معما و سوال ندارد (?) و برای این دو فصل از کمک دوستم تیرنام (معروف به کارخانه بازیسازی ?) استفاده کرده و مراحل را چیدم؛ اما خب طبیعیست کسی که با بازی من آشنایی چندانی ندارد قطعا نمی تواند چالش های آن را بشناسد و مراحل جذابی تولید کند. همان مراحلی که در فصل دوم طراحی کرده هم بسیار به من کمک کرد و از او متشکرم.
با شروع شدن دانشگاه و حل نشدن موضوع باگ های بازی و مراحل ناگیرای فصل سوم، پروژه روی زمین ماند. فروردین امسال، در دیداری که با آقای نیرومند داشتم با هم روی مسئله ی روبی ۱ و ماجراجوی پرتقال صحبت کردیم. آقای نیرومند چندان از این نام خوشش نمی آمد؛ شاید چون افکار من پشت این نام را نمی دانست؛ شاید هم چون من بازی را برای آموزش کودکان میساختم اما او دانشجوهایی را می دید که با این بازی می توانند برنامه نویسی یاد بگیرند. بعد از کمی فکر کردن روی نام، نام روبی ویتا برای بازی انتخاب شد. همچنین در ابتدا قرار بود تا شخصیت یک پروفسور در بازی به عنوان راهنما وجود داشته باشد که با اجازه از آقای خسروانجم از تصویر کارتونی وی استفاده کردم:
اما این شخصیت هم بعد از صحبتی که داشتیم حذف شد و به جای آن از یک آیکون عادی استفاده شد.
با اینکه در این جلسه به جمع بندی های خوبی رسیدیم، اما همچنان مراحل فصل سوم بازی مشکل داشتند. با پیدا نشدن طراح مرحله و به وجود آمدن پروژه های جدید کم کم روبی ویتا به حاشیه رفت؛ اما پس از چندین ماه پس از مقداری بررسی برای تکمیل پروژه، خوشبختانه خود آقای نیرومند زحمت طراحی مراحل پایانی بازی را به عهده گرفتند و پس از تحویل گرفتن مراحل به سرعت باگ های بازی برطرف شدند و بازی آماده ی انتشار شد.
ویتا در سه مرحله و مجموعاً در ۱۸ سطح تلاش میکند مفاهیمی مانند عبارت دستوری (Statement)، تابع (Function)، حلقهها (Loops) و عبارات شرطی (if – else) را با بازی به کاربر آموزش دهد. نحوه ی بازی به این صورت است که تعدادی دستور در منوی های مخصوص در بازی قرار دارند و بازیکن پس از بررسی زمین بازی برای گرفتن اهداف مشخص شده توسط روبی، باید دستورات چینه ای را روی خط زمان بچیند تا روبی آنها را به ترتیب اجرا کرده و به مقصد برسد.
این بازی پتانسیل بسیاری برای بهکارگیری جهت آموزش برنامه نویسی به کودکان، نوجوانان و حتی دانشجویان دارد و من حدس میزنم در طی زمان با توسعه آن خواهیم توانست نوجوانان بسیاری را به برنامه نویسی علاقه مند نماییم.
روبی ویتا در دو نسخه ی اندروید و ویندوز آماده و منتشر شده است.
برای دریافت به آزمایشگاه ابر مراجعه نمایید.
برنامه ی بسیار مفیدی هست .
و بنظر کار پر زحمتی میاد .
ممنون از سازندگان .