HomeLập trìnhPythonCách tạo trò...

Cách tạo trò chơi tiểu thuyết trực quan trong 10 phút – Hướng dẫn Python Ren’Py


Bạn có một ý tưởng câu chuyện mà bạn muốn biến thành một cuốn tiểu thuyết? Làm thế nào về việc thêm sự hấp dẫn trực quan và tính tương tác cho cuốn tiểu thuyết đó?

Visual Novel có thể là thể loại trò chơi bạn đang tìm kiếm. Và hướng dẫn này ở đây để giúp bạn thiết lập trong 10 phút, với kinh nghiệm mã hóa tối thiểu cần có. Bắt đầu nào!

Chúng tôi sẽ sử dụng Ren’Py Visual Novel Engine, được xây dựng trên Python 2.7. Vì bản thân Python là một ngôn ngữ kịch bản, bạn sẽ có thể “viết kịch bản” cho dự án tiểu thuyết trực quan của mình trong Ren’Py.

Kể từ khi Python 3 xuất hiện, Python 2.7 đã ngừng hoạt động và không còn được duy trì tích cực nữa. Hãy yên tâm – Python 2.7 có tất cả các tính năng chúng ta cần để tạo một cuốn tiểu thuyết trực quan tuyệt vời. Ngoài ra, bản phát hành mới nhất của Ren’Py, Ren’Py SDK 7.4, cung cấp chế độ tương thích cho Python 3. Các nhà phát triển cũng bày tỏ hy vọng tích hợp hoàn toàn với Python 3 trong bản phát hành tiếp theo, Ren’Py 8.0.

Cách tải xuống và thiết lập Ren’Py

Bạn có thể tải xuống phiên bản Ren’Py mới nhất cho hệ điều hành của mình (Windows, Mac, Linux) trên trang web chính thức của nó.

Khi bạn đã tải xuống và cài đặt Ren’Py, bạn có thể mở trình khởi chạy Ren’Py, chọn một trong các dự án khởi động (Hướng dẫn, Câu hỏi) ở bên trái và nhấp vào Khởi chạy dự án.

Kiểm tra hướng dẫn để có được cảm giác về toàn bộ sức mạnh của động cơ này, hoặc Câu hỏi để xem một visual novel rất cơ bản mà bạn có thể làm trong 10 phút.

Screen-Shot-2021-06-21-at-10.51.50
Trình khởi chạy Ren’Py

Cách tạo một dự án mới trong Ren’Py

Hãy tạo một dự án mới. tôi đã gọi cho tôi Đi rừng🌲có một cảnh đơn giản khi hai đứa trẻ khám phá một con đường mòn trong rừng.

Đọc thêm  Python If-Else – Ví dụ về cú pháp có điều kiện của Python

Chú ý đến độ phân giải bạn chọn: Mặc định là 1280 x 720. Khi chúng tôi thêm hình ảnh, hình nền của chúng tôi cũng phải tuân theo các kích thước này.

đi rừng

Cách chạy dự án Boilerplate

Khởi chạy dự án soạn sẵn. Nhấn Bắt đầu từ menu chính. Sau hai dòng đối thoại ngắn, kịch bản kết thúc và chúng tôi được đưa trở lại menu chính.

phóng
Chạy dự án soạn sẵn

Làm thế nào để kịch bản dự án của chúng tôi

Hãy bắt đầu viết kịch bản cho trò chơi của chúng ta dựa trên bản soạn sẵn.

Các trình soạn thảo văn bản như Sublime Text và Atom đều có đánh dấu cú pháp cho các tập lệnh Ren’Py kết thúc bằng .rpy. Kiểm tra gói Sublime Text này và gói Atom này.

Hai dòng đối thoại mà chúng ta thấy nằm ở script.rpy. Mở tệp đó và nội dung của nó sẽ giống như sau. Cũng giống như trong Python, các dòng bắt đầu bằng # là các nhận xét và sẽ không được đánh giá như một phần của tập lệnh Ren’Py. Các nhận xét và mã bên dưới khá dễ hiểu.

# Declare characters used by this game
define e = Character("Eileen")


# The game starts here
label start:

    # Show a background
    scene bg room

    # This shows a character sprite
    show eileen happy

    # These display lines of dialogue.
    e "You've created a new Ren'Py game."
    e "Once you add a story, pictures, and music, you can release it to the world!"

    # This ends the game.
    return
