123DiceRoller là công cụ tung xúc xắc online miễn phí với xúc xắc 3D chân thực, chạy ngay trong trình duyệt của bạn. Công cụ được xây dựng để công bằng, nhanh và riêng tư: kết quả đến từ bộ sinh số ngẫu nhiên an toàn mật mã, xúc xắc được tung với vật lý thật, và không có thông tin nào về bạn hay các lần tung của bạn được gửi lên máy chủ.
Từng bước của một lần tung
- Các con số được rút ra trước. Với mỗi viên xúc xắc, Web Crypto API của trình duyệt (
crypto.getRandomValues) cung cấp một số ngẫu nhiên 32 bit. Số này được quy về một mặt bằng phương pháp lấy mẫu loại bỏ (rejection sampling) — những lần rút có thể khiến các mặt thấp dễ ra hơn một chút xíu sẽ bị loại bỏ — nên mọi mặt của một viên xúc xắc N mặt đều có xác suất đúng 1 trên N. - Cú tung được mô phỏng. Một engine vật lý vật rắn (cannon-es) tung xúc xắc lên bàn với trọng lực, ma sát, độ nảy và va chạm giữa các viên. Toàn bộ cú tung được tính toán xong chỉ trong tích tắc, trước khi được hiển thị.
- Xúc xắc được xoay cho khớp. Mọi hình dạng xúc xắc đều đối xứng: một viên d20 có thể xoay theo 60 cách khác nhau mà trông vẫn y hệt. Công cụ chọn đúng phép xoay đưa con số đã rút tới vị trí mà vật lý đặt mặt trên cùng, và áp dụng nó ngay từ khung hình đầu tiên. Chuyển động là thật; còn con số thì đã được quyết định từ trước, một cách công bằng.
- Xúc xắc bị kênh sẽ được tung lại. Nếu có viên nào sắp dừng lại trong tư thế tựa nghiêng vào viên khác, cú tung sẽ được làm lại mà bạn không hề thấy, giống như ở bàn chơi thật người ta sẽ yêu cầu tung lại.
- Cú tung được phát lại với bóng đổ, phản chiếu và âm thanh khớp với từng cú va chạm.
Sao không để vật lý quyết định con số?
Vì mô phỏng không phải là một nguồn ngẫu nhiên công bằng. Những chi tiết nhỏ ở vị trí ban đầu, bước thời gian và sai số làm tròn có thể khiến một số mặt ra thường xuyên hơn các mặt khác, và không ai chứng minh được là điều đó không xảy ra. Bộ sinh số mật mã được thiết kế và kiểm thử để không thể đoán trước và phân bố đều. Tách riêng hai phần này mang lại cho bạn điều tốt nhất của cả hai: một cú tung trông và nghe như thật, và một kết quả bạn có thể tin tưởng.
Xác suất chính xác
Xác suất hiển thị cho mọi lần tung đều được tính toán, không phải phỏng đoán. Tổng được tính bằng tích chập, lần lượt từng viên, còn các lần tung giữ hoặc bỏ như lợi thế thì được tính bằng cách đếm mọi kết quả khác nhau. Công cụ tính xác suất xúc xắc giải thích phương pháp này.
Được xây dựng trên
- three.js cho phần dựng hình 3D (giấy phép MIT)
- cannon-es cho phần vật lý (giấy phép MIT)
- PHP thuần trên máy chủ, không cơ sở dữ liệu, không tài khoản và không theo dõi
Cả hai thư viện đều được phục vụ từ chính trang này thay vì từ CDN của bên thứ ba, nên trang không bao giờ tải mã từ bất kỳ nơi nào khác.
Thuộc gia đình 123
123DiceRoller là thành viên cùng nhà với 123Calculator và các công cụ miễn phí, không cần đăng ký khác của chúng tôi. Bạn có câu hỏi, ý tưởng hay muốn báo lỗi? Hãy gửi email tới hello@123diceroller.com.
Cập nhật lần cuối: