نوشته های اعضای تیم آرمیک

آرمیک کودکان، همراه پدر و مادر‌ها در تربیت و آموزش

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

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

صفحه اول وبلاگ آرمیک کودکان

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

حالا آرمیک کودکان با تولید محتوا در خصوص تربیت صحیح فرزند شروع به فعالیت کرده تا بتونه در تربیت فرزندان، کمکی به پدر و مادرهای عزیز باشه

مطالب آرمیک کودکان رو می‌تونید از وبلاگ رسمی آرمیک کودکان و کانال تلگرام واینستاگرام دنبال کنید.

برگزاری کنفرانس طراحی تعاملی در گیلان

کنفرانس طراحی تعاملی رویدادی یک روزه است که برای اولین بار در ایران، در شهر رشت به تاریخ ۳۱ خرداد ماه ۹۷ برگزار خواهد شد.

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

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

تمرکز اصلی در این رویداد بر حوزه طراحی وب، موبایل و طراحی محصول در شرکت‌های آی‌تی و استارتاپ‌ها می‌باشد.

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

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

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

برای کسب اطلاعات بیشتر، ثبت نام و آشنایی با این رویداد به کانال https://t.me/ixdevent یا آدرس اینترنتی ixdevent.ir مراجعه فرمایید.

اولین کنفرانس طراحی تعامل در گیلان

ریبو و رابی، آموزش و سرگرمی کودک

وقتی چهارسال پیش بچه‌ها الفبا رو منتشر کردیم و اشتیاق والدین رو در استفاده اپلیکیشن‌های آموزشی برای بچه‌هاشون دیدیم، جای خالی آموزش ریاضی کاملا حس میشد و با بازخوردهایی که که از معلم‌ها و پدر و مادرها گرفتیم، اپلیکیشن آموزشی «بچه ها ریاضی» رو برای آموزش ریاضی تولید کردیم.

بعد از انتشار ریاضی، حالا در حوزه کودک دوتا اپلیکیشن آموزشی داشتیم که پا به پای هم در بازار جلو میرفتن و چون خیلی از ویژگی‌ها مثل سطح محتوای آموزشی و رنج سنی مخاطبین این دو برنامه شبیه به هم بود، رفتار مشابهی رو از کاربرها در این اپلیکیشن نسبت به بازی یوزانا یوزپلنگ ایرانی که قبلا در کافه بازار منتشر کرده بودیم، میدیدم. بررسی‌های ما از داده‌های این‌بازی‌ها و فیدبک کاربرها اینو نشون میداد که مراحلی که جنبه سرگرمی بیشتری داره، بیشتر توسط بچه‌ها استقبال میشه.

خب مسئله‌ی کوچیکی نبود و باید جذابیت های خیلی بیشتری رو که جبنبه سرگرمی بازی‌ها رو بالاببره به بازی جدیدمون اضافه میکردیم، این ویژگی‌ها باید بازی رو تبدیل به دنیایی میکردن که کاربر هدف ما با ورود به اون احساس صمیمیت کنه و بتونه نقش موثر خودش رو در اونجا ببینه.

بر همین اساس دو شخصیت متضاد با یکدیگر به بازی اضافه شدند و همچنین سرزمینی که بخش‌های مختلف بازی در آن قرار میگرفتند. این دوتا موجود شیطون و بانمک باید فراجنسیتی طراحی میشدند که هر دو دسته از مخاطبینمون (پسرها و دخترها) بتونن با اون ها ارتباط برقرار کنن. هرچند اینکار انتخاب اسم رو بشدت سخت میکرد ولی در نهایت ریبو و و رابی متولد شدند.

طرح اولیه شخصیت های ریبو و رابی

شخصیت‌های ریبو و رابی

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

حالا باید سرزمین طراحی میشد که بخش‌های بازی در اون قرار بگیرن و هم چند عنصر دیگه که بتونه با بازی وار سازی (شما بخوانید گیمیفیکیشن) کاربر رو دوباره به بازی برگردونه و صد البته که این مفاهیم برای کودک خیلی با کاربر نوجوان و بزرگسال فرق میکنه.

صفحه اصلی بازی ریبو و رابی

صفحه اصلی بازی ریبو و رابی

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

بخش‌های آموزش الفبا، آموزش اعداد ریاضی و شکل های هندسی، اصلی ترین بخش‌های بازی ریبو و رابی هستن که در هر کدوم از این بخش‌ها چندین بازی کوچک (شما بخوانید مینی‌گیم) قرار گرفته که وقتی کودک در حین بازی کردن به طور غیر مستقیم با مفاهیم آموزشی آشنا میشه.

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

به نقل از دیجیاتو :‌

