یک DNA دو بعدی، آواتار ساز یک بازی دو بعدی

آواتار ساز
آواتار ساز


پیشگفتار:

تمام موجودات دارای یک دستور العمل ژنتیکی هستند که اون ها رو میسازه، دستور العمل هایی از جنس اسید!

البته که من دانش زیادی در مورد زیست شناسی ندارم ولی باید بگیم شبیه کامپیوتر ها که از دستور العمل های 0 و 1 ای تابعیت میکنند

بدن ما انسان ها هم از ساختاری تشکیل شده که توسط دستور العملی مولکول های زیستی ما رو بهم میچسبونه

حالا اگر بخوایم یک بازی بسازیم چی بهتر از یک DNA مجازی برای ساختن یک آواتار پس بریم ببینیم چه خبره



یک DNA دو بعدی:

من دوست دارم رشته ای از اطلاعات متنی رو برای نگه داری ماهیت آواتار استفاده کنم پس بریم سراغ کار

یک همچین دستور العملی رو ببینید

@Input() dna: string = &quot1|1|cdc4d9ff|1|#000000|1|0|1|0|1|0|1|0&quot

عدد صفر در دستور العمل بالا به معنای غیرفعال بودن ژن مربوطه میباشد اعدادی به غیر از صفر مانند یک و یا کد های بزرگتر در مبنای 16 ژن مربوطه را هویت بندی میکند

در صورتی که یک ژن ۰ ارسال شود به معنای آن است که نیاز نیست از آن ژن استفاده شود

در فرمول بالا ژن اول که با عدد ۱ مشخص شده است نشان دهنده نژاد این اواتار میباشد که برای روح از عدد ۱ استفاده کردیم و ژن بعدی مربوط به نوع بدن آواتار میباشد

و عدد ۱۶ بیتی بعدی رنگ بدن را مشخص میکند

ژن های انتهایی ممکن است امکانات خاصی را به آواتار اضافه کنند که این‌ ژن ها به صورت رندوم تولید میشوند

خب پس تا اینجا ما تونستیم یک DNA دو بعدی خلق کنیم که باید در توابع سازنده استفاده بشه

برای جهش پیدا کردن این ژن در اینده فکر میکنیم چون روح ها قابلیت تولید مثل ندارند پس باید فرمول دیگری برای جهش رو پیدا کنیم


بحث فنی :

برای راحت بودن تغییر رنگ اجزای سازنده آواتار باید اونها به صورت وکتور طراحی بشند که در کد نویسی با حداقل مصرف منابع بتونیم رنگ های مختلفی رو خلق بکنیم و چون خروجی SVG به راحتی در جاوا اسکریپت قابلیت دستکاری داره تصمیم بر این شد تمام آواتار ها به صورت وکتور و با خروجی SVG طراحی بشه


آواتار ساز:

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

سرور:

در مورد سرور با یک برنامه nodejs ای طرف هستیم که بعد از سرهم کردن تمام اجرای svg اون رو به صورت یک خروجی کامل در میاره که بتونه در انجین مورد استفاده قرار بگیره

البته مقیاس بسیار بالایی در نظر گرفته شده که بعدا بشه api برای آواتار کاربر در جا های دیگه هم ارایه بشه


سخن پایانی:

مرسی از اینکه مطلب رو خوندید و در نهایت خوشحال میشم نسخه 0.0.1 شهرک رایگان من رو ببینید