Kể chuyện sống động

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Giống như demo Bên ngoài bóng tối, một trong những quyết định sớm nhất của chúng tôi là có càng nhiều trò chơi và câu chuyện được kể lại theo cách diễn tả trong thế giới bản thân.Đây có thể là một quá trình khó khăn khi bạn muốn cân bằng cả tiến trình giao tiếp với người chơi thông qua giao diện người dùng trong khi cũng làm cho họ cảm thấy như thể họ thực sự ở trong thế giới mà bạn đã xây dựng.Để đáp ứng các mục tiêu cho trải nghiệm của chúng tôi, chúng tôi phá vỡ cách chúng tôi truyền đạt thông tin cho người chơi thành bốn kỹ thuật:

  1. Dấu hiệu thị giác - Các đối tượng, hình ảnh hoặc sắp xếp của tài sản mà vô tình tăng cường câu chuyện hoặc cung cấp gợi ý cho người chơi khi nó có ý nghĩa đối với thế giới.
  2. Lore - Khi một người chơi nhấp vào các vật phẩm cụ thể trong nhà, thông tin câu chuyện quan trọng hiển thị trên toàn bộ màn hình .Câu chuyện này chỉ xuất hiện với người chơi đã nhấp vào/chạm vào đối tượng.Tone luôn thông tin trong tone và cách diễn đạt.
  3. Bong bóng suy nghĩ - Khi một người chơi nhấp vào các vật phẩm cụ thể trong nhà, một cuộc trò chuyện văn bản "phản ứng" hiển thị gần đối tượng .Câu chuyện này chỉ xuất hiện với người chơi đã nhấp vào/chạm vào đối tượng.Tone luôn là người thứ nhất và quan sát.
  4. Thông báo - Khi một người chơi nhấp/nhấn vào một vật phẩm bị hỏng trong nhà, hộp thoại người thứ ba hiển thị trên màn hình của tất cả người chơi cùng một lúc .Câu chuyện này đôi khi chuyển tất cả các người chơi sang trạng thái bị hỏng của phòng họ ở.

Trong phần này, chúng tôi sẽ minh họa cách chúng tôi sử dụng các kỹ thuật và tính năng cụ thể để thu hút người chơi vào câu chuyện của chúng tôi trong khi vẫn khuyến khích khám phá, truyền đạt tiến trình và giữ gameplay cả bên trong lẫn bên ngoài cho người chơi một cách riêng tư và công bằng trong trải nghiệm đa người chơi.

Một thông báo trên cùng màn hình về suy nghĩ bên trong của nhân vật.
>

Một bong bóng suy nghĩ, hoặc cuộc đối thoại cụ thể cho một đối tượng, hiển thị khi bạn chọn một số đối tượng nhất định.
>

Dấu hiệu thị giác

Một dấu hiệu hình ảnh là một công cụ quan trọng để củng cố câu chuyện và cho người chơi biết những gì họ cần biết về mục tiêu của họ mà không sử dụng từ ngữ .Sử dụng một sắp xếp của tài sản, chẳng hạn như bảng phấn, tượng và giấy nền, chúng tôi đã có thể cung cấp một sự sâu sắc thông tin về các nhân vật chính của Duvall Drive, cũng như hướng dẫn về cách hoàn thành câu đố mà không cần phải bao gồm các thành phần UI xâm lấn.Chúng tôi bắt đầu quá trình này bằng cách đầu tiên xác định những gì chúng tôi muốn giao tiếp với người chơi, sau đó làm thế nào nó sẽ có ý nghĩa để giao tiếp điều đó trong thế giới của trải nghiệm của chúng tôi.Ví dụ, chúng tôi muốn người chơi hiểu như thế nào mà ông ngoại bị ám ảnh trong nhiệm vụ chống lại cái chết, vì vậy chúng tôi để phòng của anh ta trong tình trạng hỗn loạn với rất nhiều nghiên cứu và một vài bức tường với những suy nghĩ lộn xộn của anh ta.

Nét vẽ trên khắp phòng của ông tổ phụ truyền đạt bản chất bắt buộc của ông tổ phụ.
>

Một lượng lớn các bức tượng và ảnh tham khảo minh họa cách con gái là một nghệ sĩ.
>

Quy tắc đầu tiên của chúng tôi là nếu chúng tôi muốn sử dụng một dấu hiệu hình thức để dạy người chơi một cái gì đó, nó phải có lý do tồn tại ngay cả khi người chơi không có mặt.Nếu chúng ta đặt một biển báo khổng lồ với các hướng dẫn rõ ràng về những gì cần làm cho một câu đố, thì nó sẽ có vẻ như thể nó không phù hợp trong nhà.Tuy nhiên, nếu chúng tôi thiết lập một ông tổ được tiêu thụ với việc vẽ trên mọi thứ, bao gồm cả bức tường của phòng ngủ của anh ấy, nó sẽ đáng tin hơn nhiều khi có một bảng phấn với kế hoạch của anh ấy được viết ra cho người chơi theo dõi.

Quy tắc thứ hai của chúng tôi là chúng tôi không phải lúc nào cũng cần nói với người chơi phải làm gì hoặc làm thế nào để giải câu đố vì chúng có tầm nhìn sâu sắc về môi trường của họ.Ví dụ, đôi khi một dòng điện bị ngã trong một hồ nước là đủ dấu hiệu hình thị để giao tiếp rằng các người chơi đang gặp nguy hiểm bị điện giật nếu họ tiếp tục di chuyển theo hướng đó.

Kiến thức

Ngoài việc sử dụng gợi ý hình thị để hướng dẫn người chơi một cách thụ động, chúng tôi cũng chọn hiển thị thông tin câu chuyện quan trọng về gia đình trên toàn màn hình như một tiền đề để bắt đầu câu đố của phòng bất cứ khi nào một người chơi nhấp hoặc chạm vào các vật phẩm cụ thể trong nhà.Để hướng dẫn người chơi đến các đối tượng họ cần chọn để hiển thị, chúng tôi đã sử dụng hiệu ứng nổi bật mới để làm cho các đối tượng cụ thể nổi bật khỏi môi trường xung quanh của chúng.Hiệu ứng này cho phép bạn vẽ viền và/hoặc xếp chồng các đối tượng với một màu cụ thể phù hợp với hình dạng của đối tượng, và chọn xem các đối tượng khác có thể che khuất nổi bật nếu chúng gần hơn với máy ảnh.

Chúng tôi ban đầu sử dụng Highlight cho mỗi đối tượng mà một người chơi có thể tương tác, nhưng tiếng ồn hình thức áp đảo và người chơi sẽ không rõ ràng biết những gì để tương tác để đọc lore.Chúng tôi quyết định chỉ sử dụng nó để làm nổi bật các mục bị hỏng hoặc nguy hiểm, và phản hồi hình thức này cho phép người chơi dễ dàng lái câu chuyện tiến lên.

Sự thật thú vị: ban đầu chúng tôi có kiến thức về mọi thứ bạn có thể nhấp vào! Điều này không hữu ích vì người chơi không chắc chắn thông tin nào là quan trọng và thông tin nào chỉ là vị ngon.Cuối cùng chúng tôi loại bỏ phần lớn kiến thức và sử dụng dấu hiệu hình thị để rời phần còn lại của câu chuyện cho trí tưởng tượng của người chơi.

Sau khi người chơi nhấp vào đối tượng với lore, chúng tôi cần một cách để hiển thị thông tin ở trên cùng của màn hình.Chúng tôi quyết định tạo một lớp phủ bằng cách sử dụng một ScreenGui như là thùng UI trên màn hình của chúng tôi với một đứa con Frame để kiểm soát kích thước và thay đổi kích thước của con trai của nó TextLabelsImageLabels .Chúng tôi đặt vị trí và quy mô của các thuộc tính TextLabelsImageLabels để chúng phù hợp về mặt thị giác và sẽ mở rộng cho các thiết bị người chơi khác nhau sử dụng để truy cập trải nghiệm.

TextLabelsImageLabels ảnh hưởng đến các yếu tố hình ảnh của văn bản và hình ảnh tương ứng của họ, bao gồm màu sắc, độ trong suốt, kích thước và sắp xếp của chúng.Đối với TextLabels đặc biệt, bạn có thể điều chỉnh các thuộc tính TextLabel.TextScaledTextLabel.RichText của họ để kiểm soát bố trí và phong cách thiết kế văn bản. TextLabel.TextScaled cho phép bạn mở rộng văn bản để lấp đầy toàn bộ không gian của thành phần UI cha, và TextLabel.RichText cho phép bạn sử dụng các thẻ đánh dấu đơn giản để định dạng các phần văn bản in đậm, in đậm, màu hoặc thậm chí các phông chữ khác nhau.

Chúng tôi biết rằng người chơi sẽ truy cập trải nghiệm này từ nhiều thiết bị khác nhau, bao gồm PC, bảng điều khiển và thiết bị di động, và họ sẽ cần phải có thể nhấp vào hoặc chạm vào màn hình để tương tác với trải nghiệm.Chúng tôi không muốn một loạt nút trên màn hình làm mất tập trung khỏi câu chuyện, vì vậy chúng tôi đã tạo một nút lưng vô hình có kích thước của toàn bộ màn hình để người chơi có thể nhấp hoặc nhấn bất kỳ nơi nào trên lớp phủ lore để đóng nội dung và quay lại trải nghiệm trò chơi.

Bong bóng suy nghĩ

