داستان سازی برای بازی - قسمت ۱
تضاد،موتور محرکه داستان است و در تعریف این تضاد میتوان گفت: کسی چیزی را میخواهد یا نیاز دارد اما کسی یا چیزی مانع آن میشود.
برای اینکه یک داستان تبدیل به یک داستان شود حداقل باید یک تضاد اصلی درون خود داشته باشد.
توجه داشته باشید که صرفا تضاد، داستان شما را نمیسازد و شما علاوه بر تضاد باید موانع را هم خلق کنید.
میخواهم به هدفم برسم اما...
این "اما" همان موانعی هستند که حول تضاد اصلی داستان شما وجود خواهند داشت تا داستان بازی شما ساخته شود.
این "اما"همان مراحل،ماموریت ها،محدودیت ها و ... بازی شما هستند.
بدون یک موقعیت میخواهم/اما،تضادی وجود نخواهد داشت و بدون تضاد مانعی در کار نیست.
#Game_Story
#Conflict
#داستان_سازی
#تضاد
👨💻@iran_skill
داستان سازی برای بازی - قسمت ۲
در قسمت اول از تضاد گفتیم اما محدوده این تضاد تا کجاست؟
این تضاد تا چه اندازه باید بزرگ یا کوچک باشد؟
تضاد های بزرگ لزوما داستان قوی نخواهند ساخت!!
تضاد داستان فقط نیاز دارد که بزرگ حس شود و نیازی نیست که واقعا بزرگ باشد.
چه چیزی باعث میشود که هر اندازهای از تضاد، بزرگ به نظر برسد؟
فقط مهم است که این تضاد برای شخصیت داستان شما بزرگ و مهم باشد!
مثلا برای داستانی که شخصیت آن یک لیوان و هدفش رفتن به کنار پنجره و تماشای خیابان است،وزش بادی که از پنجره میآید خیلی تضاد بزرگی است و در این بین موانعی چون میز، یک صندلی،جا لباسی و تلویزیون هم وجود دارند و البته یک سری ابزار ها و کمک هایی مثل دستگیره پنجره، پله و پریدن نیز هستند تا شخصیت شما به هدفش برسد.
اگر باور نمیکنید یک سری به بازی معروف (Cup Head 'Dont Deal Whit The Devil)بزنید تا متوجه منظور من بشوید.
پس فراموش نکنید که همیشه در ساخت داستان بازی تضاد داشته باشید و محدوده این تضاد را به همان اندازه که نیاز است در نظر بگیرد و نه بیشتر!
✔منبع:
(Video Game StoryTelling from Evan Skolnick)
#Game_Story
#conflict
#داستان_سازی
#تضاد
👨💻@iran_skill
داستان سازی برای بازی - قسمت ۳
در دو قسمت قبل فهمیدیم که برای ساخت یک داستان بازی، که بشود آن را داستان بازی دانست حداقل به یک تضاد اصلی و موانعی حول آن نیاز داریم.
اما الان میخواهیم بدانیم که این تضاد و موانع را چگونه وارد صحنه کنیم و به پیش ببریم؟
میتوان با یک تکنیک قدمت دار و امتحان شده ، که اصطلاحا ساختار سه مرحلهای(Three-Act Structure)نام دارد داستان را هدایت کنیم.
این تکنیک ۳ مرحله دارد،مرحله آماده سازی صحنه،مرحله ظهور تضاد اصلی و قهرمانی که قرار است آن را حل کند و مرحله آخر که تضاد توسط قهرمان داستان حل میشود(البته ممکن است قهرمان شکست هم بخورد که توصیه نمیشود🤝).
#Game_story
#Three_Act_Structure
#تکنیک_داستان_سازی
👨💻@iran_skill
داستان سازی برای بازی - قسمت ۴
ابتدا برای اینکه تضاد اصلی را برای مخاطب مطرح و یک قهرمان برای آن پیدا کنیم به مرحله آماده سازی میپردازیم.
سپس تضاد اصلی را نمایش میدهیم و قهرمان بازی را وارد میکنیم تا با آن رو به رو شود و در نهایت وارد مرحله حل تضاد توسط قهرمان میشویم تا داستان را تمام کنیم.
اهمیت مرحله اول در این است که باید محیطی خوب و منطقی خلق کنیم تا دلیل و علت تضاد داستان ما خوب برای مخاطب جا بیفتد و به این ترتیب ظهور قهرمان برای حل لازم و ضروری شود و مخاطب حاضر شود تا با قهرمان ما به جنگ تضاد و تعارضات بازی برود.
اهمیت مرحله دوم که بزرگتر از دو مرحله دیگر است در این هست که پیوسته چالش قهرمان و موانع را خوب خلق کنیم و مخاطب را درگیر نگه داریم و در مرحله آخر لذت یک پیروزی شیرین را پس از صحنه های سخت نسیب مخاطب میکنیم و بازی تمام میشود...
#Game_Story
#Three_Act_Structure
#تکنیک_داستان_سازی
👨💻@iran_skill
HTML - CSS - Java Script
میتوان گفت امروزه همه گیر ترین ابزار های توسعه وب اپ ها(web apps)و وبسایت ها سه تکنولوژی html,css و جاوا اسکریپت است که به صورت ساده در توصیف آنها میشود گفت: html اجزای موجود در صفحه را ایجاد میکند و سی اس اس به آنها نظم و طرح و رنگ میبخشد و در نهایت جاوا اسکریپت آنها را حرکت میدهد و قابلیت میبخشد.
به عنوان مثال وقتی وارد سایت گوگل میشوید لوگوی گوگل را html به صفحه آورده ، اندازه و محل آن را css و قابلیت سرچ زدن و واکنش نشان دادن آن را جاوا اسکریپت مدیریت کرده است(البته در این بین کتابخانه های زیادی چون Reactهم استفاده میشود که برای افراد علاقهمند به حوزه وب مهارت هایی ضروری هستند)
#وب
👨💻@iran_skill
سه چهار روزی رو باید درس بخونم و احتمالا پیام نزارم،بعد ۸ام احتمالا یه شگفتانه خوب براتون بزارم💯
👨💻@iran_skill
Collide.zip
41.56M
این هم شگفتانهای که قولش رو داده بودم
اولین بازی جدی که زدم هست و خاطره...
🖥برای ویندوز | 64bit
🕹با space موتور رو روشن کنید
🎮برای چرخش A و D
🔁با دوستان خود به اشتراک بگذارید
#بازی
#شگفتانه
#خاطره
👨💻@iran_skill
Android Studio
اگر در زمینه توسعه نرمافزار یا بازی برای اندروید باشید احتمالا با مشکل تحریم بودن نرمافزار(Android Studio) مواجه شدهاید که دردسر هایی مثل عدم امکان نصب SDKرا ایجاد میکند.
یه روش ساده برای حل این مشکل
۱.نرم افزار را از سایت داخلی دانلود کنید
۲.به قسمت sdk manager برنامه بروید
۳.پروکسی را سرچ کنید و با تنظیم کردن آن از برنامه استفاده کنید
یک پروکسی پیشنهادی:https://github.com/freedomofdevelopers/fod.git
#Android_Studio
#proxy
#اندروید
👨💻@iran_skill
7z2201-x64.exe
1.58M
7 ZIP
یک فشرده ساز و البته استخراج کننده فوقالعاده سبک و کارا که با نصب اون و اضافه شدنش به آپشن های کلیلک راست به سادگی باهاش اکثر فرمت های فشره شده رو استخراج کنید
✔نسخه ویندوز | 64bit
👨💻@iran_skill
کارت گرافیک و کِرَش کردن سیستم
اگر در ویندوز ۱۰ پس از نصب بروز ترین نسخه کارت گرافیک،سیستم شما به یک صفحه آبی منتقل شد(ran into a problem) و یا در آخرین لحظات نصب سیستم به طور کامل هنگ کرد،اینجاست که دوست دارم تجربه تلخ مرا تکرار نکنید!!
ماجرا از این داستان است که مجبور میشوید سیستم را به صورت دستی خاموش کنید ولی در هنگام بوت دوباره سیستم در صفحه تاریک باقی میماند و داستان شروع میشود😁.
به سراغ ویدیو های اینترنت که پیشنهاد میدهند کد های عجیبی را باید در cmdوارد کنید نروید و به حرف فردی که پشت لپتاپ را کامل گشود و از باتری مادربورد تا فن GPUرا هم تمیز و چک کرد گوش ندهید!!
بسوزد پدر تجربه🥺
با سیستم ریستور ویندوز هم به عقب برنگردید تا اطلاعات شما به فنا برود و ویندوز را هم دوباره نصب نکنید😭
🔻آسان ترین راه حل:
۱.پس از کِرش کردن سیستم آن را به صورت دستی خاموش کنید
۲.وارد حالت Safe mode شوید(نحوه ورود را از اینترنت پیدا کنید)
۳.در قسمت جستجوی ویندوز عبارت Device manager را تایپ و آن را باز کنید
۴.سراغ Display adapters بروید و روی نسخه کارت گرافیکی که وجود دارد راست کلیک کنید و unistallرا بزنید سپس باکس deleteرا هم تیک کنید و okرا بزنید
۵.سیستم را ریستارت کنید تا این بار بتوانید وارید ویندوز شوید💁♂️
#windows
#ویندوز
#کارت_گرافیک
👨💻@iran_skill
آقای مهندس
کارت گرافیک و کِرَش کردن سیستم اگر در ویندوز ۱۰ پس از نصب بروز ترین نسخه کارت گرافیک،سیستم شما به یک
نحوه نصب کارت گرافیک بدون مشکل(۲)
اگر هزار بار سعی کنید که همان کارت گرافیک را نصب کنید باز در باتلاق همان مشکل خواهید افتاد.
داستان از این قرار است که کارت گرافیک شما قدیمی است و نسخهای که دانلود کردهاید با ویندوز شما سازگار نیست.
🔻راهکار ها:
۱.یک سیستم جدید با GPU قوی بخرید🤝
۲.نسخه ویندوز خود را پیدا کرده و نسخه کارت گرافیک مناسب آن را در اینترنت جستوجو کنید
آن را نصب کنید و بدون مشکل از کار با آن لذت ببرید
۳.احتمالا هنگام خرید سیستم یک سیدی که تمام درایو های لازم درون آن هست را به شما دادهاند،از آن استفاده کنید
۴.با تبر سیستم را نابود کنید تا از لحاظ ذهنی التیام یابید،هر چند احتمالا از لحاظ مالی به شدت جریحه دار میشوید(⚠️این گزینه به هیچ وجه در خانه توصیه نمیشود مخصوصا اگر زیر ۱۸ سال سن دارید)
#AMD
#windows
#crash
👨💻@iran_skill
پیشنهاد خرید لپتاپ مناسب
اگر دنبال یک لپتاپ با سخت افزار خوب و قیمت مناسب هستید این👈مدل👉رو نگاهی بیندازید
⚠️قبل از خرید با چند نفر متخصص مشورت کنید.
#لپتاپ
#پیشنهاد
#خرید
👨💻@iran_skill
فعلا قابلیت پخش رسانه در مرورگر فراهم نیست
مشاهده در پیام رسان ایتا
دهه فجر مبارک🚩
🇮🇷🇮🇷🇮🇷🇮🇷🇮🇷🇮🇷🇮🇷🇮🇷🇮🇷🇮🇷🇮🇷🇮🇷🇮🇷
👨💻@iran_skill
ایده های بازی سازی تون رو به آیدی که تو بیو هست بفرستید تا بهترین کمک خودتون رو به من کرده باشید🌺🌺
#ایده
#بازی
#بازی_سازی
👨💻@iran_skill
May 11
میدونید چرا پیامی براتون نمیزارم؟
چون فعلا پیامی ندارم که بزارم و از طرفی نمیخوام با مطالب بیهوده وقت شما رو بگیرم تا صرفا سری به کانال بزنید
پس فقط هشدار پیغام کانال رو روشن کنید و اگر روزی حرف به درد بخوری براتون داشتم،بهتون خبر میدم
ممکنه حرف های مهمی باشن
👨💻@iran_skill
در ساخت بازی گاهی از انتخاب معیار ها و اندازه های معمول خارج بشید و کار هایی که غیر عقلانی به نظر میرسند رو امتحان کنید.
گاهی از درونِ باگ و بی نظمی یک ایده بازی بسیار عالی پیدا میشود.
#خلاقیت
#بازی
👨💻@iran_skill
معرفی ابزار مناسب ساخت بازی
در زمینه بازی های سه بعدی از ابزار #آنریل انجین استفاده کنید و برای بازی های دوبعدی از #گودوت استفاده کنید و درون آن اگر سرعت و بهینه سازی برایتان بسیار مهم است به جای GDscrip از #C استفاده کنید.
#Godot
#Unreal
#Unity
#بازی_سازی
👨💻@iran_skill
آقای مهندس
معرفی ابزار مناسب ساخت بازی در زمینه بازی های سه بعدی از ابزار #آنریل انجین استفاده کنید و برای باز
مزیت استفاده از #گودوت نسبت به #یونیتی در بازی های دو بعدی،رایگان بودن آن و همچنین ابزار های هم سطح آن با یونیتی است.
در زمینه بهینه بودن نیز اگر از زبان سی شارپ استفاده کنید حدود دو نیم برابر سریع تر از حالت mono behavior یونیتی است.
در زمینه سه بعدی هم که آنریل با زبان c++ و همچنین سیستم بلوپرینت و سیستم انیمیشن بسیار قوی و پارتیکل افکت هایش بسیار قوی تر از یونیتی است.
در زمینه ایجاد بازی های جهان باز نیز آنریل بهتر است.
#Godot
#Unreal
#Unity
👨💻@iran_skill
دوره آموزشی عمیق جاوا اسکریپت
اگر دنبال یک دوره مناسب جهت فهم بهتر و عمیق تر از Javascript هستید دورهJAVASCRIPT UNDERSTANDING THE WEIRD PARTS رو پیشنهاد میکنم.
میتونید از برخی از سایت های داخلی به صورت رایگان دانلود کنید.
دقت داشته باشید که قبل از اینکه یک آشنایی پایه و مناسب از جاوا اسکریپ داشته باشید،خوب نیست سراغ این دوره برید.
#javascript
#web
#دوره
👨💻@iran_skill
فعلا قابلیت پخش رسانه در مرورگر فراهم نیست
مشاهده در پیام رسان ایتا
وضعیت من وقتی دارم پروژهای رو میزنم که هنوز از لحاظ ذهنی آمادهاش نیستم
#برنامه_نویسی
#طنز
👨💻@iran_skill
زمان و نحوه استفاده از interface در سی شارپ - قسمت اول
خیلی ها در عمل بین کلاس های انتزاعی(abstract) و کلاس های رابط(interface) دچار سردرگمی میشوند.
آنها احساس میکنند که اگر ما مجموعهای از کلاس ها داشه باشیم که همه آنها دارای یک سری رفتار و فعل مشابه باشند از رابط ها استفاده میکنیم،در حالی که این وظیفه کلاس های انتزاع است.
برای روشن شدن کاربرد رابط ها با یک مثال جلو میرویم.
تصور کنید شما بازیای طراحی کردهاید که در آن بازیکن دارای قابلیت حرکت و مبارزه است.
در اینجا قابلیت مبارزه کردن وابسته به قابلیت حرکت کردن است تا به هدف برسد!
تا اینجا مشکلی نیست،اما زمانی که به هدف رسید باید قابلیت حرکت متوقف شود و قابلیت مبارزه شروع به کار کند سپس تصور کنید بازیکن در وسط مبارزه دوباره قصد حرکت و ترک مبارزه را داشته باشد،در اینجا قابلیت حرکت هم وابسته به قابلیت مبارزه خواهد شد تا بتواند به آن اطلاع دهد که مبارزه را متوقف کند تا بتواند به حرکت ادامه دهد.
این موقعیتی است که از آن به جهنم وابستگی یاد میشود،اگر پروژه بزرگتر شود ۱۰ها قابلیت هر کدام به صورت معکوس به هم وابستهاند و فقط کافی است یک قابلیت تغییر کنید تا قابلیت هایی که وابسته به آن بودند دیگر کار نکنند و تمام پروژه به هم بریزد و زحمات دود شود.
اما راه حل چیست؟
#سی_شارپ
#برنامه_نویسی
#رابط
#interface
👨💻@iran_skill
زمان و نحوه استفاده از interface در سی شارپ - قسمت دوم
در پست قبل یک توضیح اولیه از مشکلی که ما را به استفاده از رابط ها خواهد رساند ارائه دادیم.
در این پست نحوه حل این مشکل را بررسی میکنیم.
در قدم اول برای رهایی از مشکل جهنم وابستگی ها میتوانیم یک کلاس سوم ایجاد کنیم و به جای اینکه قابلیت حرکت و مبارزه مستقیما با هم صحبت کنند،هر کدام هنگامی که کارش را شروع کرد به این کلاس سوم اطلاع دهد،ما نام این کلاس سوم را مرکز کنترل میگذاریم.
در اینجا زمانی که قابلیت مبارزه کار خود را شروع میکند،خود را به مرکز کنترل معرفی میکند تا نشان دهد شروع به کار کرده است،سپس مرکز کنترل ضمن تشخیص کسی که خودش را معرفی کرده باید به قابلیت حرکت اطلاع دهد که کار خود را متوقف کند.
اکنون قابلیت حرکت و مبارزه بدون اینکه هیچ اطلاعی از هم داشته باشند کار خود را انجام میدهند.
اما کار هنوز تمام نشده است،اگر به جای دو قابلیت قبل،قابلیت های صحبت کردن،غذا خوردن،شنا کردن و ده ها قابلیت دیگر اضافه شود،چه بلایی بر سر مرکز کنترل خواهد آمد.
مرکز مجبور است هر بار که نامی رسید با حلقه های شرطی طولانی بررسی کند که چه کسی است که با مرکز ارتباط گرفته تا بعدا وقتی شخص دیگری خود را معرفی کرد،بداند که به چه شخصی باید بگوید کارش را متوقف کند!!
از سمتی با اضافه شدن قابلیت جدید او نیز باید یک حلقه شرطی دیگر برای بررسی اضافه کند...
اینجاست که مرکز کنترل از رابط ها استفاده میکند تا به رنج خود پایان دهد.
#interface
#سی_شارپ
#آموزش
👨💻@iran_skill
زمان و نحوه استفاده از interface در سی شارپ - قسمت سوم
مرکز کنترل برای پایان دادن به رنج خود و بررسی های عریض و طویل اینکه چه شخصی قصد انجام چه کاری را دارد، تمام کلاس هایی که قصد کار مشخصی با هم دارند را تشویق به ایجاد یک رابطه یا قرارداد میکند.
فرض کنید یک کلاس interface تحت عنوان اجازه ساخته میشود،داخل آن یک تابع ایجاد میشود که نام آن (توقف) است هیچ بدنه کدی ندارد، در این مثال ورودی(parameter) نمیگیرد و فرضا هیچ خروجی(return) هم ندارد.
سپس همه کلاس ها(قابلیت ها) از کلاس (اجازه) ارث بری میکنند.
حال تمام کلاس هایی که این کار را کردهاند مجبوراند یک تابع دقیقا با همان نام ،همان نوع ورودی و همان نوع خروجیِ تابع توقفی که درون کلاس اجازه است بسازند.
حالا مرکز کنترل فقط تماس کسانی را پاسخ میدهد که در رابطه یا همان قراردادِ (اجازه) حضور دارند، دیگر نیازی نیست که او بداند دقیقا چه شخصی با او ارتباط گرفته و یا حتی خودش با چی شخصی تماس میگیرد ،مرکز کنترل تنها اطلاع دارد که کسی وجود دارد که قرارداد اجازه را امضا کرده و قبلا نیز شروع کارش را به او اطلاع داده حالا کس دیگری نیز که او نیز در چنین قراردادی است قصد شروع کاری دارد،مرکز کنترل به فرد قبلی اطلاع اجرای قرارداد توقف را میدهد و نفر فعلی را نیز به عنوان فردی که در حال اجرای کار خود است و در قرارداد حضور دارد به خاطر میسپارد تا در تماس بعدی به او نیز اطلاع دهد.
این بود مزیت استفاده از interface در سی شارپ.
#interface
#سی_شارپ
#آموزش
👨💻@iran_skill
معرفی توابع ایستا(static function) در سی شارپ
توابع استاتیکِ داخل یک کلاس در سی شارپ را بدون اینکه نمونهای از آن کلاس را بسازید قابل دسترساند،آنها فقط یکبار توسط سیستم ساخته میشوند و برای دسترسی به آن تنها کافی است پس از نام کلاس با اوپراتور دات( Class.StaticFunction) از آنها استفاده کنید.
آنها چیزی خارج از بدنه خود را در کلاسی که هستند تغییر نمیدهند و عملیات آنها بر روی ورودی که میگیرند شکل میگیرد.
چنین توابعی برای ساختن عملیات های جبری بسیار مفیداند.
اگر کاری را میخواهید انجام دهید که در بخش های گوناگون پروژه بار ها به آن کار نیاز دارید میتوانید از این توابع استفاده کنید.
👨💻@iran_skill