Tính điểm kinh nghiệm kiếm được sau một trận chiến


9

Tôi đang phát triển một trò chơi chiến đấu văn bản đơn giản và gặp một số vấn đề khi tính toán số tiền XP nên kiếm được sau một trận chiến, có một vài yếu tố mà tôi muốn xem xét:

1) Người chơi tất nhiên nên kiếm được XP tốt nếu họ đánh bại ai đó cùng cấp

2) Người chơi nên kiếm được XP tuyệt vời nếu họ đánh bại ai đó ở cấp độ cao hơn

3) Người chơi nên kiếm XP kém nếu đánh bại ai đó ở cấp thấp hơn

4) Ở trên nên chia tỷ lệ độc đáo, tức là nếu người chơi A ở cấp 10 và chiến đấu với Người chơi B, cấp 9 hoặc 11, sự khác biệt không nên lớn (tất nhiên họ sẽ nhận được nhiều XP hơn khi đánh bại nhân vật cấp 11 nhưng chúng tôi sẽ không mong đợi điều này là rất lớn), nhưng nếu anh ta chiến đấu ở cấp độ 5 hoặc 15 thì sự khác biệt này sẽ rất lớn.

Chỉ gặp khó khăn khi tính toán một cái gì đó hoạt động tốt trong tất cả các kịch bản, hiện tại bảng XP của tôi trông như dưới đây:

Current Level   XP Needed   Increase from Last Level
1   30  0
2   65  35
3   106 41
4   154 48
5   210 56
...
10  672 123

Trong PHP, mã của tôi trông giống như bên dưới để tính XP cần thiết:

$offset = 30;
$multiplier = 1.17;
$base = $prevXp * $multiplier;

$xp = $base + $offset;

Tôi đã thử một vài thứ khác nhau nhưng tôi không ấn tượng với bất kỳ thứ nào trong số chúng, tôi muốn làm việc với việc tính toán sự khác biệt trong XP và sau đó sử dụng một số loại nhân nhưng tôi không ấn tượng với kết quả.

Bất kỳ trợ giúp / đầu vào sẽ được đánh giá cao.


2
Tôi thậm chí không đọc, chỉ cần đến đó -> gamebalancecon accept.wordpress.com/2010/07/07/iêu <-
o0 '.

Suy nghĩ đầu tiên là bạn nên tìm cho mình một bản sao của hướng dẫn thạc sĩ ngục tối D & D từ phiên bản thứ hai hoặc thứ ba. Tài nguyên tốt cho các hệ thống trao giải XP đã được thử nghiệm / cân bằng.
Richard Fabian

Câu trả lời:


13

Hai gợi ý:

Số mũ! Tính toán một số "phần thưởng xp cơ sở" cho mỗi cấp độ. Sau đó, công thức cho một kill là base_xp numward * pow (1.1, target_level - player_level). Bạn có thể muốn đạt được mức tăng tối đa, để phần nào vô hiệu hóa các khai thác và bạn có thể muốn cung cấp cho XP không dưới một mức chênh lệch nhất định, để ngăn chặn việc nuôi những người thấp kém.

(Phần thưởng XP cơ sở cũng có thể là một sự tiến triển theo cấp số nhân đơn giản, nếu bạn thích - hằng_factor * pow (1,25, cấp độ), có lẽ. Sau đó, bạn có thể định nghĩa "exp to level" theo bội số của phần thưởng XP cơ sở. dễ dàng hơn để cân bằng theo cách này.)

Ngoài ra, hãy làm điều này thực sự đơn giản. Làm điều tương tự-XP-phần thưởng. Sau đó tìm ra một bảng bằng tay cho các phần thưởng bạn muốn từ các mức chênh lệch khác nhau. Làm cho nó dựa trên tỷ lệ, để giết một người ở một cấp trên bạn luôn cho, ví dụ, 10% tiền thưởng XP so với phần thưởng cơ bản. Và bây giờ bạn không cần phải lo lắng về một công thức nào cả - bạn chỉ có thể làm cho các con số làm những gì bạn muốn.

Các công thức được đánh giá quá cao, đôi khi bạn chỉ cần kẹt một số số và chơi bằng tai.


1
+1 choFormulas are overrated, sometimes you just need to jam some numbers in and play it by ear.
RCIX

2

Tôi muốn nói một cái gì đó như "đạt được xp bằng cách giảm / nhận sát thương". Vì vậy, nếu cấp 10 với 100hp chiến đấu thì cấp 15 với 200 hp. Có vẻ không công bằng nhưng nếu cấp 10 có thể giết được cấp 15, anh ta sẽ nhận được gấp đôi xp của những gì anh ta sẽ nhận được nếu chiến đấu với cấp 10 chỉ với 100 mã lực.

Ngoài ra, theo cách này, bạn không phải lo lắng về những thứ như nếu hai người sẽ chiến đấu với cùng một kẻ thù bằng các thiết bị khác nhau. Ví dụ, nếu cấp 8 và cấp 10 chiến đấu với cấp 13. Nếu cấp 8 có trang bị / áo giáp tốt hơn thì anh ta sẽ nhận được nhiều xp hơn, cấp 10 chỉ đơn giản là vì anh ta gây thêm sát thương cho cấp 13.

Nhưng điều quan trọng nhất: Đặt quy tắc, playtest, đặt quy tắc, playtest, đặt quy tắc, plasytest, v.v.

Ngay cả những MMO tốt nhất từ ​​các nhà phát triển tốt nhất cũng điều chỉnh hệ thống phân phối xp của họ miễn là trò chơi tồn tại.


0

Chỉ cần IMHO, điều quan trọng nhất để có được quyền là số lượng XP cần thiết để tăng cấp. Một người bạn của tôi đã sử dụng một biến thể của Wikipedia cho trình duyệt của anh ấy giống như Rogue, ví dụ 100XP, 100XP, 200XP, 300XP, 500XP, 800XP, v.v.

Tôi cũng đã nghe nói về một thợ máy trong một số trò chơi trong đó cấp độ được trừ từ XP kiếm được sau mỗi trận chiến. Chẳng hạn, nếu một trận chiến cụ thể kiếm được 50XP và họ ở cấp 20, thì họ chỉ nhận được 30XP. Nếu họ ở cấp 50 trở lên, họ sẽ chẳng kiếm được gì.

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.