วิธีสร้าง Power-Ups และของสะสมใน Godot
การเพิ่มพลังและของสะสมในเกม Godot ของคุณสามารถปรับปรุงประสบการณ์ของผู้เล่นได้อย่างมาก ทำให้น่าดึงดูดและน่าตื่นเต้นยิ่งขึ้น การเพิ่มพลังสามารถให้ความสามารถพิเศษหรือความได้เปรียบชั่วคราวแก่ผู้เล่น ในขณะที่ของสะสมสามารถใช้เป็นรางวัล เพิ่มคะแนนของผู้เล่นหรือให้ผลประโยชน์อื่นๆ
โชคดีที่การสร้างการเพิ่มพลังและของสะสมใน Godot ได้รับการพิสูจน์แล้วว่าเป็นกระบวนการที่ราบรื่นเนื่องจากภาษาสคริปต์ที่ใช้งานง่ายและกลไกทางฟิสิกส์ที่รวมอยู่ในตัว
การตั้งค่าเกม Godot
ในการเริ่มต้นกระบวนการ ให้ใช้เอ็นจิ้นเกม Godot เพื่อพัฒนาสภาพแวดล้อมของเกมแบบสองมิติ เริ่มต้นด้วยการสร้างฉากใหม่ภายในเครื่องยนต์และเพิ่มโหนด “CharacterBody2D” ลงไป ภายในโหนดนี้ รวมคอมโพเนนต์"CollisionShape2D"ที่มีรูปแบบสี่เหลี่ยมผืนผ้าเพื่อเป็นสัญลักษณ์ของขอบเขตทางกายภาพของผู้เล่น เช่นเดียวกับองค์ประกอบ"Sprite2D"สำหรับแสดงรูปลักษณ์ภายนอกของตัวเอก
ซอร์สโค้ดของการสาธิตนี้สามารถเข้าถึงได้ผ่านพื้นที่เก็บข้อมูลบน GitHub ซึ่งเปิดให้เข้าถึงได้ฟรีภายใต้เงื่อนไขของใบอนุญาต MIT ทำให้ผู้ใช้สามารถใช้งานได้โดยไม่มีค่าใช้จ่ายหรือข้อจำกัดใดๆ ที่กำหนดโดยค่าธรรมเนียมใบอนุญาต
ในการใช้ฟังก์ชันการจัดการการเคลื่อนไหวของผู้เล่นและการตรวจจับการชนกับขอบเขตของหน้าจอในลักษณะที่ซับซ้อนโดยใช้ GDScript อาจใช้ข้อมูลโค้ดต่อไปนี้เป็นจุดเริ่มต้น:gdscriptextends Nodevar speed_x=10 * (input.is_pressed(“left”)-input.is_pressed(“ขวา”))var speed_y=10 * (input.is_pressed(“ขึ้น”)-input.is_pressed(“ลง”))var การเร่งความเร็ว=Vector2(speed_x, speed_y)var maxSpeed =50var onGround=falsevar groundedTime=0func _process(_delta: float): โมฆะ{move_and_slide()}
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)
รหัสที่ให้มาช่วยให้ผู้ใช้สามารถนำทางไปในทิศทางต่างๆ โดยใช้ปุ่มลูกศร นอกจากนี้ยังควบคุมอัตราการเคลื่อนที่ผ่านการทำให้เวกเตอร์ความเร็วเป็นปกติและการใช้พารามิเตอร์ความเร็วที่ปรับได้
นอกจากนี้ จำเป็นต้องสร้างเอนทิตีของฝ่ายตรงข้ามพร้อมกับโซนการชนกันและการแสดงกราฟิก เพื่อควบคุมการเคลื่อนที่ของศัตรู เราอาจใช้วิธีการที่เทียบเคียงได้กับฟังก์ชันการประมวลผลทางฟิสิกส์ที่ใช้กับตัวเอก
การสร้างของสะสม
การสะสมสิ่งของต่างๆ เช่น เหรียญ มักจะมีบทบาทสำคัญในวิดีโอเกม โดยโทเค็นเสมือนเหล่านี้จะทำหน้าที่ปรับปรุงประสบการณ์โดยรวมของผู้เล่น ในบริบทนี้ จะเป็นการดีที่จะแนะนำเหรียญสะสมที่มีเอกลักษณ์และดึงดูดสายตา ซึ่งจะช่วยเพิ่มคะแนนของผู้เล่นเมื่อได้รับ มูลค่าคะแนนเพิ่มเติมนี้อาจสูงถึง 20 คะแนน จึงเป็นรางวัลที่จับต้องได้สำหรับผู้ที่แสวงหาของสะสมพิเศษเหล่านี้อย่างจริงจัง
ในการสร้างเหรียญสะสมในเกมของคุณ ก่อนอื่นให้แนะนำฉากใหม่ในตัวแก้ไข Unity ถัดไป นำเข้าวัตถุ 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\_entered
เพื่อระบุเมื่อตัวละครของผู้เล่นทะลุผ่านช่องชนกันของเหรียญสะสม ในกรณีนี้ ผู้เล่นจะถือว่าได้เก็บเหรียญแล้ว ซึ่งจะนำไปสู่การลบออกจากการแสดงภาพด้วยวิธีการ queue\_free()
ดังนั้นคะแนนของผู้เล่นจะเพิ่มขึ้นอีก 20 คะแนน
การสร้าง Power-Ups
การเพิ่มพลังมีศักยภาพในการเพิ่มความตื่นเต้นในการเล่นเกมโดยการให้ผลประโยชน์หรือความสามารถชั่วคราวแก่ผู้เล่น พิจารณาใช้การเพิ่มพลังที่ทริกเกอร์การนับถอยหลัง 10 วินาทีเมื่อได้รับ เมื่อผู้เล่นสัมผัสกับศัตรูในช่วงเวลานี้ พวกเขาจะต้องกำจัดศัตรู
ในการสร้างการเพิ่มพลังในเอนจิ้นเกมของเรา ก่อนอื่นเราต้องสร้างฉากใหม่ภายในลำดับชั้นของโปรเจ็กต์ ต่อไป เราควรสร้างอินสแตนซ์ของวัตถุ Area2D ภายในฉากที่สร้างขึ้นใหม่นี้ ซึ่งจะทำหน้าที่เป็นที่เก็บเชิงพื้นที่สำหรับการเพิ่มพลัง ภายใน Area2D เราสามารถแทรกส่วนประกอบ CollisionShape2D ที่กำหนดคุณสมบัติทางเรขาคณิตของ CollisionShape2D ของการเพิ่มพลัง นอกจากนี้ สิ่งสำคัญคือต้องรวมการนำเสนอการเพิ่มพลังที่ดึงดูดสายตาด้วยการเพิ่มอินสแตนซ์ Sprite2D ให้กับ Component Property เดียวกันของ Area2D การผสมผสานของส่วนประกอบนี้จะรวมกันเป็นวัตถุเสริมพลังในเอนจิ้นเกมของเรา
รวมข้อมูลโค้ดดังกล่าวไว้ในสคริปต์โปรแกรมเล่นของคุณโดยต่อท้ายโค้ดที่มีอยู่
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()
รหัสปัจจุบันใช้ประโยชน์จาก
ฟังก์ชันเริ่มจับเวลาโดยใช้ wait
และ create\_timer
ซึ่งมีระยะเวลาสิบวินาที ในช่วงเวลานี้ ตัวละครของผู้เล่นควรสัมผัสกับศัตรู จะส่งผลให้ถูกทำลาย
แสดงของสะสมที่รวบรวมไว้
การผสมผสานการแสดงภาพของสะสมที่สะสมไว้ภายในอินเทอร์เฟซของเกมอาจทำให้ผู้ใช้รู้สึกถึงความสำเร็จและความก้าวหน้า แนวทางที่เหมาะสมในการบรรลุเป้าหมายนี้คือการเริ่มต้นสร้างองค์ประกอบฉลากที่ดึงดูดสายตาและวางอย่างมีประสิทธิภาพไว้ที่ด้านซ้ายบนของจอแสดงผล
ในการแก้ไขข้อความป้ายกำกับเมื่อผู้เล่นรวบรวมของสะสม โปรดรวมข้อมูลโค้ด 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)
รหัสปัจจุบันแก้ไขรูปลักษณ์ของฉลากเพื่อสะท้อนถึงจำนวนของสะสมทั้งหมดที่ได้รับมา ซึ่งอาจพิจารณาจากการหารคะแนนสะสมของแต่ละคนด้วยยี่สิบ
รวมถึงคุณสมบัติเพิ่มเติม
อาจพิจารณารวมคุณสมบัติหรือคุณสมบัติเพิ่มเติมเข้ากับระบบเพิ่มพลังและสะสมเพื่อยกระดับประสบการณ์การเล่นเกมโดยรวม แนวคิดที่เป็นไปได้บางประการ ได้แก่:
ระดับการเพิ่มพลังหลายระดับ
แทนที่จะจำกัดการเลือกไว้เพียงระดับเดียวของการเพิ่มพลัง เป็นไปได้ที่จะรวมระดับความแรงที่แตกต่างกันสำหรับการปรับปรุงเหล่านี้ เพื่อแสดงให้เห็น ตัวเร่งความเร็วมาตรฐานอาจได้รับการยกระดับเป็นเวอร์ชัน supersedeveloper ซึ่งให้สิทธิ์แก่ผู้ใช้ในการเพิ่มความเร็วอย่างมีนัยสำคัญยิ่งขึ้น
การเพิ่มพลังคอมโบ
พิจารณาการคิดค้นการผสมผสานการเพิ่มพลังที่หลากหลาย ซึ่งแต่ละอย่างให้ผลลัพธ์ที่โดดเด่นและน่าเกรงขามตามการสะสม สร้างแรงบันดาลใจให้เกมเมอร์พิจารณาและทดสอบการปรับปรุงต่างๆ เหล่านี้เพื่อให้ได้ประโยชน์สูงสุด
การจำกัดการเพิ่มพลัง
พิจารณาการใช้ช่วงคูลดาวน์หรือการจำกัดความถี่ที่ผู้เล่นอาจได้รับบูสต์เฉพาะ มาตรการดังกล่าวจะแนะนำทางเลือกในการเล่นเกม บังคับให้ผู้ใช้เลือกเวลาที่เหมาะสมที่สุดเพื่อใช้การปรับปรุงนี้
พันธุ์สะสม
พัฒนารายการสะสมที่หลากหลายภายในเกม platformer ที่ให้ผลประโยชน์ที่แตกต่างกันเมื่อได้มา ซึ่งอาจรวมถึงของสะสมประเภทต่างๆ ที่ให้ชีวิตเพิ่มเติม การปรับปรุงชั่วขณะ หรือเปิดใช้งานคุณสมบัติการเล่นเกมที่ไม่เหมือนใครเมื่อสะสม
แนวทางปฏิบัติที่ดีที่สุดสำหรับการเพิ่มพลังและของสะสม
เมื่อรวมการเพิ่มพลังและของสะสมในเกม Godot จำเป็นต้องปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเพื่อประสิทธิภาพสูงสุดและความพึงพอใจของผู้ใช้
ยอดคงเหลือและการทดสอบการเล่น
เพื่อรักษาสมดุลและความยุติธรรมภายในเกม สิ่งสำคัญคือต้องทดสอบการเพิ่มพลังและของสะสมทั้งหมดอย่างละเอียด เพื่อให้แน่ใจว่าเอฟเฟกต์และรางวัลของพวกมันได้รับการปรับอย่างเหมาะสมเพื่อมอบประสบการณ์การเล่นเกมที่สนุกสนานให้กับผู้เล่น
ข้อเสนอแนะภาพและเสียง
ใช้สัญลักษณ์หรือกราฟิกที่สวยงามเพื่อสื่อถึงการเพิ่มพลังและของสะสม นอกจากนี้ ให้รวมเสียงประกอบที่เหมาะสมซึ่งไม่มีลิขสิทธิ์ซึ่งให้ข้อเสนอแนะที่น่าพึงพอใจเมื่อผู้เล่นได้รับองค์ประกอบเหล่านี้
ส่วนติดต่อผู้ใช้ (UI)
สร้างส่วนต่อประสานผู้ใช้ที่สวยงามและตรงไปตรงมาซึ่งแสดงข้อมูลที่เกี่ยวข้องเกี่ยวกับการเพิ่มพลังและของสะสมในลักษณะที่ชัดเจน รวมองค์ประกอบภาพเพื่อระบุระยะเวลาของการเพิ่มพลังที่เปิดใช้งานในปัจจุบัน เช่นเดียวกับจำนวนของสะสมสะสมที่ผู้เล่นได้รับ นอกจากนี้ ให้รวมข้อมูลที่เกี่ยวข้องเพิ่มเติมซึ่งถือว่าจำเป็นสำหรับการปรับปรุงประสบการณ์การเล่นเกมโดยรวม
ความสม่ำเสมอ
การตรวจสอบความสอดคล้องกันระหว่างการเพิ่มพลังและของสะสมเป็นสิ่งสำคัญในการรักษาประสบการณ์การเล่นเกมที่เป็นหนึ่งเดียว เนื่องจากมันสะท้อนถึงการยึดมั่นในบรรทัดฐานหลักและกฎที่ควบคุมกลไกของเกม
บันทึกและโหลด
เพื่อมอบประสบการณ์การเล่นเกมที่ราบรื่นและกระตุ้นให้เล่นต่อไป สิ่งสำคัญคือต้องรวมคุณสมบัติสำหรับบันทึกและโหลดความคืบหน้าของผู้เล่นในส่วนที่เกี่ยวข้องกับองค์ประกอบในเกมที่มีอยู่ เช่น การเพิ่มพลังหรือของสะสม สิ่งนี้จะช่วยให้มั่นใจได้ว่าความคืบหน้าของผู้เล่นจะยังคงอยู่ แม้ว่าพวกเขาจะเลือกออกจากเกมชั่วคราวก็ตาม ซึ่งจะเป็นการส่งเสริมความปรารถนาที่จะกลับมาเล่นเกมอีกครั้งในอนาคต
การปฏิบัติตามวิธีการที่แนะนำเหล่านี้จะช่วยให้สามารถพัฒนาระบบเพิ่มพลังและสะสมที่ยอดเยี่ยม ซึ่งเมื่อรวมเข้ากับการเล่นเกมของ Godot แล้ว มีศักยภาพในการยกระดับคุณค่าความบันเทิงโดยรวมและเพิ่มระดับความพึงพอใจให้กับผู้เล่น
ทำให้เกม Godot มีส่วนร่วมมากขึ้นด้วยการเพิ่มพลังและของสะสม
การรวมการเพิ่มพลังและไอเท็มที่สะสมได้ในเกม Godot ได้รับการแสดงเพื่อเพิ่มการมีส่วนร่วมของผู้เล่นและมูลค่าการเล่นซ้ำโดยนำเสนอผลประโยชน์ระยะสั้นที่น่าตื่นเต้นสำหรับเกมเมอร์
ด้วยการวางแผนอย่างรอบคอบและการใช้การเพิ่มพลังและไอเท็มสะสม เราสามารถเสริมสร้างประสบการณ์การเล่นเกมที่น่าดึงดูดและน่าพึงพอใจสำหรับเกมเมอร์ ความสามารถในการปรับตัวและความตรงไปตรงมาของ Godot ช่วยอำนวยความสะดวกในการสร้างการเพิ่มพลังและของสะสมที่น่าสนใจซึ่งช่วยเสริมกลไกหลักของเกมและความพึงพอใจโดยรวม