Chúng tôi cần một cách để nhân vật của người chơi truyền đạt ý tưởng cho người chơi, chẳng hạn như cung cấp thêm hương vị truyện hoặc làm nổi bật những gì họ cần phải làm.Giải pháp của chúng tôi là hiển thị bong bóng suy nghĩ, hoặc phản ứng văn bản từ nhân vật của người chơi , gần các đối tượng không có kiến thức bất cứ khi nào người chơi chọn chúng.Câu chuyện này chỉ hiển thị cho người chơi đã nhấp vào hoặc chạm vào đối tượng, và giọng luôn là người thứ nhất và quan sát.

Một hệ thống tương đối đơn giản nhưng mạnh mẽ để có thế giới phản ứng với các tương tác của người chơi!

Để tạo bong bóng suy nghĩ, chúng tôi đã nuôi một BillboardGui với một đứa con TextLabel đối với các đối tượng không có kiến thức.Điều này cho phép chúng tôi hiển thị cuộc đối thoại trong không gian 3D gần vật thể mà không có văn bản chiếm toàn bộ màn hình.Tương tự như quá trình tạo kiến thức của chúng tôi, chúng tôi đã sử dụng thuộc tính TextLabel.RichText để trang trí văn bản và thêm hiệu ứng hình ảnh như một thực thể khác trên thế giới đang cắt ngang suy nghĩ của người chơi.Cái sau đây là một ví dụ về RichText HTML được sử dụng để tạo hình ảnh bên dưới.

"What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

Bằng cách sử dụng TextLabels thay vì hình ảnh, chúng tôi giữ cho văn bản có thể đọc được bởi Roblox, và chúng tôi có thể tự động dịch nội dung này và làm cho nó truy cập được cho nhiều người chơi hơn mà không cần phải làm bất cứ điều gì! Để biết thêm thông tin về quá trình này, hãy xem dịch tự động .

Thông báo

Trong khi chúng tôi muốn nhân vật của người chơi có phản ứng với thế giới, chúng tôi cũng muốn thế giới bản thân phản ứng với sự có mặt của họ.Để đáp ứng mục tiêu này, chúng tôi bao gồm các thông báo, hoặc cuộc đối thoại người thứ ba, hiển thị trên màn hình của mỗi người chơi cùng một lúc .Tương tự như lore, chúng tôi đã tạo thông báo bằng cách sử dụng một ScreenGui như thùng UI trên màn hình của chúng tôi với một đứa con TextLabel .Chúng tôi cũng sử dụng thuộc tính TextLabel.RichText để thay đổi màu, phông chữ và kích thước của cuộc trò chuyện để giúp truyền đạt các "thực thể" khác nhau nói chuyện với người chơi trong nhà.

Các thông báo với văn bản trắng đơn giản là phản ứng nhân vật của người chơi đối với một khu vực, không phải là một đối tượng như kỹ thuật kể chuyện lore.

Thông báo với văn bản màu tím là phản ứng từ một thực thể bị hỏng.
>

Thông báo với văn bản màu vàng là phản ứng từ một thực thể đã phục hồi.
>

Bằng cách sử dụng thuộc tính TextLabel.RichText và cung cấp một số lệnh HTML trong đó để thúc đẩy các thay đổi, chúng tôi cũng được phép thực hiện thay đổi giữa câu! Ví dụ, dấu hiệu rich text sau đây cho phép chúng tôi gián đoạn phản ứng của nhân vật người chơi bởi suy nghĩ của thực thể bị hỏng:

What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

Chúng tôi đã có một số loại thông báo như vậy, được kích hoạt bởi các tập lượng phần không thể nhìn thấy mà người chơi đã bước vào, hoặc bằng cách hoàn thành các mục tiêu nhất định.Để tránh hàng chục lẻ đơn ScreenGuis, chúng tôi đã sử dụng một kịch bản riêng trong phần trình diễn cho phép chúng tôi cung cấp văn bản mà kịch bản sau đó sẽ thêm vào một đối tượng duy nhất chúng tôi đặt tên là StoryNote trong thư mục PlayerGui của chúĐối tượng này là một đơn ScreenGui với một đứa con TextLabel .Bằng cách sử dụng lập trình, chúng tôi có thể tiêm bất kỳ câu nào chúng tôi muốn trực tiếp vào single TextLabel, làm cho nó dễ dàng hơn nhiều để thực hiện các thay đổi như chúng tôi nhận ra làm thế nào và những gì chúng tôi muốn truyền đạt cho người chơi!

StoryNote là một đối tượng chúng tôi yêu cầu cho bất kỳ trường hợp nào kích hoạt nó thông qua kịch bản.Những kịch bản tương tự cung cấp văn bản và định dạng mà chúng tôi muốn cho mỗi sự kiện.
Ví dụ về một kịch bản gọi đối tượng đó và xác định văn bản, theo sự kiện.
Thẻ TextLabel thực sự trống, và sử dụng các kịch bản chúng tôi đã tiêm RichText cần thiết cho cùng một đối tượng.