Mô hình độ cao cho lưới trò chơi lục giác


16

TL; DR:

Độ cao nên được neo ở đâu trên lưới lục giác kiểu dân sự? Trung tâm, bên hay đỉnh? (Hay phức tạp hơn?)

Câu hỏi thích hợp:

Hãy xem xét một khoảnh khắc một trò chơi kinh điển mà tất cả chúng ta đều biết và yêu thích (có thể?), Sid Meier's Alpha Centauri. Mô hình bản đồ đã giới thiệu khái niệm hoàn toàn mới về độ cao địa hình có thể nhìn thấy theo công thức cổ điển. Trong SMAC, mọi đỉnh của bảng trò chơi đều có độ cao, cho phép bản đồ những ngọn đồi lăn tuyệt đẹp, một điều cần thiết hoàn toàn, xem xét những con sâu tâm trí sôi sục chờ đợi ở mọi góc.

Bản đồ độ cao chỉ có đỉnh sẽ dịch gọn gàng vào lưới hình lục giác?

Các lựa chọn thay thế rõ ràng là ánh xạ độ cao dựa trên mặt và ánh xạ độ cao dựa vào trung tâm; cũng như lập bản đồ độ cao của đỉnh bên trong (tạo cơ hội cho các vách đá! Yay!)

Tùy chọn cuối cùng là áp dụng một mạng lưới hình tam giác cho các trung tâm và đỉnh bao gồm lưới trò chơi, và có độ cao chỉ đỉnh hoặc đỉnh trong.

Lựa chọn nào trong số này có khả năng hoạt động tốt? Mà có khả năng hút tất cả nước trái cây ra khỏi CPU và RAM một cách vội vàng?

Câu trả lời:


10

Bản đồ độ cao chỉ có đỉnh sẽ dịch gọn gàng vào lưới hình lục giác?

Nó phụ thuộc vào sự sắp xếp của lưới điện. Nếu bạn tessellate máy bay của bạn như vậy, thì có.

Lưới

Trong trường hợp này, bạn có thể thay đổi hình tam giác màu xanh lá cây (x6) theo bất kỳ cách nào bạn muốn: hextri

Lựa chọn nào trong số này có khả năng hoạt động tốt?

Tất cả đều hoạt động tốt. Cơ hội là dù sao bạn cũng sẽ sử dụng nhiều phương pháp. Bạn không thể chỉ sử dụng độ cao giữa điểm trừ khi bạn chỉ muốn các tính năng núi một lát, bạn phải "nâng" các cạnh khi bạn đi lên núi nếu bạn muốn địa hình nhiều ô.

Mà có khả năng hút tất cả nước trái cây ra khỏi CPU và RAM một cách vội vàng?

Đây không phải là vấn đề (trừ khi bạn viết điều này cho một số loại hệ thống nhúng?) Vì tất cả công việc tạo bản đồ sẽ được thực hiện trước khi bất kỳ ai chơi trò chơi, trong giai đoạn tải.


Theo độ cao điểm giữa, tôi có nghĩa là một tình huống trong đó bạn chỉ có thể đặt và lưu trữ độ cao cho điểm giữa; nếu hai hình lục giác có độ cao đủ khác nhau, các cạnh xung quanh chúng sẽ được nâng lên để phù hợp với độ cao của khuôn mặt chúng. (ví dụ: 1,1 có độ cao là 3; 1,2 có độ cao là 5: mặt 1,1: 1,2 có độ cao là 4 khi được hiển thị).
Williham Totland

1
Đây không phải là vấn đề trong thời gian chạy vì bạn sẽ cần tính toán đường đi cho chuyển động, chênh lệch chiều cao để có lợi thế chiến đấu, v.v. Nó có thể không phải là vấn đề trong thời gian chạy vì hàng tá số float trên mỗi hex không thực sự tệ trên hầu hết các nền tảng, nhưng dữ liệu vẫn cần phải có để sử dụng bản đồ.

-1