mã soạn sẵn

Các label được sử dụng cho luồng điều khiển mà chúng tôi sẽ trình bày trong phần sau.

Các return câu lệnh ở dòng cuối cùng đưa chúng ta trở lại menu chính.

Cách khai báo ký tự và thêm hội thoại

Hãy thay thế phần khai báo và đối thoại của nhân vật trong bản soạn sẵn bằng những phần trong câu chuyện của chúng ta. Đây là cách câu chuyện của tôi diễn ra:

define laura = Character('Laura')
define tom = Character('Tom')

label start:

    laura "Wait up, Tom!"
    laura "Tom!"
    laura "I said wait up!"
    laura "...Tom?"
    tom "Boo!"
    laura "Yikes... not again."
    tom "Are you scared?"
    laura "Not at all."
    laura "Running off like that is dangerous, you know."
    laura "We are in the forest. We could get lost."
    tom "Okay okay mom. I won't do it again."

    return
câu chuyện

Cách thêm hình ảnh và chuyển tiếp

Nếu bản thân bạn không phải là nghệ sĩ, bạn có thể cân nhắc tìm kiếm nội dung trong miền sáng tạo chung. itch.io, một thị trường dành cho các trò chơi độc lập, là một nơi tuyệt vời để tìm kiếm nội dung.

Đọc thêm  Biến toàn cục Python – Cách xác định ví dụ về biến toàn cục

Tôi đã tìm thấy tập hợp các họa tiết ký tự này cho dự án của mình. Đối với các hình nền, tôi chỉ đơn giản áp dụng các bộ lọc nghệ thuật cho các hình ảnh thông thường sáng tạo, mang lại cho các hình ảnh thực tế một màu nước thẩm mỹ đẹp mắt.

Tôi đặt tất cả hình ảnh của tôi bên trong game/images. Lưu ý rằng bạn có thể sử dụng khoảng trắng trong tên tệp hình ảnh.

Screen-Shot-2021-06-21-at-13.23.45
Một cách thông thường để tổ chức nội dung hình ảnh

Sau đó, chúng tôi thêm vào script.rpy những hình ảnh đó cũng như một số chuyển tiếp. Ren’Py áp dụng hiệu ứng chuyển tiếp khi thấy các từ khóa như withat. Bạn có thể đọc thêm về quá trình chuyển đổi trong tài liệu ATL (Hoạt hình và Ngôn ngữ chuyển tiếp) của Ren’Py.

label start:
    scene bg forest day with fade
    show laura angry
    laura "Wait up, Tom!"
    laura "Tom!"
    laura "I said wait up!"
    laura "...Tom?"
    hide laura
    scene bg forest day with vpunch
    show tom happy at right with moveinbottom
    tom "Boo!"
    show laura angry at left with moveinleft
    laura "Yikes... not again."
    tom "Are you scared?"
    laura "Not at all."
    show laura sad
    laura "Running off like that is dangerous, you know."
    laura "We are in the forest. We could get lost."
    tom "Okay okay mom. I won't do it again."

    return
hình ảnh

Với việc bổ sung hình ảnh, câu chuyện của chúng ta sẽ kết hợp với nhau một cách độc đáo.

Cách thêm lựa chọn

Một trò chơi với các nhánh và kết thúc khác nhau sẽ nhân đôi niềm vui. Việc thêm menu lựa chọn vào tập lệnh Ren’Py rất đơn giản:

menu:
    "Which way should we go?"

    "Left":
        tom "Let's check out the trail on the left!"
    "Right":
        tom "Right is always the right way to go!"
sự lựa chọn

Cách sử dụng biến Python và luồng điều khiển

Chúng tôi có thể xác định các biến Python trong tập lệnh Ren’Py và thay đổi luồng câu chuyện của chúng tôi tùy thuộc vào giá trị của chúng. Các câu lệnh Python bắt đầu bằng một $ hoặc thụt vào python: chặn.

Thêm các biến vào menu lựa chọn trước đó của chúng tôi:

menu:
    "Which way should we go?"

    "Left":
        tom "Let's check out the trail on the left!"
        $ is_lost = True
    "Right":
        tom "Right is always the right way to go!"
        $ is_lost = False
