Làm thế nào để thực hiện các trò chơi bắn đạn thời gian ăn trưa trong một trò chơi nhiều người chơi?


29

Tôi chưa bao giờ thấy một tính năng như vậy trước đây, nhưng nó sẽ cung cấp một cơ hội chơi trò chơi thú vị.

Vì vậy, có, trong môi trường nhiều người chơi / thời gian thực (tưởng tượng FPS), làm thế nào tôi có thể thực hiện hiệu ứng chuyển động chậm / thời gian đạn?

Một cái gì đó giống như ảo ảnh cho người chơi hiện đang bị slo-mo'ed. Vì vậy, mọi người đều thấy anh ta "thời gian thực", nhưng anh ta thấy mọi thứ chậm lại.

Cập nhật

Một sidenote: hãy nhớ rằng một game FPS phải được cân bằng để nó trở nên thú vị. Vì vậy, có, tính năng thời gian đạn này phải vững chắc, mang lại lợi thế nhỏ cho "người chơi", trong khi không lấy đi của người chơi khác.

Thêm vào đó, có khả năng hai người chơi có thể kích hoạt thời gian đạn của họ cùng một lúc.

Hơn nữa:

Tôi sẽ thực hiện điều này trong tương lai bất kể nó cần gì. Và, ý tưởng là xây dựng một công cụ trò chơi hoàn toàn mới cho tất cả điều này. Nếu điều đó mang lại những lựa chọn mới, tôi sẽ thích nghe ý tưởng hơn.

Trong khi đó, ở đây với nhóm của tôi, chúng tôi cũng đang nghĩ về điều này, khi lý thuyết của chúng tôi sẽ được tạo ra, tôi sẽ chia sẻ nó ở đây.

Điều này thậm chí có thể? Vì vậy, câu hỏi về "điều này thậm chí có thể" đã được trả lời, bây giờ là lúc để tìm giải pháp tốt nhất.

Tôi đang giữ "câu trả lời" cho đến khi một cái gì đó đặc biệt tốt xuất hiện, giống như một lý thuyết nguyên mẫu với một cái gì đó gần với mã giả hoạt động.

Những gì các nhà vật lý và triết học nói:

Các liên kết là cho bạn quan tâm, bởi vì các chủ đề được đóng lại.

https://physics.stackexchange.com/questions/17118/time-traveling-and-time-dilation-within-a-multiplayer-videogame

https: // phil Triết.stackexchange.com/questions/1704/ecting-everything-in-slow-motion-but-being-real-time

Các điều kiện tôi nghĩ về khi viết câu hỏi trên trang web vật lý (sao chép):

  1. Người chơi dưới tác dụng của chuyển động chậm có một lợi thế để thực hiện các hành động chính xác hơn (bắn, di chuyển, v.v.), do nhìn thấy mọi thứ với tốc độ chậm hơn nhiều.
  2. Hành động của anh ta sẽ ảnh hưởng đến những người chơi khác trong thời gian thực.
  3. Những người chơi nhìn vào người chơi bị ảnh hưởng của chúng tôi, không thấy bất kỳ sự khác biệt nào, ngoại trừ họ có thể trải nghiệm những hành động anh ta đã làm (như, người chơi bị bắn / bị ảnh hưởng tránh một tên lửa).
  4. Khi người chơi thoát khỏi hiệu ứng này, anh ta chỉ cần tiếp tục với tốc độ như bình thường. (Nếu điều này là không thể, thì tôi đoán anh ấy sẽ phải chịu đựng cho đến khi thời gian được đồng bộ hóa trở lại)

Tài liệu tham khảo về thời gian đạn (chuyển động chậm):

Đáng buồn thay, hầu hết các triển khai chỉ là một người chơi

http://www.gamesradar.com/a-videogame-history-of-bONS-time/


3
Điều này đã được thực hiện thành công trong MMORPG The Matrix Online. Bạn đã trải qua thời gian đạn trong khi chiến đấu với đối thủ khi bạn tham gia "Interlock" chiến đấu với họ. Điều này đã được thực hiện với cả đối thủ PvE và PvP. Mọi người khác ngoài Interlock đều thấy "tốc độ thời gian thực". Nhận xét thay vì trả lời vì tôi không có chuyên môn hoặc kiến ​​thức để giải thích họ đã làm như thế nào, tôi chỉ biết những gì xảy ra từ quan điểm của người chơi.
FallenAngelEyes

3
Điều này cũng đã có mặt trong FEAR Combat. Trong phần chơi mạng, có một chế độ trò chơi gọi là SloMoDeathmatch. Đây là một trò chơi miễn phí nếu tôi nhớ chính xác, vì vậy nếu bạn muốn dùng thử, hãy tải xuống và xem liệu còn một vài máy chủ không.
alextsc

