برای مسیر اصلی بازی یا ماموریتهای جانبی خود، با کلکسیونهای ارزشمند، مشوقهایی اضافه کنید.
افزودن قدرتها و کلکسیونها به بازی Godot شما میتواند به طور قابل توجهی تجربه بازیکن را افزایش دهد و آن را جذابتر و هیجانانگیزتر کند. پاور آپ ها می توانند توانایی های ویژه یا مزیت های موقتی را به بازیکن اعطا کنند، در حالی که کلکسیون ها می توانند به عنوان پاداش، امتیاز بازیکن را افزایش دهند یا مزایای دیگری را ارائه کنند.
خوشبختانه، به لطف زبان برنامهنویسی بصری و موتور فیزیک داخلی، ایجاد قدرتها و کلکسیونها در گودو ساده است.
راه اندازی بازی گودو
برای شروع، یک بازی دو بعدی در موتور بازی گودو ایجاد کنید و شخصیت بازیکن را تنظیم کنید. یک صحنه جدید ایجاد کنید و یک گره CharacterBody2D اضافه کنید. در داخل CharacterBody2D، یک CollisionShape2D با شکل مستطیل برای نمایش ناحیه برخورد بازیکن و یک Sprite2D برای نمایش شخصیت بازیکن اضافه کنید.
کد این نسخه ی نمایشی در مخزن GitHub آن موجود است و استفاده از آن تحت مجوز MIT برای شما رایگان است.
اکنون، کد GDScript را بنویسید تا حرکت بازیکن و برخورد با مرزهای صفحه نمایش را کنترل کند. در اینجا کد کامل حرکت بازیکن آمده است:
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
var velocity = Vector2()
if Input.is_action_pressed('ui_right'):
velocity.x += 1
if Input.is_action_pressed('ui_left'):
velocity.x -= 1
if Input.is_action_pressed('ui_down'):
velocity.y += 1
if Input.is_action_pressed('ui_up'):
velocity.y -= 1
velocity = velocity.normalized() * speed
move_and_collide(velocity * delta)
این کد به بازیکن اجازه می دهد با استفاده از کلیدهای جهت دار به چپ، راست، بالا و پایین حرکت کند. همچنین با نرمال کردن بردار سرعت و اعمال ضریب سرعت، تضمین میکند که بازیکن خیلی سریع حرکت نکند.
علاوه بر این، اشیاء دشمن را با مناطق برخورد و جن خود ایجاد کنید. برای مدیریت حرکات دشمن، می توانید از یک تابع _physics_process مشابه به عنوان بازیکن استفاده کنید.
ایجاد کلکسیون
کلکسیونی ها در بسیاری از بازی ها ضروری هستند و نوع رایج آن سکه است. یک سکه کلکسیونی بسازید که در صورت جمع آوری امتیاز بازیکن را 20 امتیاز افزایش دهد.
ابتدا یک صحنه جدید ایجاد کنید و یک گره Area2D به عنوان سکه کلکسیونی اضافه کنید. در داخل Area2D، یک CollisionShape2D با شکل دایره ای برای نشان دادن ناحیه برخورد و یک Sprite2D برای نمایش سکه اضافه کنید.
سپس کد GDScript زیر را به اسکریپت پخش کننده اضافه کنید:
extends CharacterBody2D
var score = 0
func _on_area_2d_body_entered(body):
get_parent().get_node("Collectibles").queue_free()
score += 20
این کد از سیگنال _on_area_2d_body_ented استفاده می کند تا زمانی که شخصیت بازیکن وارد منطقه برخورد سکه کلکسیونی می شود، تشخیص دهد. اگر کاراکتر بازیکن را شناسایی کند، سکه را جمع آوری می کنند ( فراخوانی به queue_free () آن را از صحنه حذف می کند) و امتیاز خود را 20 امتیاز افزایش می دهند.
ایجاد پاور آپ
پاور آپ ها می توانند با ارائه مزایا یا توانایی های موقتی به بازیکن هیجان را به بازی شما اضافه کنند. یک پاور آپ ایجاد کنید که تایمر 10 ثانیه ای را هنگام جمع آوری فعال می کند. اگر بازیکن در این مدت به دشمنی دست بزند، دشمن را نابود می کند.
برای ایجاد قدرت، یک صحنه جدید بسازید و یک گره Area2D اضافه کنید. در داخل Area2D، یک CollisionShape2D با شکل مستطیل و یک Sprite2D برای نمایش قدرت اضافه کنید.
حالا کد زیر را به اسکریپ پخش خود اضافه کنید:
extends CharacterBody2D
var timer_duration = 10
var power_up_active = false
func _on_powerups_body_entered(body):
get_parent().get_node("Powerups").queue_free()
power_up_active = true
# Start the timer
await get_tree().create_timer(10.0).timeout
power_up_active = false
func _on_enemy_body_entered(body):
if power_up_active:
get_parent().get_node("Enemy").queue_free()
else:
queue_free()
این کد از سیگنال _on_powerups_body_ented استفاده می کند تا تشخیص دهد که شخصیت بازیکن چه زمانی قدرت را جمع آوری می کند. هنگامی که آنها این کار را انجام می دهند، قدرت را از صحنه حذف می کند و متغیر power_up_active را روی true تنظیم می کند.
این تابع در نهایت یک تایمر را با استفاده از await و create_timer با مدت زمان 10 ثانیه شروع می کند. در این مدت، اگر شخصیت بازیکن به دشمنی دست بزند، آن را نابود می کند.
نمایش کلکسیون های جمع آوری شده
نمایش تعداد کلکسیون هایی که بازیکن جمع آوری کرده است می تواند حس موفقیت و پیشرفت را به شما اضافه کند. برای انجام این کار، با ایجاد یک گره Label و قرار دادن آن در گوشه سمت چپ بالای صفحه شروع کنید.
سپس، کد GDScript زیر را اضافه کنید تا هر زمان که پخش کننده یک مجموعه جمع آوری می کند، متن برچسب را به روز کنید:
extends Label
func _ready():
self.text = "Collectibles: 0"
در اسکریپت Player.gd:
extends CharacterBody2D
var bar
func _ready():
bar = get_parent().get_node("Label")
func _physics_process(delta):
bar.text = "Collectibles: " + str(score / 20)
این کد متن برچسب را با تعداد کلکسیون های به دست آمده به روز می کند که می توانید با تقسیم امتیاز بازیکن بر 20 آن را محاسبه کنید.
از جمله ویژگی های اضافی
ویژگی های مختلف دیگری وجود دارد که می توانید به سیستم قدرت و کلکسیون خود اضافه کنید تا بازی خود را بیشتر ارتقا دهید. در اینجا چند ایده وجود دارد:
چندین سطح از Power-Ups
به جای داشتن تنها یک نوع افزایش قدرت، میتوانید سطوح مختلفی از قدرتآپها را معرفی کنید که تواناییهای قدرتمندتری را به شما میدهند. به عنوان مثال، میتوانید یک منبع تغذیه اولیه افزایش سرعت را به یک افزایش سرعت فوقالعاده ارتقا دهید که سرعت پخشکننده را حتی بیشتر کند.
پاور آپ های ترکیبی
ترکیبی از قدرتها را ایجاد کنید که وقتی با هم جمع میشوند، جلوههای منحصر به فرد و قدرتمندی را ارائه میدهند. بازیکنان را به استراتژی و آزمایش با ترکیبهای مختلف قدرتآپ برای حداکثر مزیت تشویق کنید.
محدود کردن پاور آپ ها
یک خنکدان یا محدودیتی برای تعداد دفعاتی که یک بازیکن میتواند یک پاور آپ خاص را جمعآوری کند، اعمال کنید. این یک عنصر تصمیم گیری را برای بازیکن اضافه می کند، زیرا آنها باید لحظه مناسب را برای فعال کردن قدرت انتخاب کنند.
انواع کلکسیونی
انواع مختلف کلکسیون ها را با جوایز متفاوت طراحی کنید. برخی از مجموعهها میتوانند زندگی اضافی، علاقهمندان موقت یا قفل ویژگیهای خاصی را در بازی پلتفرمر شما فراهم کنند.
بهترین روش ها برای پیاده سازی پاور آپ ها و کلکسیون ها
هنگام پیادهسازی قدرتها و کلکسیونها در بازی گودو، بهترین روشهای زیر را در نظر بگیرید:
تعادل و تست بازی
قدرت ها و کلکسیون های خود را به طور گسترده آزمایش کنید تا مطمئن شوید که عدم تعادل در بازی ایجاد نمی کنند. افکت ها و جوایز را تنظیم کنید تا تجربه ای منصفانه و لذت بخش برای بازیکنان فراهم کنید.
بازخورد بصری و صوتی
از نمادها یا اسپریت های واضح و جذاب برای نمایش قدرت ها و کلکسیون ها استفاده کنید. علاوه بر این، جلوههای صوتی مناسب و بدون حق نسخهبرداری را برای ارائه بازخورد رضایتبخش در هنگام جمعآوری آنها توسط بازیکنان در نظر بگیرید.
رابط کاربری (UI)
یک رابط کاربری تمیز و شهودی طراحی کنید که اطلاعات مرتبط در مورد قدرتها و کلکسیونها را نمایش میدهد. زمان باقیمانده برای افزایش قدرت فعال، تعداد کلکسیونهای جمعآوریشده و هر جزئیات مرتبط دیگر را نشان دهید.
ثبات
اطمینان حاصل کنید که قدرتها و کلکسیونها با موضوع کلی و مکانیک بازی شما هماهنگ هستند. سازگاری در طراحی و پیاده سازی به حفظ یک تجربه بازی منسجم کمک می کند.
ذخیره و بارگیری کنید
اگر بازی شما شامل قدرتها یا کلکسیونهایی است که در طول جلسات بازی ادامه دارند، یک سیستم ذخیره و بارگذاری را برای حفظ پیشرفت بازیکن پیادهسازی کنید. این یک تجربه یکپارچه را تضمین می کند و بازیکنان را برای بازگشت به بازی ترغیب می کند.
با رعایت این بهترین روشها، میتوانید یک سیستم قدرتبخش و کلکسیونی صیقلی و جذاب ایجاد کنید که گیمپلی بازی Godot شما را غنیتر میکند و آن را برای بازیکنان لذتبخشتر میکند.
جذابتر کردن بازیهای گودو با پاور آپها و کلکسیونها
افزودن پاور آپ ها و کلکسیون ها به بازی گودو شما می تواند به میزان قابل توجهی تعامل و قابلیت پخش مجدد آن را افزایش دهد. پاور آپ ها مزایای هیجان انگیز و موقتی را در اختیار بازیکنان قرار می دهد.
با طراحی و اجرای دقیق پاور آپ ها و کلکسیون ها، می توانید تجربه بازی همه جانبه تر و لذت بخشی را برای بازیکنان خود ایجاد کنید. انعطافپذیری و سادگی گودو باعث میشود توسعهدهندگان بازی به راحتی بتوانند قدرتها و کلکسیونهای جذابی را ایجاد کنند که مکانیک و لذت بازی آنها را افزایش میدهد.