Saya mengerti keuntungan dari ubin heksagonal lebih dari yang persegi. Tapi mengapa octagons tidak digunakan? Saya pikir mereka akan memberikan gerakan yang lebih baik, lebih alami di delapan arah.
Saya berpikir untuk menggunakan peta semacam itu di beberapa game, tapi saya belum melihat ada game yang menggunakannya, jadi saya bertanya-tanya apakah saya melewatkan sesuatu yang jelas salah dalam menggunakannya?
grid
level-design
hexagonal-grid
Klik Oke
sumber
sumber
Jawaban:
Octogons:
Segi enam:
Kesenjangan dalam octogon membuat dunia game tidak menarik.
Biasanya, jika Anda ingin memungkinkan delapan arah gerakan, Anda hanya akan menggunakan kotak.
sumber
Untuk meringkas dan menguraikan apa yang telah dikatakan dalam jawaban lain dan dalam komentar, segitiga, bujur sangkar, dan segi enam adalah satu-satunya tilings reguler yang mungkin secara matematis alias tessellations reguler dari pesawat Euclidean . Jadi ya, ini menyebalkan. Segitiga benar-benar tidak berguna di sini, kotak menghisap karena Anda tidak dapat bergerak secara diagonal tanpa memiliki faktor yang agak sulit di 1,4142135623730950488016887242096980785696718753769480 ... memberi atau menerima; dan segi enam payah karena Anda bahkan tidak bisa bergerak lurus ke dua arah. Jangan salah paham, saya masih lebih suka mereka daripada kuadrat dalam batasan-batasan dari realitas matematika jelek yang tersisa bagi kita dan pergi Civ5 untuk akhirnya beralih ke hex grid. Tapi tetap saja, jika itu benar mungkin untuk tessellate dengan octagon, tidak ada yang akan melihat hexagon.
Anda bisa mengatakan, "Yah, saya tidak peduli jika ada celah. Saya hanya berpura-pura tidak ada." Anda akan mendapatkan ubin persegi terpotong yang disebut ubin persegi bukan karena ada sedikit celah persegi tetapi karena octagon itu sebenarnya hanya kotak dimuliakan dalam hal ubin pesawat. Kotak kecil itulah yang tersisa dari pemotongansudut-sudut kotak yang benar-benar akan membentuk bidang dan dalam hal permainan, alasan untuk tidak menggunakan kotak di tempat pertama adalah memiliki jarak yang sama untuk gerakan lurus dan diagonal dan ini adalah apa yang tidak Anda miliki di sini. Pergerakan diagonal harus menjembatani jarak yang sama antara pusat ubin seperti halnya dengan ubin persegi. Sebaliknya, jika Anda berpura-pura ruang digital ajaib Anda memiliki lubang yang sebenarnya, tentu saja Anda bisa melakukan itu, tetapi apa bedanya hanya menggunakan ubin persegi dan membuat gerakan diagonal sama mahalnya dengan yang lurus?
Sekarang ini semua tidak akan terlalu buruk jika ada alternatif yang benar-benar bagus yang bukan Euclidean . Seringkali, grid kita ada di beberapa jenis planet, jadi mengapa tidak menggunakan geometri elips, yaitu permukaan bola? Sayangnya, bola bahkan jauh, jauh lebih buruk ketika datang ke tilings biasa. Di mana di pesawat Anda setidaknya dapat menggunakan sebanyak atau sesedikit ubin yang Anda suka, pada bola ada lima pengaturan, padatan Platonis. Itu dia. Dan hanya dua dari mereka yang tidak menggunakan segitiga. https://en.wikipedia.org/wiki/Spherical_polyhedra
Namun, bidang hiperbolik benar-benar batu ketika datang ke tessellations. Bukan hanya tiga, sebenarnya ada jumlah tak terbatas dari tessellations biasa, termasuk yang segi delapan .
Satu-satunya masalah adalah bahwa bidang hiperbolik bukanlah sesuatu yang sebaik permukaan datar atau bola tetapi pada dasarnya permukaan Pringle . Anda akan membutuhkan satu pengait cerita untuk membenarkan permainan pada Pringle;)
Namun, ubin segi delapan yang begitu elegan dan disc Poincaré terlihat begitu mengagumkan bahwa aku benar-benar terkejut itu hampir tidak pernah dilakukan (sebelumnya saya mengatakan "tidak pernah dilakukan" di sini tapi kemudian saya membaca MartianInvader 's komentar menunjuk ke HyperRogue ).
Dari segi implementasi, walaupun saya belum pernah melakukannya sendiri, seharusnya cukup mudah untuk mengimplementasikannya dengan arsitektur 3D saat ini, karena tampilan disc Poincaré dapat dibuat dengan meletakkan segala sesuatu di permukaan hiperboloid dan melakukan proyeksi perspektif (lihat Kaitannya dengan model hiperboloid ).
Hanya satu hal lagi untuk menyimpulkan ini, jika Anda berpikir tentang melakukan permainan ruang berbasis grid dan pergi ke tiga dimensi, berharap hal-hal mungkin terlihat lebih cerah di sana ... lebih baik menyerah saja. Anda tidak hanya memerlukan polyhedron cembung biasa dengan 14 wajah yang tidak ada , satu-satunya cara untuk men-tessellate ruang Euclidean 3D dengan polyhedra cembung biasa adalah dengan kubus. Booooring. Di ruang hiperbolik Anda setidaknya bisa mendapatkan sesuatu yang samar-samar seperti analog ke hex grid dengan men-tessellating dengan dodecahedra (yaitu polyhedra berwajah 12; itu hampir 14, kan?) Tapi sekarang Anda berada di tanah brainfuck total dan masih belum punya pasangan ke ubin segi delapan:
Cantik sekali? Ya Tuhan, ya! Akankah saya panik tak terkira jika pesawat ruang angkasa alien datang setelah saya dalam hal ini dan saya diharapkan untuk bereaksi dengan cara yang masuk akal? Anda pasti akan melakukannya. Ini mungkin alasan mengapa kebanyakan orang hanya menggunakan kubus atau tumpukan prismatik heksagonal .
sumber
Penulis HyperRogue di sini.
HyperRogue sebenarnya menggunakan tesselation yang terbuat dari segi enam dan heptagon, di sini adalah alasan mengapa tesselation khusus ini telah dipilih, bukan hanya octagons atau heptagons, misalnya: Geometri hiperbolik dalam Rogue Hiperbolik Pada dasarnya, octagons terlalu besar.
Juga beberapa konsekuensi menggunakan geometri hiperbolik dalam permainan (yang berfungsi dalam hiperbolik dan tidak bekerja di Euclidean, dan sebaliknya) tercantum dalam posting itu.
Dan ya, seperti dugaan Christian, HyperRogue secara internal menggunakan model hiperboloid.
Saya tidak diizinkan untuk mengomentari jawaban Christian, tetapi ada tesselation ruang 3D dengan 14-polyhedra berwajah: Bitruncated Cubic Honeycomb (mengapa 14 wajah, sih?)
sumber
Pada dasarnya yang Anda inginkan adalah tesselation monohedral (atau ubin), yaitu cakupan seluruh bidang (dengan asumsi 2d) dengan bentuk tunggal di mana ubin tidak bertumpang tindih atau meninggalkan celah.
Ada banyak bentuk yang dapat digunakan untuk melakukan ini, tetapi ketika kita memperkenalkan batasan lain, biasanya orientasi harus tetap sama atau mereka harus sesuai dengan arah pergerakan alami, pada dasarnya hanya kotak dan segi enam yang tersisa.
Ambil segitiga sebagai contoh (yang mungkin Anda ketahui dari tesselation objek 3d). Untuk mengisi celah di antara dua segitiga, segitiga lain harus dimasukkan, tetapi dibalik terbalik. Ini jelas merepotkan untuk menghasilkan ketika berhadapan dengan sprite misalnya karena koneksi yang mulus adalah penting. Gerakan segitiga juga menyebalkan.
Yang paling alami, berkenaan dengan gerakan setidaknya, adalah kuadrat yang kebetulan paling sering digunakan. Segi enam adalah hal terbaik berikutnya dan memungkinkan pendekatan yang lebih langsung ke jumlah arah gerakan yang lebih tinggi, yaitu tidak di atas gerakan sudut seperti yang dilakukan oleh gerakan 8 arah pada bujur sangkar. Biasanya mereka digunakan dalam permainan yang lebih taktis di mana peningkatan gerakan penting.
Bagaimanapun, jika Anda ingin membaca lebih lanjut, lihat di http://euler.slu.edu/escher/index.php/Tessellations_by_Polygons .
sumber