Contents

Cách tạo Power-Ups và Sưu tầm trong Godot

Thêm sức mạnh và đồ sưu tầm vào trò chơi Godot của bạn có thể nâng cao đáng kể trải nghiệm của người chơi, khiến nó trở nên hấp dẫn và thú vị hơn. Tăng sức mạnh có thể cấp các khả năng đặc biệt hoặc lợi thế tạm thời cho người chơi, trong khi đồ sưu tầm có thể đóng vai trò là phần thưởng, tăng điểm của người chơi hoặc mang lại các lợi ích khác.

May mắn thay, việc chế tạo đồ tăng sức mạnh và đồ sưu tầm trong Godot chứng tỏ là một quá trình liền mạch nhờ ngôn ngữ kịch bản thân thiện với người dùng và công cụ vật lý tích hợp.

Thiết lập trò chơi Godot

Để bắt đầu quá trình, hãy sử dụng công cụ trò chơi Godot để phát triển môi trường trò chơi hai chiều. Bắt đầu bằng cách tạo một cảnh mới trong công cụ và thêm nút “Char characterBody2D” vào đó. Trong nút này, hãy kết hợp thành phần “CollisionShape2D” có dạng hình chữ nhật để tượng trưng cho ranh giới vật lý của người chơi, cũng như thành phần “Sprite2D” để mô tả diện mạo trực quan của nhân vật chính.

Mã nguồn của phần trình diễn này có thể được truy cập thông qua một kho lưu trữ trên GitHub, được cung cấp miễn phí theo các điều khoản của giấy phép MIT, cho phép người dùng sử dụng nó mà không phải trả bất kỳ chi phí hoặc hạn chế nào do phí cấp phép áp đặt.

Để triển khai chức năng xử lý chuyển động của người chơi và phát hiện va chạm với ranh giới màn hình một cách tinh vi bằng cách sử dụng GDScript, người ta có thể sử dụng đoạn mã sau đây làm điểm bắt đầu:gdscriptextends Nodevar speed_x=10 * (input.is_pressed(“left” )-input.is_ép(“phải”))var speed_y=10 * (input.is_pressed(“lên”)-input.is_ép(“xuống”))var gia tốc=Vector2(speed_x, speed_y)var maxSpeed ​​=50var onGround=falsevar groundedTime=0func _ process(_delta: float): void{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)

Mã được cung cấp cho phép người dùng điều hướng theo nhiều hướng khác nhau bằng cách sử dụng các phím mũi tên. Ngoài ra, nó điều chỉnh tốc độ di chuyển thông qua chuẩn hóa vectơ vận tốc và áp dụng tham số tốc độ có thể điều chỉnh.

Thông thường, cần phải tạo ra các thực thể đối địch được trang bị các vùng va chạm được cá nhân hóa và các biểu diễn đồ họa. Để điều chỉnh chuyển động của kẻ thù, người ta có thể sử dụng một cách tiếp cận tương tự với chức năng xử lý vật lý được sử dụng cho nhân vật chính.

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

Tạo sưu tầm

Thu thập các vật phẩm như tiền xu thường đóng một vai trò không thể thiếu trong trò chơi điện tử, với những mã thông báo ảo này giúp nâng cao trải nghiệm tổng thể của người chơi. Trong bối cảnh này, sẽ là khôn ngoan khi giới thiệu một đồng xu sưu tập độc đáo và hấp dẫn về mặt hình ảnh, góp phần tăng điểm của người chơi khi thu được. Giá trị điểm bổ sung này có khả năng lên tới 20 điểm, do đó cung cấp phần thưởng hữu hình cho những người tích cực tìm kiếm những đồ sưu tầm đặc biệt này.

Để tạo đồng xu có thể sưu tập được trong trò chơi của bạn, trước tiên hãy giới thiệu một cảnh mới trong trình chỉnh sửa Unity. Tiếp theo, nhập một đối tượng Area2D để làm biểu diễn vật lý của đồng xu. Trong Area2D , kết hợp thành phần CollisionShape2D có đường viền tròn để xác định giới hạn của vùng có thể va chạm. Ngoài ra, hãy đính kèm nội dung Sprite2D để mô tả trực quan hình thức của đồng xu trên màn hình.

Thật vậy, để triển khai chức năng này, bạn sẽ cần kết hợp đoạn mã GDScript đã nói ở trên vào tập lệnh trình phát của mình. Điều này sẽ cho phép nhân vật của người chơi phát hiện và tương tác với bất kỳ đối tượng tương tác nào gần đó.

 extends CharacterBody2D

var score = 0

func _on_area_2d_body_entered(body):
    get_parent().get_node("Collectibles").queue_free()
    score \+= 20 