3
Tôi không nghĩ rằng bạn đang chờ mã giả sẽ giúp trả lời. Một khi thiết kế bạn muốn được củng cố đủ, mã sẽ rõ ràng.
Tetrad

1
Ngoài ra, "không có vấn đề gì" những triết lý thiết kế tồi. Có vẻ như bạn chỉ nên làm điều đó một khi bạn đã chứng minh (thông qua nguyên mẫu hoặc ví dụ hoạt động trong một trò chơi khác) phương pháp bạn dự định sử dụng trước khi tiếp tục.
Tetrad

4
-1 cho "Tôi đang giữ 'câu trả lời' cho đến khi một cái gì đó đặc biệt tốt xuất hiện, giống như một nguyên mẫu với thứ gì đó gần với mã giả hoạt động." Đừng là một thằng ngốc.
Trevor Powell

Câu trả lời:


22

Nó đã xong từ trước. :) Kiểm tra các chuyên gia , một mod nửa đời có hai sức mạnh thời gian đạn khác nhau.

EDIT để bao gồm thông tin của zzzzbov bên dưới

Cách thức thời gian của viên đạn trong "Chuyên gia" từ góc độ chơi trò chơi là người chơi có thể nhận được sức mạnh sẽ cung cấp số lượng hạn chế "thời gian đạn". Khi được sử dụng, một bong bóng xung quanh người chơi sẽ làm cho vật lý của nó bị chậm lại.

Người chơi ở xa sẽ di chuyển với tốc độ bình thường, nhưng bất cứ thứ gì trong bong bóng (đạn, người chơi, vụ nổ) sẽ chậm lại. Người chơi sử dụng tăng sức mạnh sẽ di chuyển nhanh hơn một chút, cho phép họ chạy trốn hoặc sử dụng các pha nguy hiểm để né đạn.

Bất cứ ai khác bị bắt trong bong bóng "thời gian đạn" vẫn có lợi thế là có thể nhìn thấy những gì sắp xảy ra, nhưng sự khác biệt tốc độ tương đối giữa người chơi bị bắt và đạn vẫn như nhau, do đó khả năng phản ứng thực tế là không có.


@Tom IIRC, nó là nguồn mở, vì vậy bạn sẽ có thể thấy họ đã làm như thế nào.
Spencer Rathbun

Hmm, một tìm kiếm Google đã không trả về bất kỳ kết quả nào về mã nguồn. (cộng với rất nhiều thông tin khủng khiếp về Chuyên gia: Nguồn cũng được hiển thị). Có một liên kết hoặc một cái gì đó?
joltmode

@Tom Tôi nghĩ rằng nó là trên trang web của họ, nên được liên kết trong bài viết trên wikipedia. Nếu không, họ có thể đã gỡ nó xuống, vì họ đã chuyển sang động cơ HL2 vài năm trước. Bạn có thể cần phải gửi cho các nhà phát triển một email để có quyền truy cập. Tất nhiên, tôi cũng có thể bị cuốn trôi.
Spencer Rathbun

Trang web của họ cũng không hoạt động ..
joltmode

5
Tôi sẽ thêm câu trả lời tương tự cho đến khi tôi tìm thấy câu trả lời này. Cách thức thời gian của viên đạn trong "Chuyên gia" từ góc độ chơi trò chơi là người chơi có thể nhận được sức mạnh sẽ cung cấp số lượng hạn chế "thời gian viên đạn". Khi được sử dụng, một bong bóng xung quanh người chơi sẽ làm cho vật lý của nó bị chậm lại. Người chơi ở xa sẽ di chuyển với tốc độ bình thường, nhưng bất cứ thứ gì trong bong bóng (đạn, người chơi, vụ nổ) sẽ chậm lại. Người chơi sử dụng tăng sức mạnh sẽ di chuyển nhanh hơn một chút , cho phép họ chạy trốn hoặc sử dụng các pha nguy hiểm để tránh đạn.
zzzzBov

12

Tôi không thể nghĩ ra bất kỳ trò chơi nào có thời gian trong một người chơi đã chuyển nó thành công sang nhiều người chơi theo bất kỳ cách có ý nghĩa nào. Có thể có một vài trong số họ đã giải quyết nó bằng cách tăng tốc người chơi bằng cách sử dụng nó, nhưng đó là loại đánh bại điểm.

Thời gian đạn tồn tại bởi vì bạn muốn làm cho người chơi cảm thấy như một kẻ xấu. Bạn đang mang đến cho người chơi một lợi thế dường như không công bằng thông qua việc mô phỏng nhận thức ở cấp độ cao hơn. Kết quả cuối cùng của việc này là người chơi có thể nhắm trong khi làm những việc hay ho như nhảy ra khỏi vỏ bọc và cứ thế. Nếu bạn vừa tăng tốc người chơi trong khi họ kích hoạt thời gian đạn thì bạn cho họ ít thời gian hơn để phản ứng, điều này trái ngược với những gì bạn muốn.