Thật tuyệt khi ít nhất một số người khác nghĩ về điều này. Thật tệ là tôi chỉ gặp trang này vài năm sau. Tuy nhiên, tôi sẽ trả lời câu hỏi của bạn cho các hình lục giác cơ bản thay thế. Những hình ảnh đã được hiển thị cho đến bây giờ không phải là 100%. Và trên bản đồ 1 mét, lưới sẽ không còn hình dạng. Có nghĩa là không thể quay 60 độ.

Tôi đã thử nghiệm trên:

  • Các kích thước khác nhau của hình lục giác: Cơ sở hình tam giác (tính bằng pixel) nào cho độ chính xác cao nhất trên bản đồ 1 mét sau khi được in ra. Điều này bao gồm có chúng hoàn hảo nhất có thể khi xoay chúng 60 độ. Ngoài ra khi xoay chúng 180 độ để trang bị lại.

  • Các lớp hình lục giác kết hợp khác nhau.

  • Các hình lục giác đơn để cắt các hình ảnh chi tiết cao (RAM = không đủ ở các bản đồ lớn).

  • Giới hạn chính xác của máy tính của tôi cộng với những gì tôi cảm thấy là cho phép.

Tôi chưa thử nghiệm về độ cao bằng cách tạo ra các hình lục giác có hình dạng khác nhau. Nhưng tôi biết rằng cơ sở cần phải chính xác trước khi thực hiện độ cao.


Tóm lược:

  • Độ chính xác từ 1 mm trở xuống trên bản đồ 1 mét. Quy tắc 60 độ.

  • Tôi cần những đường kẻ có thể tự phù hợp khi quay 180 độ.

  • Tôi cần hình tam giác vừa với màn hình của mình với mức phóng to tối đa.

Tôi đã thu hẹp lựa chọn của mình xuống còn 3 với các quy tắc sau:

Nhỏ:

  • Kích thước; +26 x +45, 27 x 46 pixel

  • Không chính xác trên 1 mét; 0,74 mm

  • Sự nối tiếp; 131213131312131

Trung bình:

  • Kích thước; +41 x +71, 42 x 72 pixel

  • Không chính xác trên 1 mét; 0,20 mm

  • Sự nối tiếp; 1312131313121313131312131

Lớn:

  • Kích thước; +56 x +97, 57 x 98 pixel

  • Không chính xác trên 1 mét; 0,05 mm

  • Sự nối tiếp; 1312131313121313131213131312131

Một là 1 pixel.

Hai và ba là nhóm 2 pixel. A 2 là tổng cộng 4 pixel và A 3 là 6 pixel.

Nếu bạn thêm một chuỗi lên, bạn sẽ thấy rằng chúng là chiều rộng tính bằng pixel. Nếu bạn thêm chúng lên và đếm 4 và 6 thay vì 2 và 3. Bạn sẽ nhận được độ cao bằng pixel.

Số + là những gì bạn thêm bằng pixel khi bạn đặt 2 hình tam giác lên nhau hoặc đối diện nhau.

Hãy đặt câu hỏi. Trên email của tôi.


1
Không rõ bạn giải quyết câu hỏi thực tế như thế nào. Bạn đã thảo luận về chủ đề này một chút, mặc dù điểm chung của bạn cũng khó tách biệt. Những kích thước pixel này có liên quan gì đến hình học và độ cao của hình lục giác?
Seth Battin

1
Một điều nữa: StackExchange không phải là một diễn đàn truyền thống. Thông tin hữu ích nên được đưa vào bài đăng và độc giả không cần gửi email cho bạn để có câu trả lời đầy đủ. Ngoài ra bởi vì đây không phải là một diễn đàn, không có cách nào để mọi người đặt câu hỏi lại câu trả lời của bạn. Vì vậy, không chỉ mời những câu hỏi không phù hợp, nó sẽ không hoạt động. Xem gamedev.stackexchange.com/help/how-to-answer .
Seth Battin
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.