Contents

วิธีสร้าง 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)

รหัสที่ให้มาช่วยให้ผู้ใช้สามารถนำทางไปในทิศทางต่างๆ โดยใช้ปุ่มลูกศร นอกจากนี้ยังควบคุมอัตราการเคลื่อนที่ผ่านการทำให้เวกเตอร์ความเร็วเป็นปกติและการใช้พารามิเตอร์ความเร็วที่ปรับได้

นอกจากนี้ จำเป็นต้องสร้างเอนทิตีของฝ่ายตรงข้ามพร้อมกับโซนการชนกันและการแสดงกราฟิก เพื่อควบคุมการเคลื่อนที่ของศัตรู เราอาจใช้วิธีการที่เทียบเคียงได้กับฟังก์ชันการประมวลผลทางฟิสิกส์ที่ใช้กับตัวเอก

/th/images/simple-game-for-collectibles-in-godot.jpg

การสร้างของสะสม

การสะสมสิ่งของต่างๆ เช่น เหรียญ มักจะมีบทบาทสำคัญในวิดีโอเกม โดยโทเค็นเสมือนเหล่านี้จะทำหน้าที่ปรับปรุงประสบการณ์โดยรวมของผู้เล่น ในบริบทนี้ จะเป็นการดีที่จะแนะนำเหรียญสะสมที่มีเอกลักษณ์และดึงดูดสายตา ซึ่งจะช่วยเพิ่มคะแนนของผู้เล่นเมื่อได้รับ มูลค่าคะแนนเพิ่มเติมนี้อาจสูงถึง 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 คะแนน

/th/images/collectibles-in-godot.jpg

การสร้าง 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) 

รหัสปัจจุบันแก้ไขรูปลักษณ์ของฉลากเพื่อสะท้อนถึงจำนวนของสะสมทั้งหมดที่ได้รับมา ซึ่งอาจพิจารณาจากการหารคะแนนสะสมของแต่ละคนด้วยยี่สิบ

/th/images/display-collectibles-in-godot.jpg

รวมถึงคุณสมบัติเพิ่มเติม

อาจพิจารณารวมคุณสมบัติหรือคุณสมบัติเพิ่มเติมเข้ากับระบบเพิ่มพลังและสะสมเพื่อยกระดับประสบการณ์การเล่นเกมโดยรวม แนวคิดที่เป็นไปได้บางประการ ได้แก่:

ระดับการเพิ่มพลังหลายระดับ

แทนที่จะจำกัดการเลือกไว้เพียงระดับเดียวของการเพิ่มพลัง เป็นไปได้ที่จะรวมระดับความแรงที่แตกต่างกันสำหรับการปรับปรุงเหล่านี้ เพื่อแสดงให้เห็น ตัวเร่งความเร็วมาตรฐานอาจได้รับการยกระดับเป็นเวอร์ชัน supersedeveloper ซึ่งให้สิทธิ์แก่ผู้ใช้ในการเพิ่มความเร็วอย่างมีนัยสำคัญยิ่งขึ้น

การเพิ่มพลังคอมโบ

พิจารณาการคิดค้นการผสมผสานการเพิ่มพลังที่หลากหลาย ซึ่งแต่ละอย่างให้ผลลัพธ์ที่โดดเด่นและน่าเกรงขามตามการสะสม สร้างแรงบันดาลใจให้เกมเมอร์พิจารณาและทดสอบการปรับปรุงต่างๆ เหล่านี้เพื่อให้ได้ประโยชน์สูงสุด

การจำกัดการเพิ่มพลัง

พิจารณาการใช้ช่วงคูลดาวน์หรือการจำกัดความถี่ที่ผู้เล่นอาจได้รับบูสต์เฉพาะ มาตรการดังกล่าวจะแนะนำทางเลือกในการเล่นเกม บังคับให้ผู้ใช้เลือกเวลาที่เหมาะสมที่สุดเพื่อใช้การปรับปรุงนี้

พันธุ์สะสม

พัฒนารายการสะสมที่หลากหลายภายในเกม platformer ที่ให้ผลประโยชน์ที่แตกต่างกันเมื่อได้มา ซึ่งอาจรวมถึงของสะสมประเภทต่างๆ ที่ให้ชีวิตเพิ่มเติม การปรับปรุงชั่วขณะ หรือเปิดใช้งานคุณสมบัติการเล่นเกมที่ไม่เหมือนใครเมื่อสะสม

แนวทางปฏิบัติที่ดีที่สุดสำหรับการเพิ่มพลังและของสะสม

เมื่อรวมการเพิ่มพลังและของสะสมในเกม Godot จำเป็นต้องปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเพื่อประสิทธิภาพสูงสุดและความพึงพอใจของผู้ใช้