Trong môi trường nhiều người chơi đồng bộ, thực sự không có bất kỳ giải pháp nào cho "thời gian chậm lại" do người dùng kích hoạt, mô phỏng cảm giác đến từ việc sử dụng nó trong một môi trường người chơi. Nếu thời gian bị chậm lại, thì nhận thức của mọi người sẽ tăng lên. Đặc biệt, trong một trò chơi trên PC, nơi việc nhắm chuột nói chung là ngay lập tức, mọi người sẽ nhận được lợi ích của các mục tiêu di chuyển chậm hơn.

Bây giờ nếu bạn đã chết vì điều này, đề nghị của tôi sẽ là, thay vì biến nó thành một tính năng kích hoạt trình phát, hãy biến nó thành một "trạng thái" gặp gỡ. Hãy suy nghĩ như một bộ phim của John Woo trong đó đó là người tốt so với kẻ xấu và mọi thứ dường như chậm lại khi họ quay phim với nhau. Vì vậy, khi "cuộc chạm trán" bắt đầu, hãy bật slo-mo và bạn có thể nhận được một số hiệu ứng thú vị. Các chàng trai nhảy xung quanh và nhét vào nhau từ những viên đạn bị trượt lơ lửng giữa không trung, và tất cả những thứ đó. Tất nhiên, điều này sẽ chỉ thực sự hoạt động cho trò chơi 1 trên 1. Bạn sẽ không nhận được lợi ích một phía của thời gian đạn như trong một trò chơi một người chơi, nhưng đó có thể là một trải nghiệm chơi thú vị.


1
Nó có thể có thể được mở rộng đến hơn 1 vs 1 bằng cách chỉ làm chậm những người có thể nhìn thấy nhau, sau đó ngay khi người khác nhìn thấy họ, họ cũng chậm lại. Bằng cách đó, mọi người khác đều có tốc độ bình thường, cho đến khi họ tham gia vào một cuộc chiến.
George Duckett

Bạn có thể giải quyết vấn đề nhắm mục tiêu tức thời bằng cách giới hạn tốc độ quay - vấn đề thực sự là trong một hệ thống chính xác, không ai khác bị ảnh hưởng bởi khung tham chiếu mới; chỉ nên thấy người chơi trong thời gian đạn được tăng tốc.
Jonathan Dickinson

Đừng làm chậm mọi người. Đóng băng những người chơi khác cho đến khi hết thời gian. Bạn muốn tính thời gian sao cho khi hết thời gian, các dòng thời gian được đồng bộ hóa lại.
Martin Sojka

Đây là câu trả lời duy nhất cho đến nay bao gồm điểm liên quan: bạn không tăng tốc hoặc làm chậm thời gian. Bạn đang làm chậm tốc độ mô phỏng để người chơi có nhiều thời gian hơn để phản ứng và lên kế hoạch di chuyển, nếu được thực hiện trong thời gian thực, sẽ nhanh chóng kiểm soát. Để làm cho công việc này từ quan điểm chơi trò chơi, tất cả người chơi tham gia (xem hoặc tham gia hành động) phải bị chậm lại và tất cả người chơi không liên quan (những người không ở gần để chứng kiến ​​sự chậm lại) sẽ tiếp tục ở tốc độ bình thường. Nếu bạn không làm chậm tất cả những người có thể xem sự kiện này, nó sẽ trông thật ngu ngốc.
MrCranky

Các trò chơi video Max Payne sử dụng "thời gian đạn" như một khả năng trong trò chơi. Một số game Jedi của Star Wars (chắc chắn là Jedi Knight II) cũng có "Force Speed", giúp bạn tăng tốc bằng cách làm chậm mọi người khác (trừ một người dùng Force Speed ​​khác).
KeithS

8

Suy nghĩ chung

Đây là một vấn đề được mô tả tốt nhất bằng cách sử dụng thuyết tương đối rộng - ví dụ thực tế là bạn có thể thấy tác động của thời gian đạn bằng cách chỉ nhìn qua kính viễn vọng của bạn tại một vệ tinh (nguyên nhân của neutrino khét tiếng di chuyển nhanh hơn vấn đề ánh sáng) - phương trình đó là có thể giải quyết tồn tại trong những điều kiện này; có nghĩa là nó hoàn toàn có thể.

Trò chơi của bạn sẽ cần có khả năng xử lý các khung tham chiếu riêng biệt - theo như tôi biết hiệu ứng ròng của việc này sẽ là ('người chơi' là người có thời gian hoạt động):

  • Những người nhìn thấy người chơi sẽ thấy họ di chuyển cực kỳ nhanh chóng.
  • Người chơi sẽ thấy mọi người di chuyển rất chậm.
  • Người chơi sẽ chuyển sang quá khứ / tương lai để tham khảo cho mọi người khác.