ریبو و رابی در دسته بندی «آموزش کودکان» یک محصول نسبتا کامل است. هم به والدین توضیحات کامل را می دهد، هم بدون پیچیدگی و با استفاده از صدا قوانین بازی ها را توضیح می دهد و هم با یار کمکی اش که قصه های صوتی و انیمیشن ها هستند، ذات خسته کننده بعضی قسمت ها را کمی می پوشاند.

در بازی ریبو رابی با وجود بخش‌های یکپارچه آموزشی و سرگرمی که یک کودک ۳ تا ۷ ساله نیاز داره، و انیمیشن‌ها و داستان‌های مناسب سن کودک، یک محیط امن برای کودک مهیا شده که پدر و مادر بتونه با خیال راحت این بازی رو برای فرزندش نصب کنه و دغدغه‌ای از نظر محتوای نامناسب کودک نداشته باشه.

ریبو و رابی جدیدترین محصول تیم آرمیک در حوزه کودک، برای گوشی‌های اندروید تولید شده که از کافه بازار قابل دانلود هست.

دانلود ریبو و رابی از کافه بازار

«یوزانا، یوزپلنگ ایرانی» از ایده تا اجرا

یوزانا یوزپلنگ ایرانی

یوزانا یوزپلنگ ایرانی

یوزانا یوزپلنگ ایرانی نام یک بازی موبایل ایرانی است که توسط تیم آرمیک طراحی، تولید و منتشر شده است. در ادامه خلاصه ای از روند اجرا شدن پروژه را با هم بررسی می کنیم.

ایده و طرح اولیه

یوزپلنگ ایرانی از گونه های جانوری در حال انقراض کشورمان می باشد و همواره فعالیت هایی برای جلوگیری از انقراض این گونه جانوری صورت می پذیرد. ایده این بازی از یک داستان مشابه شکل گرفته : ” بچه یوزپلنگی که پدر و مادرش توسط شکارچیان غیر مجاز کشته شده، برای زنده ماندن به شما احتیاج دارد!”

پس از بررسی و نیازسنجی اولیه سبک virtual pet را برای این بازی انتخاب کردیم و کاراکتر اصلی آن را  “یوزانا” که یک بچه یوزپلنگ ایرانی است قرار دادیم. طبق بررسی ها مراحل مورد نیاز برای اجرای پروژه تهیه مستندات ، طراحی، پیاده سازی محصول ، پیاده سازی سمت سرور ، عیب یابی و پشتیبانی در نظر گرفته شدند.

مستندات

شامل کلیه مراحل ساخت، جزئیات سیستم تصمیم گیری بازی ، آیتم ها، جزئیات مینی گیم ها و دیگر داده های بازی می شود، که طراحی و پیاده سازی محصول از روی این مستندات انجام شد.

طراحی

در پروژه یوزانا بخش طراحی به طراحی شخصیت اصلی ، طراحی آیتم های یوزانا، طراحی رابط کاربری ،محیط های بازی  و همچنین طراحی محیط و آیتم های مینی گیم ها تقسیم بندی می شود که به صورت همزمان طراحی و تولید شدند.

یوزانا یوزپلنگ ایرانی

طراحی بومی در یوزانا یوزپلنگ ایرانی

پیاده سازی

مهمترین و البته پر چالش ترین بخش این پروژه بخش پیاده سازی آن بود. پس از بررسی و تست موتور های بازی سازی مختلف و انجام نیاز سنجی هایی از قبیل : پلتفرم های پشتیبانی شده، میزان تسریع در پیاده سازی، ساده گی و سهولت استفاده، عمومیت و پشتیبانی از سرویس های مرسوم در پلتفرم ها ، موتور بازی مورد نظر را انتخاب و مرحله پیاده سازی را که شامل مراحل زیر بود پیش بردیم :

پیاده سازی هسته اصلی بازی ، منو ها و محیط اصلی ، مینی گیم ها ، سیستم تصمیم گیری بازی ، بخش ارتباط با  سرور بازی و همچنین پیاده سازی سیستم پرداخت درون برنامه ای.

در آینده درباره انواع موتور های بازی سازی ، معایب و محاسن هرکدام و همچنین چالش هایی که در بخش فنی در این پروژه درگیر آن بودیم مقالاتی را در این وبلاگ ارائه خواهم کرد.

پیاده سازی سمت سرور

به دلیل وجود جدول امتیازات و سیستم پرداخت درون برنامه ای ، تصمیم بر پیاده سازی سرور اختصاصی برای بازی گرفتیم که داده های مورد نیاز را به صورت امن ذخیره، ارسال و دریافت کند.علاوه بر جنبه امنیت ، برای هر یک از مینی گیم ها یک جدول امتیازات جداگانه برای کاربران در نظر گرفته شده که کاربران با بیشترین امتیاز را نمایش می دهد.