ยอดคงเหลือและการทดสอบการเล่น

เพื่อรักษาสมดุลและความยุติธรรมภายในเกม สิ่งสำคัญคือต้องทดสอบการเพิ่มพลังและของสะสมทั้งหมดอย่างละเอียด เพื่อให้แน่ใจว่าเอฟเฟกต์และรางวัลของพวกมันได้รับการปรับอย่างเหมาะสมเพื่อมอบประสบการณ์การเล่นเกมที่สนุกสนานให้กับผู้เล่น

ข้อเสนอแนะภาพและเสียง

ใช้สัญลักษณ์หรือกราฟิกที่สวยงามเพื่อสื่อถึงการเพิ่มพลังและของสะสม นอกจากนี้ ให้รวมเสียงประกอบที่เหมาะสมซึ่งไม่มีลิขสิทธิ์ซึ่งให้ข้อเสนอแนะที่น่าพึงพอใจเมื่อผู้เล่นได้รับองค์ประกอบเหล่านี้

ส่วนติดต่อผู้ใช้ (UI)

สร้างส่วนต่อประสานผู้ใช้ที่สวยงามและตรงไปตรงมาซึ่งแสดงข้อมูลที่เกี่ยวข้องเกี่ยวกับการเพิ่มพลังและของสะสมในลักษณะที่ชัดเจน รวมองค์ประกอบภาพเพื่อระบุระยะเวลาของการเพิ่มพลังที่เปิดใช้งานในปัจจุบัน เช่นเดียวกับจำนวนของสะสมสะสมที่ผู้เล่นได้รับ นอกจากนี้ ให้รวมข้อมูลที่เกี่ยวข้องเพิ่มเติมซึ่งถือว่าจำเป็นสำหรับการปรับปรุงประสบการณ์การเล่นเกมโดยรวม

ความสม่ำเสมอ

การตรวจสอบความสอดคล้องกันระหว่างการเพิ่มพลังและของสะสมเป็นสิ่งสำคัญในการรักษาประสบการณ์การเล่นเกมที่เป็นหนึ่งเดียว เนื่องจากมันสะท้อนถึงการยึดมั่นในบรรทัดฐานหลักและกฎที่ควบคุมกลไกของเกม

บันทึกและโหลด

เพื่อมอบประสบการณ์การเล่นเกมที่ราบรื่นและกระตุ้นให้เล่นต่อไป สิ่งสำคัญคือต้องรวมคุณสมบัติสำหรับบันทึกและโหลดความคืบหน้าของผู้เล่นในส่วนที่เกี่ยวข้องกับองค์ประกอบในเกมที่มีอยู่ เช่น การเพิ่มพลังหรือของสะสม สิ่งนี้จะช่วยให้มั่นใจได้ว่าความคืบหน้าของผู้เล่นจะยังคงอยู่ แม้ว่าพวกเขาจะเลือกออกจากเกมชั่วคราวก็ตาม ซึ่งจะเป็นการส่งเสริมความปรารถนาที่จะกลับมาเล่นเกมอีกครั้งในอนาคต

การปฏิบัติตามวิธีการที่แนะนำเหล่านี้จะช่วยให้สามารถพัฒนาระบบเพิ่มพลังและสะสมที่ยอดเยี่ยม ซึ่งเมื่อรวมเข้ากับการเล่นเกมของ Godot แล้ว มีศักยภาพในการยกระดับคุณค่าความบันเทิงโดยรวมและเพิ่มระดับความพึงพอใจให้กับผู้เล่น

ทำให้เกม Godot มีส่วนร่วมมากขึ้นด้วยการเพิ่มพลังและของสะสม

การรวมการเพิ่มพลังและไอเท็มที่สะสมได้ในเกม Godot ได้รับการแสดงเพื่อเพิ่มการมีส่วนร่วมของผู้เล่นและมูลค่าการเล่นซ้ำโดยนำเสนอผลประโยชน์ระยะสั้นที่น่าตื่นเต้นสำหรับเกมเมอร์

ด้วยการวางแผนอย่างรอบคอบและการใช้การเพิ่มพลังและไอเท็มสะสม เราสามารถเสริมสร้างประสบการณ์การเล่นเกมที่น่าดึงดูดและน่าพึงพอใจสำหรับเกมเมอร์ ความสามารถในการปรับตัวและความตรงไปตรงมาของ Godot ช่วยอำนวยความสะดวกในการสร้างการเพิ่มพลังและของสะสมที่น่าสนใจซึ่งช่วยเสริมกลไกหลักของเกมและความพึงพอใจโดยรวม