May mắn cho bạn điều này có nghĩa là một người chơi trong thời gian đạn có lợi thế hơn những người khác; họ không thể nhắm vào anh ta - tuy nhiên điều đó sẽ không thuyết phục bởi vì người bình thường sẽ không thấy sự khác biệt rõ rệt nào khi quan sát sự giãn nở thời gian.

Tôi thực sự khuyên bạn nên đăng bài này lên vật lý (cho biết đây là một trò chơi, nhưng bạn cần có kiến ​​thức lý thuyết thực sự) và hỏi ý tưởng về cách bạn sẽ ước tính hiệu ứng trong một mô phỏng đồng thời.

Một giải pháp khả thi tôi sẽ xem xét là để thế giới bắt kịp người chơi (vì anh ta đã chuyển sang tương lai) bằng cách mọi người trải nghiệm một số tiền lũy tiến (ít hơn nhiều so với thời gian đạn thực tế) tùy thuộc vào khoảng cách phía sau (trong thời gian) họ là. Bằng cách này, bạn có thể ước chừng sự khác biệt về thời gian mà không thực sự phải đối phó với việc lưu trữ trạng thái trong quá khứ, v.v. Bạn sẽ cần một số cách để giải thích hiệu ứng này, 'hồi phục thời gian' hoặc một cái gì đó, bởi vì nó không chính xác về mặt vật lý.

Một ý tưởng khác là lạm dụng các phương trình vật lý cơ bản nhất ( s = d/t), khi người chơi đi vào thời gian đạn, mọi thứ trở nên nhỏ hơn - nếu bạn giảm một nửa kích thước của mọi thứ theo quan điểm của mình nhưng vẫn giữ tốc độ như cũ theo khung tham chiếu ban đầu của anh ta, (hiệu quả nhân đôi nó) phương trình vẫn sẽ cân bằng. Trình tự ổ đĩa dọc trong phim không gian sử dụng sự giãn nở không gian này để mô tả hiệu ứng - vì vậy mọi người đã quen nhìn thấy nó.

Giải pháp thực tế

Tôi đã cho điều này thậm chí còn suy nghĩ thêm. Nếu bạn nhìn vào cách hệ thống mạng Steamworks hoạt động ( có ai đó có liên kết không? ) Thì máy chủ sẽ liên tục đi trước một thời gian nhất định; và mỗi khách hàng biết về khung 'tiếp theo' mà nó cần nội suy.

Ví dụ, giả sử rằng máy chủ đi trước 20ms so với tất cả người chơi. Khi người chơi bước vào thời gian đạn thay đổi khoảng thời gian cập nhật của mình thành 40ms (mô phỏng của anh ta sẽ chạy ở các bước thời gian 40ms và máy chủ sẽ xếp hàng hành động của anh ta 40ms vào tương lai) - về cơ bản sẽ đẩy vào tương lai để tham khảo cho những người chơi khác: ngoài ra để làm cho anh ta di chuyển nhanh hơn từ tài liệu tham khảo của họ và làm cho họ di chuyển chậm hơn từ anh ta. Khi anh ta rời khỏi thời gian đạn, hãy cho người khác lợi thế 5ms so với anh ta để họ có thể chơi 'bắt kịp' (đây là time reboundngười chơi thông minh ngẫu nhiên của bạn sẽ bắn thời gian trong những giai đoạn bắt kịp này). Nó có thể trông tốt hơn một chút nếu bạn ánh xạ một parabola theo bước thời gian của anh ta - điều này sẽ khiến mọi thứ chậm lại, dừng lại và sau đó tăng tốc trở lại.

Tuyên bố miễn trừ trách nhiệm: Tôi không phải là nhà vật lý, nhưng tôi có kiến ​​thức khả thi về thuyết tương đối.


4

Tôi muốn thêm 0,02 đô la của mình, khi tôi thực hiện chế độ bắn đạn nguyên mẫu hoạt động trong các trò chơi nhiều người chơi cho Heroes Over Europe .

Trong chế độ chơi đơn, nhấn nút vào đúng thời điểm sẽ làm chậm thời gian và phóng to mục tiêu dự định của bạn. Tôi không muốn làm chậm thời gian trên toàn cầu trong nhiều người chơi để sao chép tính năng (vì trò chơi là hỗ trợ 16 người chơi đồng thời!), Vì vậy tôi đã sử dụng phương pháp "bong bóng".

Cụ thể, khi chế độ thời gian đạn được kích hoạt, một quả cầu được tạo ra xung quanh máy bay mục tiêu. Tốc độ thời gian trôi qua thay đổi tùy theo khoảng cách đến tâm của quả cầu; thời gian xuống cấp tuyến tính từ bề mặt của nó đến một giá trị tối thiểu ở đâu đó gần trung tâm. Tốc độ cũng thay đổi như là một hàm của thời gian tồn tại của quả cầu và quả cầu còn lại bao lâu trước khi nó "bốc hơi".