Đoạn mã này sử dụng tín hiệu \_on\_area\_2d\_body\_entered để xác định thời điểm nhân vật người chơi thâm nhập vào trường va chạm của đồng xu sưu tập được. Trong trường hợp điều này xảy ra, người chơi được coi là đã thu thập được đồng xu, điều này sau đó dẫn đến việc đồng xu bị xóa khỏi màn hình trực quan thông qua phương thức queue\_free(). Do đó, điểm của người chơi được tăng thêm hai mươi điểm.

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

Tạo Power-Ups

Tăng sức mạnh có khả năng nâng cao cảm giác hồi hộp khi chơi trò chơi bằng cách cấp cho người chơi những lợi ích hoặc khả năng tạm thời. Cân nhắc thực hiện tăng sức mạnh để kích hoạt đếm ngược 10 giây khi nhận được. Khi người chơi tiếp xúc với kẻ thù trong khoảng thời gian này, họ sẽ loại bỏ kẻ thù.

Để tạo sức mạnh trong công cụ trò chơi của chúng tôi, trước tiên chúng tôi phải thiết lập một Cảnh mới trong hệ thống phân cấp dự án. Tiếp theo, chúng ta nên khởi tạo một đối tượng Area2D trong Cảnh mới được tạo này, đối tượng này sẽ đóng vai trò là vùng chứa không gian để bật nguồn. Trong Area2D, sau đó chúng ta có thể chèn một thành phần CollisionShape2D để xác định các thuộc tính hình học của máy va chạm khi bật nguồn. Ngoài ra, điều quan trọng là phải bao gồm một biểu diễn hấp dẫn trực quan về khả năng tăng sức mạnh bằng cách thêm một phiên bản Sprite2D vào cùng Thuộc tính thành phần của Area2D. Sự kết hợp các thành phần này sẽ cùng nhau tạo thành đối tượng tăng sức mạnh trong công cụ trò chơi của chúng tôi.

Kết hợp đoạn mã nói trên vào tập lệnh trình phát của bạn bằng cách thêm đoạn mã đó vào bên dưới mã hiện có.

 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() 

Mã hiện tại tận dụng

Hàm khởi tạo bộ hẹn giờ thông qua việc sử dụng awaitcreate\_timer , có thời lượng mười giây. Trong khoảng thời gian này, nếu nhân vật của người chơi tiếp xúc với kẻ thù, điều đó sẽ dẫn đến việc kẻ thù bị phá hủy.

Hiển thị Đồ sưu tầm Đã sưu tầm

Việc kết hợp hình ảnh đại diện của các đồ sưu tầm được tích lũy trong giao diện trò chơi có thể gợi lên cảm giác thành tựu và thăng tiến cho người dùng. Một cách tiếp cận phù hợp để đạt được điều này là bắt đầu tạo phần tử Nhãn được đặt hiệu quả và hấp dẫn trực quan ở góc phần tư phía trên bên trái của màn hình.

Để sửa đổi văn bản nhãn khi người chơi thu thập một bộ sưu tập, vui lòng kết hợp đoạn mã GDScript sau trong dự án của bạn:

 extends Label

func _ready():
    self.text = "Collectibles: 0" 

Trên tập lệnh Player.gd:

 extends CharacterBody2D

var bar

func _ready():
    bar = get_parent().get_node("Label")

func _physics_process(delta):
    bar.text = "Collectibles: " \+ str(score/20) 

Mã hiện tại sửa đổi hình thức của nhãn để phản ánh tổng số bộ sưu tập đã được mua, có thể được xác định bằng cách chia điểm tích lũy của cá nhân cho 20.

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

Bao gồm các tính năng bổ sung

Người ta có thể xem xét kết hợp các thuộc tính hoặc đặc điểm bổ sung vào hệ thống tăng sức mạnh và thu thập của mình để nâng cao trải nghiệm chơi trò chơi tổng thể. Một số khái niệm tiềm năng bao gồm:

Nhiều cấp độ tăng sức mạnh

Thay vì giới hạn lựa chọn ở một cấp tăng sức mạnh duy nhất, có thể kết hợp các mức độ hiệu lực khác nhau cho những cải tiến này. Để minh họa, một máy gia tốc tiêu chuẩn có thể được nâng cấp lên phiên bản supersedeveloper cho phép người dùng tăng vận tốc thậm chí còn đáng kể hơn.

Tăng sức mạnh kết hợp

Cân nhắc nghĩ ra nhiều cách kết hợp tăng sức mạnh tổng hợp, mỗi cách tạo ra những hậu quả đặc biệt và ghê gớm khi tích lũy. Khuyến khích các game thủ chiêm ngưỡng và thử nghiệm nhiều loại cải tiến khác nhau để đạt được lợi ích tối ưu.

Hạn chế tăng sức mạnh

Cân nhắc triển khai giai đoạn nghỉ ngơi hoặc hạn chế tần suất mà người chơi có thể nhận được một mức tăng cụ thể. Các biện pháp như vậy sẽ giới thiệu một khía cạnh lựa chọn cho lối chơi, thuyết phục người dùng chọn thời điểm tối ưu để sử dụng cải tiến này.

Giống sưu tầm

Phát triển nhiều loại vật phẩm có thể sưu tập trong trò chơi platformer mang lại nhiều lợi ích khác nhau khi mua. Điều này có thể bao gồm một loạt các đồ sưu tầm mang lại thêm mạng sống, cải tiến tạm thời hoặc kích hoạt các tính năng chơi trò chơi độc đáo khi thu thập.

Các phương pháp hay nhất để triển khai Tăng sức mạnh và Sưu tầm

Khi kết hợp tăng sức mạnh và sưu tầm trong trò chơi Godot, điều cần thiết là phải tuân thủ một số phương pháp hay nhất để có hiệu suất tối ưu và sự hài lòng của người dùng.

Cân bằng và thử nghiệm

Để duy trì sự cân bằng và công bằng trong trò chơi, điều quan trọng là phải kiểm tra kỹ lưỡng tất cả các vật phẩm tăng sức mạnh và sưu tầm, đảm bảo rằng hiệu ứng và phần thưởng của chúng được điều chỉnh phù hợp để mang lại trải nghiệm chơi game thú vị cho người chơi.

Phản hồi bằng hình ảnh và âm thanh

Sử dụng các biểu tượng hoặc đồ họa đẹp mắt về mặt thẩm mỹ để biểu thị các vật phẩm tăng sức mạnh và sưu tầm. Ngoài ra, hãy kết hợp các tín hiệu âm thanh không có bản quyền phù hợp để đưa ra phản hồi hài lòng khi người chơi tiếp thu các yếu tố này.

Giao diện người dùng (UI)

Tạo giao diện người dùng đơn giản và thanh lịch, trình bày dữ liệu thích hợp liên quan đến tăng sức mạnh và đồ sưu tầm một cách rõ ràng. Kết hợp các yếu tố hình ảnh để cho biết thời lượng tăng sức mạnh hiện đang được kích hoạt cũng như số lượng vật phẩm sưu tầm mà người chơi thu được. Ngoài ra, hãy kết hợp mọi thông tin liên quan bổ sung được coi là cần thiết để nâng cao trải nghiệm chơi trò chơi tổng thể.

Tính nhất quán

Đảm bảo tính nhất quán giữa tăng sức mạnh và sưu tầm là rất quan trọng để duy trì trải nghiệm chơi trò chơi thống nhất, vì nó phản ánh việc tuân thủ mô típ trung tâm và các quy tắc chi phối cơ chế của trò chơi.

Lưu và tải

Để mang lại trải nghiệm chơi trò chơi mượt mà và khuyến khích chơi liên tục, điều quan trọng là phải kết hợp tính năng lưu và tải tiến trình của người chơi đối với bất kỳ yếu tố liên tục nào trong trò chơi như tăng sức mạnh hoặc sưu tầm. Điều này sẽ giúp đảm bảo rằng tiến trình của người chơi được giữ lại ngay cả khi họ chọn tạm thời thoát khỏi trò chơi, từ đó thúc đẩy mong muốn truy cập lại trò chơi của họ trong tương lai.

Làm theo các phương pháp được đề xuất này sẽ cho phép phát triển một hệ thống tăng sức mạnh và thu thập đặc biệt, khi được tích hợp trong lối chơi của Godot, có khả năng nâng cao giá trị giải trí tổng thể của nó và mang lại mức độ hài lòng cao hơn cho người chơi.

Làm cho các trò chơi Godot hấp dẫn hơn với các vật phẩm tăng sức mạnh và sưu tầm

Việc kết hợp tăng sức mạnh và thu thập vật phẩm trong trò chơi Godot đã được chứng minh là giúp nâng cao mức độ tương tác của người chơi và giá trị chơi lại bằng cách mang lại những lợi ích ngắn hạn, thú vị cho người chơi.

Thông qua việc lập kế hoạch và thực hiện chu đáo các vật phẩm tăng sức mạnh và thu thập được, người ta có thể thúc đẩy trải nghiệm chơi trò chơi ngày càng hấp dẫn và hài lòng cho người chơi. Khả năng thích ứng và tính đơn giản của Godot tạo điều kiện thuận lợi cho việc tạo ra các vật phẩm sưu tầm và tăng sức mạnh hấp dẫn bổ sung cho cơ chế cốt lõi của trò chơi và sự hài lòng chung.