یوزانا یوزپلنگ ایرانی

جدول امتیازات در یوزانا یوزپلنگ ایرانی

عیب یابی و پشتیبانی

پس از آماده شدن نسخه اولیه محصول اقدام به تست آن بر روی دیوایس های مختلف کرده و ریلیز های محلی انجام دادیم و بازخورد های دریافت شده را بر روی محصول اعمال و اقدام به انتشار بازی به صورت عمومی کردیم. از زمان انتشار تا کنون بیش از 100 هزار دانلود و بیش از 5000 نظر دریافت کرده و امور مربوط به پشتیبانی از کاربران را با ارائه بروزرسانی و پاسخ به سوالات و اشکالات از طریق ایمیل و پنل مارکت انجام می دهیم.

خودکارسازی deploy برنامه‌های Node.js

تو وب امروز مثل بقیه عرصه‌ها همه چیز داره به سمت خودکار شدن پیش میره. یکی از جنبه‌های خودکارسازی deploy کردن برنامه‌ها روی سرور هست. شاید اگه سرور ترافیک زیادی نداشته باشه برای deploy کردن برنامه‌ها فقط کپی کردن اسکرپیت‌ها روی سرور کفایت بکنه؛ اما اگه سرور چند صد درخواست رو در دقیقه جواب میده اونوقت چطور؟ اگه سرور برای چند دقیقه پاسخگو نباشه چند هزار درخواست به مشکل برمیخورن. چندین راه ممکنه پیشنهاد بشه مثلا در ساعت‌هایی که ترافیک کمی دارن deploy رو انجام بدیم یا اینکه درخواست‌ها رو به یه سرور دیگه بفرستیم تا وقتی که سرور مورد نظرمون قادر به پاسخگویی بشه. تقریبا تمام زبان‌ها و پلتفرم‌های معروف وب ابزار‌هایی برای خودکارسازی deploy دارن؛ Node.js هم با این که زمان زیادی از به وجود اومدنش نمیگذره به سرعت در حال پیشرفته و داره خودشو به صورت یک پلتفرم کامل درمیاره. Node.js ابزار‌های زیادی برای این کار داره، اما یکی از ابزار‌هایی که تمام این عملیات رو به صورت یکپارچه انجام میده ابزار شرکت StrongLoop هست.

آماده‌سازی سرور
اگه Node.js روی سرور نصب نیست اون رو از طریق package manager یا سورسش نصب کنید.
بعد با استفاده از دستور زیر می‌تونید بسته StrongLoop Process Manager رو نصب کنید:

سپس سرویس strong-pm رو نصب و اجرا میکنیم:
برای توزیع‌هایی که از Upstart 1.4 و بالاتر استفاده می‌کنن مثل Ubuntu 12.04

برای توزیع‌هایی که از Upstart 0.6 – 1.3 استفاده می‌کنن مثل CentOS 5 – 6 و ‌Ubuntu 10.04

و برای توزیع‌هایی که از Systemd استفاده می‌کنن مثل CentOS 7 و Fedora و OpenSUSE

اگر در توزیع‌های RHEL و CentOS برای نصب sl-pm-install به مشکل برخورد کردید دستور زیر رو اجرا کنید تا باینری اون در path سیستم قرار بگیره

وقتی همه مراحل با موفقیت انجام شد سرویس strong-pm روی سرور شما نصب شده و با restart سیستم هم اجرا میشه. حالا سرور شما آماده‌ی دریافت برنامه‌ها برای اجرا هست.

build کردن برنامه و deploy آن
اول باید بسته Strongloop رو نصب کنیم

سپس وارد پوشه اصلی برنامه میشیم. بهتر هست که برای کنترل ورژن از git استفاده کنید ولی اگر نباشه هم مشکلی پیش نمیاد.
قبل از ایجاد build تمام تغییرات commit نشده را commit می‌کنیم و پوشه رو clean می‌کنیم تا فایل‌های ناخواسته در build نباشن و بعد هم پروژه رو build می‌کنیم.

با این کار یه branch جدید به نام deploy به مخزن git اضافه میشه و بسته های npm مورد نیاز دانلود میشن و بعد تغییرات در برنچ deploy کامیت میشن. اگه از گیت استفاده نشده باشه یه فایل با پسوند tgz ساخته میشه.
برای delopy کردن هم کافیه دستور زیر رو اجرا کنیم. با این کار فایل‌های برنامه روی سرور آپلود میشن و توسط strong-pm در سرور اجرا میشه.

با رفتن به آدرس http://example.com:3001 می‌تونید برنامه‌تون رو مشاهده کنید.

استفاده از strong-pm قابلیت‌های فراوانی به شما میده مثلا می‌تونید بدون لوگین در سرور وضعیت برنامه رو چک کنید یا این که تعداد پروسه‌هاش رو تغییر بدید