Điều này đã được đồng bộ hóa trên các máy bằng cách gửi một gói xác định thời gian bắt đầu trong tương lai cho bong bóng; điều này cho phép hiệu ứng duy trì đồng bộ mặc dù có độ trễ. (Tương tự, khi hiệu ứng kết thúc sớm, một gói sẽ khai báo thời gian tương lai mà nó sẽ kết thúc.)

Tốc độ của thời gian luôn luôn được xác định theo chức năng: với định nghĩa của một hình cầu, thời gian hiện tại và một vị trí, có thể xác định thời gian trôi nhanh như thế nào.

Để làm cho hiệu ứng hoạt động, một số hệ thống trò chơi phải được điều chỉnh theo định nghĩa "chức năng" này của thời gian. Máy bay, đạn, tên lửa và các hiệu ứng khác từng sử dụng một cá nhân dtđược xử lý bằng cách gọi chức năng thích hợp. Hầu hết các công việc để có được nguyên mẫu làm việc đã được dành ở đây.

Kết quả hoạt động khá tốt: một người chơi bị nhắm vào thời gian đạn sẽ chậm lại đáng chú ý và có cơ hội (nhỏ) để di chuyển ra khỏi mái tóc chéo của kẻ xâm lược và tránh xa một loạt đạn chuyển động chậm. Người chơi gần đó có thể thấy máy bay và đạn né nhau trong chuyển động chậm, nhưng nếu không thì không bị ảnh hưởng.

Lưu ý rằng trình phát kích hoạt cũng bị làm chậm, nhưng không bị thiệt thòi nghiêm trọng bởi nó: chúng có chế độ phóng to mục tiêu và có thể ảnh hưởng đến một phát bắn vào con mồi. Một người chơi khác có thể cố gắng giết bạn (hoặc giết ăn cắp!) Trong trạng thái này, nhưng máy bay của họ (và đạn của họ) sẽ bị ảnh hưởng khi vào bong bóng, cho bạn thời gian để trốn thoát.

Thật không may, trong khi nó hoạt động, chúng tôi không bao giờ có thời gian để hoàn thành và đánh bóng tính năng cho nhiều người chơi, vì vậy nó đã bị loại bỏ. (Người chơi đơn vẫn giữ tính năng này là "Ace Kill".)


2

Không thực sự là thời gian, nhưng có thể rất vui:

Điều gì về một cái gì đó tương tự như cách Braid làm điều chậm lại thời gian? Tức là càng gần người trải qua thời gian đạn, mọi thứ càng chậm lại ... và nếu bạn ở ngoài phạm vi ảnh hưởng, thời gian sẽ trôi qua bình thường.

... ví dụ, nếu Người chơi A đi đạn thời gian, nó sẽ tạo ra một quả cầu "thời gian chậm" được phân loại xung quanh anh ta để anh ta có thể nhắm đúng, nhưng không nhất thiết phải di chuyển nhanh hơn - khi đó Người chơi B bắn đạn vào anh ta sẽ phải dự đoán quá mức nơi viên đạn sẽ bắn trúng, vì nó sẽ chậm lại khi nó đến gần anh ta hơn.

Mặc dù, tôi càng nghĩ về điều này, tôi càng nghĩ nó sẽ hoạt động ít hơn, bởi vì nó chỉ có thể khiến Người chơi A trở thành mục tiêu dễ dàng (vì đầu anh ta sẽ chậm lại?) - nhưng thật thú vị khi nhìn thấy nó trong 3D.


1
Thật thú vị, nhưng nếu những viên đạn làm chậm lại càng gần người chơi, anh ta sẽ có thể tránh được chúng.
joltmode

Đúng, nhưng như trong Braid, bản thân người chơi cũng chậm lại - tức là tốc độ quay của người chơi vẫn có thể nhanh, do đó, chặn hoặc khiên sẽ dễ triển khai hơn để tránh đạn, nhưng chuyển động thực sự bay trong không khí để thoát ra của con đường đạn sẽ chậm hơn ...
Seb

2

Tôi biết đây là một câu hỏi cũ nhưng tôi đã có một thời gian khó khăn khi không đề cập đến vấn đề này với hầu hết các câu trả lời liên quan đến thuyết tương đối

Được thực hiện với các hiệu ứng như được mô tả trong câu hỏi, thời gian đạn trong nhiều người chơi là không thể.

Lý do cho là làm thế nào thuyết tương đối hoạt động; Một số bạn ở đây đã đề cập đến nó và rõ ràng hiểu được tính tương đối, nhưng vấn đề là các mô hình của bạn được thiết lập không chính xác.