scene bg forest noon with Dissolve(3.0)
scene bg forest dusk with Dissolve(3.0)
show laura sad at left with moveinleft
laura "It's getting late. Are you sure we aren't lost?"
if is_lost:
    show tom sad at right with moveinleft
    tom "I hope not, but I have a bad feeling about this."
else:
    show tom happy at right with moveinleft
    tom "We are fine. Look! There's the end of the trail."
    tom "I'm the best scout around."
ezgif.com-gif-maker-2-

Xem phần cuối của bài đăng này để biết các tài nguyên thủ công của tôi để làm việc với Python trong Ren’Py.

Đọc thêm  Cách nhúng trực quan hóa Python tương tác trên trang web của bạn bằng Python và Matplotlib

Cách chơi nhạc

Theo tài liệu Âm thanh của Ren’Py, việc phát nhạc và hiệu ứng âm thanh dễ dàng như sau:

play music "mozart.ogg"
play sound "woof.mp3"

Cách lưu và tải trò chơi

Ren’Py đã thực hiện tất cả các công việc nặng nhọc cho chúng tôi và có một hệ thống lưu và tải tích hợp sẵn.

tiết kiệm
Đang lưu trò chơi
trọng tải
Đang tải trò chơi

Tùy chỉnh khác bạn có thể làm

Hiện tại trong cuộc đối thoại của chúng tôi, toàn bộ dòng văn bản được hiển thị cùng một lúc, thay vì từng ký tự một. Chúng ta có thể thay đổi biến preference.text_cps (CPS là viết tắt của ký tự trên giây) tính bằng options.rpy như thế này.

default preferences.text_cps = 20
cps
Đặt CPS tùy chỉnh sẽ hiển thị văn bản một ký tự tại một thời điểm nhất định

Thậm chí còn nhiều hơn nữa mà chúng ta có thể tùy chỉnh trong gui.rpy (GUI là viết tắt của Giao diện người dùng đồ họa, bao gồm hộp văn bản và các mục lựa chọn menu mà chúng ta đã thấy) hoặc screens.rpy.

Ren’Py còn có khả năng gì khác?

Khả năng của Ren’Py còn mở rộng ra ngoài việc hiển thị văn bản và hình ảnh. Tôi có thể đi xa hơn khi nói rằng Ren’Py có khả năng và linh hoạt như chính Python.

Với mô-đun Pygame, có thể tạo các trò chơi nhỏ phức tạp trong Ren’Py. Bản thân tôi đã tạo và mã nguồn mở một số trò chơi nhỏ, bao gồm một công cụ cờ vua tích hợp với trí tuệ nhân tạo cờ vua Stockfish cũng như một công cụ trò chơi nhịp điệu tự động tạo bản đồ nhịp cho bất kỳ tệp nhạc nào.

khuyến mãi
Bản demo trò chơi cờ vua của tôi
demo-4
Bản demo trò chơi nhịp điệu của tôi

Trò chơi cờ vua Ren’Py 2.0 của r3dhummingbird

Trò chơi cờ vua PvP và PvC do Stockfish hỗ trợ trong Ren’Py

3yVKWH

Trò chơi nhịp điệu Ren’Py của r3dhummingbird

Chơi trò chơi nhịp điệu trong trò chơi Ren’Py Visual Novel của bạn!

atQlNl

Tài nguyên

Hướng dẫn này sẽ giúp bạn bắt đầu với Ren’Py. Việc tham khảo tài liệu chính thức luôn hữu ích khi bạn tìm hiểu các tính năng nâng cao hơn để thêm tiếng vang cho dự án của mình.

Tôi cũng đã tạo một số tài liệu khóa học để giúp bạn tìm hiểu các kiến ​​thức cơ bản về Python và khả năng của chúng trong tập lệnh Ren’Py.

RuolinZheng08/python-for-renpy-dev

[Udemy Course Material] Khái niệm cơ bản về Python dành cho nhà phát triển Ren’Py – RuolinZheng08/python-for-renpy-dev

python-cho-renpy-dev

Khái niệm cơ bản về Python dành cho nhà phát triển Ren’Py

Tìm hiểu kiến ​​thức cơ bản về Python để xây dựng các thành phần phức tạp như hệ thống kiểm kê hoặc trò chơi nhỏ trong dự án Ren’Py của bạn

4121288_82b7_2

Xem video giới thiệu khóa học của tôi trên YouTube:

Cảm ơn đã đọc và vui vẻ kể câu chuyện của bạn!



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status