برای deploy نسخه جدید برنامه فقط کافیه همون کارایی که در deploy اول انجام دادید انجام بدید و برنامه رو deploy کنید. strong-pm به طور خودکار یک rolling restart انجام میده برنامه شما بدون هیچ گونه downtime اجرا میشه.
علاوه بر این‌ها قابلیت مونیتورینگ و استفاده از docker برای deploy برنامه‌ها از ویژگی‌هایی هست که ‌strong-pm در اختیار شما میذاره تا با توجه نیاز‌های سمت سرور انعطاف پذیر باشه.

منابع:
http://strong-pm.io
https://strongloop.com/strongblog/node-js-deploy-production-best-practice/

«بچه ها الفبا!» از صفر تا صد

در اولین پستی که در وبلاگ می نویسم، قصد دارم مراحل تولید اولین بازی آموزشی تعاملی که روی سیستم عامل اندروید ساختیم براتون توضیح بدم.اینکه چرا این ایده رو انتخاب کردیم ، به دلیل کمبود شدیدی بود که در بازی و برنامه های این سبک مشاهده می کردیم.

برای تولید این بازی مراحل مختلفی به صورت موازی انجام شد که در ادامه این مراحل رو توضیح خواهم داد:

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

مرحله بعد، جمع آوری داده ها بود.برخلاف اسم سادش، این بخش بسیار حساس و مهم هست.به طوری که داده های آموزشی نبایست برای دانش آموزان خیلی سخت و نامفهوم و از طرفی خیلی آسان می بود تا کودک به طور مستمر از این بازی استفاده کند .

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

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

بعد از پیاده سازی ، نوبت به تست های کاربردپذیری برنامه رسید.البته در موقع طراحی بسیاری از موارد رو در نظر گرفته بودیم ولی باز نیاز به بررسی بیشتر داشت.

در مرحله تست برنامه، به مشکلات عجیبی برخورد کردیم که از جالب ترین آن ها این بود که در بعضی از گوشی های با رزولوشن بالا به مشکل memory leak برخوردیم و دلیل اون و روش حلش رو میتونید در پستم تو Stack Overflow بخونید.

businessman-analyzing-formula

در مرحله آخر هم سرویس پرداخت درون برنامه ای و سرویس عدد که برای قراردادن تبلیغات در برنامه ها و بازی ها است به بازی اضافه شد و بالاخره بازی منتشر شد!

این بازی تعاملی مطابق برنامه ریزی که کرده بودیم ، بسیار مورد پسند مردم قرار گرفت به طوری که در روزهای ابتدایی هرروز حدودا ۱۰۰۰ نفر این برنامه رو دریافت میکردن و در ماه اول به +۲۰k رسیدیم.

این بود از تجربیاتم در اولین برنامه ای که در سیستم عامل اندروید نوشتیم.امیدوارم از این پست لذت برده باشید.

این بازی رو میتونید از لینک زیر در کافه بازار دریافت کنید

دریافت از کافه بازار

ظاهرمون عوض شد!

بیشتر از یکسالِ که سایت آرمیک سافت راه اندازی شده ولی هنوز ظاهر سایت به همون شکل اول باقی مونده بود، انجام و به پایان رسوندن پروژه‌ها اولویت بالاتری نسبت به سایت  داشت. ولی وقتی یه کم تعداد ما زیاد تر شد و یه سری از بچه‌ها که خدمتشون به مملکت به اتمام رسید، به جمع اضافه شدن و حالا دیگه جای خالی یه سایت جدید و بروز برای شرکت احساس می‌شد.

howdochamele-min

 

برای نوع طراحی سایت، تصمیم به استفاده از طراحی واکنش‌گرا گرفتیم چون برای بازدید از هر ابزارکی (همون گجِت) خوب نشان داده میشد و دوباره کاری نداشتیم، در ضمن ما یک وبسایت نیاز داشتیم که از طریق اون شرکت و تیممون معرفی بشه، و این می تونست دست ما رو برای ساده بودن ظاهر سایت باز بزاره و و ویژگی های تیم رو بیشتر به چشم بیاره.

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

و خلاصه وبسایتمون در پنج صفجه مجزا که به ترتیب، صفحه خانگی که حاوی ویژگی‌های تیم و راه های تماس با ماست، صفجه تیم آرمیک که توش مختصری در مورد تیم و اعضای تیممون نوشتیم، چندتا از نمونه کارها رو در صفجه بعدی به نماش گذاشتیم، صفحه بلاگ که از تجربیات خودمون مینویسیم و در نهایت اگر کسی تمایل به همکاری با ما داشته باشه، خیلی خوشحال میشیم که از صفحه همکاری با تماس بگیره!