Nhiều người đã sử dụng "Tham chiếu của Người chơi A so với Người chơi B" trong câu trả lời của bạn nhưng thật đáng buồn là những điều đó không thực sự tồn tại. Có bạn có người chơi, thậm chí có thể nhiều người trong số họ, và vâng họ có thể điều khiển và tương tác với thế giới của họ và có góc nhìn riêng về trò chơi, nhưng viễn cảnh không phải là điểm tham chiếu kịp thời: đó chỉ là một không gian XYZ được chiếu vào XY máy bay.

Chỉ có một điểm tham chiếu duy nhất về thời gian và đó là máy chủ (hoặc máy chủ). Chỉ có một quan điểm về trạng thái vật lý của thế giới và do đó chỉ có một điểm tham chiếu. Những gì người chơi nhìn thấy trên màn hình của họ là các chế độ xem đồ họa khác nhau của cùng một mô phỏng vật lý.

Để có một người chơi xem một mô phỏng chạy ở một tốc độ và một người chơi khác xem cùng một mô phỏng ở tốc độ khác và không có một đồng bộ hóa thì không thể. Ở đâu đó, một cái gì đó phải cung cấp.

Bất kỳ nỗ lực nào để có nhiều mô phỏng hoặc để máy chủ chạy trước các máy khách chỉ không có ý nghĩa. Hiệu ứng như được mô tả trong bài viết không thể được thực hiện mà không buộc một điểm tham chiếu duy nhất hoặc để suy nghĩ trở nên bị coi thường và nói với người chơi rằng hành động của họ không thực sự xảy ra sau thực tế.

Tôi nghĩ rằng giải pháp tốt nhất tương tự như giải pháp đã được đưa ra là có hiệu ứng giống như bím tóc trong đó tốc độ của bạn được thay đổi trong một bong bóng xung quanh người chơi. Điều đó đang được nói, người chơi sẽ không chậm lại và bong bóng sẽ luôn được định vị và di chuyển với anh ta ở trung tâm. Điều này làm cho nó để người chơi di chuyển hết tốc lực trong khi những người gần gũi nhất với anh ta cảm thấy bị chậm lại. Anh ta có được sức mạnh của mình lên lợi thế và những người ở xa khu vực đó không cảm thấy hiệu quả. Những người ở gần bị làm chậm nhưng rõ ràng là ai đó đang sử dụng tăng sức mạnh (tôi sẽ đề nghị làm nổi bật người chơi bằng cách nào đó đang sử dụng nó để người chơi đối nghịch hoàn toàn hiểu những gì đang xảy ra và tại sao).


1

Nó sẽ rất khó xử. Thậm chí không cần nhìn vào vấn đề giãn thời gian, hãy tưởng tượng rằng bạn là người chơi chỉ mất 4 giây trong thời gian đạn, trong khi những người khác trong trò chơi đã dành 2 giây trong thời gian thực. Vì cùng một thời gian trôi qua cho mọi người trong thực tế, bạn phải "lấy lại" hai giây trong trò chơi bằng cách nào đó. Vì vậy, tại một số thời điểm, bạn cần "bỏ qua" 2 giây thời gian trò chơi hoặc dành một chút thời gian để chạy nhanh hơn hơn bình thường, hoặc một cái gì đó khác có thể khiến thời gian viên đạn trở nên lãng phí.

Ngoài ra, có toàn bộ về việc phải gửi những gì bạn làm vào lúc 2 giây trong thời gian của bạn trở lại thời gian 1 giây cho những người khác.


1

Ném các sự kiện giống như thời gian nhanh vào người chơi để tránh đạn hoặc tự động theo dõi mục tiêu của kẻ thù, đồng thời làm cho chuyển động của người chơi của bạn trông mờ hoặc "theo giai đoạn" cho người chơi khác (vì vậy họ không gãi đầu về lý do tại sao đạn của họ phát sinh 't hit). Đó dường như là bản dịch đơn giản nhất, thiết thực nhất bạn có thể thực hiện cho nhiều người chơi.

Bất kỳ giải pháp nào khác liên quan đến một số yếu tố vật lý của trò chơi được thay đổi cho một hoặc nhiều người chơi không áp dụng song song cho những người khác, tôi sẽ tưởng tượng.


0

Chỉ cần làm chậm mọi người khác thực hiện thời gian đạn của người chơi. Bạn có thể làm điều này bằng cách giảm độ nhạy chuột của chúng.


Và làm thế nào điều này sẽ dịch thành "trò chơi cân bằng"? : D
joltmode

Nó được cân bằng, thay vì người chơi tăng tốc, thế giới xung quanh chậm lại. Người chơi sẽ có lợi thế tương tự nếu tăng tốc, nhưng cách này hợp lý hơn.
Derek

0

Giả sử chúng ta có người chơi A trong thời gian đạn và người chơi B trong thời gian thực. Và họ làm như sau theo quan điểm của người chơi B:

  • Thời gian 0 giây - Người chơi A thời gian đạn kích hoạt
  • Thời gian 2 giây - Người chơi A bắn vào người chơi B
  • Thời gian 3 giây - Người chơi B bắn vào người chơi A

Bây giờ theo quan điểm của người chơi A, việc này sẽ mất gấp đôi thời gian - vì thế giới đang chuyển động chậm hơn đối với anh ta:

  • Thời gian 0 giây - Người chơi A thời gian đạn kích hoạt
  • Time 4s - Người chơi A bắn vào người chơi B
  • Time 6s - Người chơi B bắn vào người chơi A

Cuối cùng, máy chủ có các sự kiện sau đây.

  • Thời gian 0 giây - Người chơi A kích hoạt thời gian đạn
  • Thời gian 3 giây - Người chơi B bắn vào người chơi A (B khởi xướng hành động này để nó tuân theo dòng thời gian của anh ta)
  • Time 4s - Người chơi A bắn vào người chơi B (A khởi xướng hành động này)

Vì vậy, chúng tôi có hai vấn đề ban đầu. Đầu tiên là A bây giờ là 3 giây thời gian trò chơi phía sau những người khác. Đây có thể là một cơ chế trò chơi thú vị nếu bạn có một khái niệm có nghĩa là anh ta phải trả khoản nợ này. Hãy tưởng tượng một game bắn súng dựa trên vỏ bọc nơi bạn có thể kích hoạt thời gian đạn để vượt qua vùng đất trống, nhưng một khi bạn an toàn dưới vỏ bọc, bạn phải đứng yên cho đến khi phần còn lại của thế giới bắt kịp bạn (ba giây mà bạn bỏ lỡ được phát lại )

Vấn đề thứ hai lớn hơn nhiều. Máy chủ cần sắp xếp lại các sự kiện theo trình tự thời gian cho từng người chơi và tìm ra kết quả. Đầu tiên B bắn vào A - điều này xảy ra ba giây trong trò chơi và A thấy nó sau 6 giây - không có vấn đề gì cho đến nay. Vào lúc 4 giây, người chơi A bắn vào B. Trong dòng thời gian của B, điều này đã xảy ra hai giây trước. Vậy chúng ta sẽ làm gì với hai giây chơi trò chơi đã trôi qua cho anh ta bao gồm cả cú đánh của anh ta vào A?

Chúng tôi có thể vô hiệu hóa nó - về cơ bản là nói "Tôi biết người chơi B nghĩ anh ta đã bắn anh chàng đó, nhưng hóa ra anh ta đã chết nên hãy giả vờ rằng điều đó không bao giờ xảy ra" Đây sẽ là một trải nghiệm ngu ngốc, rất giống với lag, nhưng sẽ giải quyết vấn đề .

Chúng ta có thể làm cho cả hai dòng thời gian phúc âm - sử dụng quan điểm của máy chủ như toàn bộ sự thật và lo lắng về dòng thời gian của mỗi người một cách độc lập. Lúc 3 giây B bắn vào A và giết chết anh ta. Lúc 4 giây A bắn vào B và giết chết anh ta. Cả hai người chơi đều chết vì những bức ảnh mà họ không nhìn thấy. Nghe có vẻ không hay, nhưng có lẽ có một cách tốt để làm điều này sau khi cho tất cả người chơi một khóa học ngắn gọn trong thế giới tương đối điên rồ.

Chúng tôi có thể có một hệ thống giả thời gian thực - một trò chơi theo lượt trong đó bạn lên kế hoạch di chuyển trước và sau đó kích hoạt tính toán đồng thời các sự kiện. Một giải pháp tốt giúp khắc phục tất cả các vấn đề khác ngoài việc nó không phải là loại trò chơi mà bạn muốn viết.

Tóm lại, tôi không nghĩ có một cách hay để thực hiện thời gian đạn đối xử với nó theo nghĩa cổ điển là hiệu quả đối với người sử dụng nó - họ di chuyển nhanh hơn, họ nhìn thế giới chậm hơn, mọi người khác vẫn tiếp tục như bình thường. Nếu chúng ta đảo ngược nó và mọi người khác bị đẩy vào quan điểm của viên đạn và thấy bản thân họ di chuyển chậm hơn và các điều khiển của họ trở nên chậm chạp thì tất cả xảy ra đồng bộ và không có vấn đề gì. Nhưng đó có thực sự là thời gian đạn? Mặc dù nó có thể trông giống như một người quan sát bên ngoài (và trong phát lại trận đấu), không ai trong số những người tham gia sẽ có được hiệu ứng mà họ mong đợi.


Nó đã được thực hiện và hiệu quả là có thật và khiến bạn cảm thấy như một vị thần trong vài giây (chuyên gia, max payne 3).
Katu

-1

Không, no không thể. Hãy tưởng tượng một người chơi chuyển sang chuyển động chậm, những người chơi khác sẽ thấy gì? Bạn muốn họ thấy người chơi bắn đạn di chuyển bình thường nhưng có phản xạ nhanh như chớp phải không? Nhưng thật không may, tất cả mọi người chơi trò chơi sẽ chơi trò chơi trong cùng một thời gian thực. Do đó, cách duy nhất để làm điều đó là làm chậm toàn bộ trò chơi, loại bỏ bất kỳ lợi thế nào mà nó mang lại vì mọi người sẽ ở trong thời gian đạn. Ngoài ra, sẽ khá khó chịu khi trò chơi bị chậm lại mọi lúc khi bất cứ ai nhấn nút đó.

Có những công việc xung quanh sẽ dẫn đến việc người chơi có lợi thế tương tự (một trong số đó là có thể di chuyển nhanh hơn, v.v.) bằng cách làm chậm mọi người ELSE xuống và cho phép bạn di chuyển bình thường (sau đó, bạn có thể tăng tốc độ trở lại bình thường phản ứng nhanh) nhưng tôi không nghĩ đó thực sự là những gì bạn muốn.


1
Nó đã được thực hiện trước đây, vì vậy để nói rằng nó không thể là một ngụy biện sáng chói.
zzzzBov

@zzzBov theo nghĩa đen là không thể thực hiện thời gian đạn trong trò chơi nhiều người chơi ở dạng thật. Trước tiên, bạn sẽ phải làm chậm toàn bộ trò chơi, sau đó làm chậm thời gian thực tế cho tất cả những người chơi khác trong thế giới thực. Nghĩ về nó đi. Vì một công việc xung quanh bạn sẽ cần phải thực hiện một số công cụ tạm dừng / bắt kịp, nhưng ở dạng thật thì không thể.
SirYakalot

Bạn nói đúng, hình thức trung thực nhất của thời gian viên đạn khi một người dùng chạy ở tốc độ bình thường và một người khác trong thời gian đạn là không thể, tuy nhiên OP là sau khi "... [thực hiện] hiệu ứng chuyển động chậm / thời gian đạn", đã được thực hiện thực hiện trước.
zzzzBov

@zzzBov "Một cái gì đó giống như ảo ảnh cho người chơi hiện đang bị sàm sỡ. Vì vậy, mọi người đều thấy anh ta" thời gian thực ", nhưng anh ta thấy mọi thứ chậm lại." Trích dẫn từ câu hỏi ban đầu. Anh ta yêu cầu cụ thể cho một người dùng chạy ở tốc độ bình thường và một người khác trong thời gian đạn. Trên thực tế, đó gần như là những gì anh ấy yêu cầu.
Trevor Powell

Thực tế là điều này đã được thực hiện trong trò chơi MP (Chuyên gia, Max payne 3 trong số những người khác) nhiều năm trước, khiến câu trả lời này không có giá trị.
Katu

-1

FEAR có thời gian bắn đạn trong nhiều người chơi, nhưng nó đã áp dụng cho toàn đội và nó làm chậm tất cả mọi người trong đội khác.

Thời gian đạn trong chế độ nhiều người chơi trong thời gian thực mà không thực sự làm chậm những người khác sẽ đồng bộ hóa máy khách, người chơi chuyển động chậm sẽ phản ứng với các sự kiện mà những người chơi khác đã làm từ lâu trong khi họ sẽ phản ứng với các sự kiện hiện tại.


1
Trong khi đó là một giải pháp; Tôi không thích điều đó - người duy nhất bị ảnh hưởng là người chơi trong thời gian đạn - chỉ vì các vệ tinh quan sát bạn khi di chuyển chậm hơn không có nghĩa là bạn di chuyển chậm hơn trong khung tham chiếu của chính mình.
Jonathan Dickinson

Xin lỗi, chỉnh sửa trước đây của tôi nghe có vẻ hơi vị thành niên. "Thời gian đạn thời gian thực" nghe có vẻ mâu thuẫn.
Hamster

-2

Có lẽ bạn nên sắp xếp các thiết bị cần thiết để bắn người chơi vào PC, người đã kích hoạt thời gian đạn vào không gian với vận tốc gần tốc độ ánh sáng.

Điều này sẽ giải quyết tất cả các vấn đề của bạn nhưng có thể tạo ra độ trễ ping / độ trễ cao hơn.


-3

cũng sẽ không thành vấn đề nếu tất cả đều di chuyển chậm hơn bình thường nhưng không quá chậm và người kích hoạt nó sẽ di chuyển nhanh hơn như nhấn chìm toàn bộ trò chơi dưới nước hoặc đưa nó ra ngoài không gian với một người kích hoạt di chuyển một cách hòa bình hơn bao giờ hết


1
Không có gì sai khi trả lời các câu hỏi cũ. Tuy nhiên, người ta vẫn nên cố gắng làm cho câu trả lời của mình trở nên tốt và câu trả lời này không thực sự mang lại nhiều giải pháp hoàn chỉnh, cũng không thực sự bao quát được những câu trả lời hiện có.
Josh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.