Rozumiem przewagę sześciokątnych płytek nad kwadratowymi. Ale dlaczego zamiast tego nie używa się ośmiokątów? Sądzę, że zapewnią lepszy, bardziej naturalny ruch w ośmiu kierunkach.
Myślałem o użyciu tego rodzaju mapy w jakiejś grze, ale nie widziałem żadnych gier, w których się z niej korzystam, więc zastanawiam się, czy nie zauważyłem czegoś oczywistego wadliwego w korzystaniu z niej?
grid
level-design
hexagonal-grid
Kliknij OK
źródło
źródło
Odpowiedzi:
Octogons:
Sześciokąty:
Luki w oktogonach tworzą nieprzyjemny świat gry.
Zazwyczaj, jeśli chcesz zezwolić na osiem kierunków ruchu, wystarczy użyć kwadratów.
źródło
Podsumowanie i opracowanie tego, co zostało powiedziane w innych odpowiedzi w komentarzach, trójkąty, kwadraty i sześciokąty są tylko matematycznie możliwe regularnych tilings aka regularne TESELACJE z euklidesowej płaszczyzny . Więc tak, to do bani. Trójkąty są tutaj całkowicie bezużyteczne, kwadraty są do bani, ponieważ nie można poruszać się po przekątnej bez niewygodnego współczynnika 1,4142135623730950488016887242096980785696718753769480 ... dawać lub brać; a sześciokąty są do kitu, ponieważ nie można nawet poruszać się prosto w obu kierunkach. Nie zrozumcie mnie źle, nadal wolę je od kwadratów w ramach ograniczonej gównianej matematyki rzeczywistości i wybrałem Civ5, aby w końcu przejść na siatki heksadecymalne. Ale nadal, gdyby tak było możliwa teselacja z ośmiokątami, nikt nigdy nie spojrzałby na sześciokąty.
Możesz powiedzieć „Cóż, nie dbam o to, czy są luki. Udaję, że ich nie ma”. Dostaniesz przycięte kwadratowe kafelki, które nazywa się kwadratowymi kafelkami, nie dlatego, że są małe kwadratowe szczeliny, ale ponieważ te ośmiokąty są w rzeczywistości tylko uwielbionymi kwadratami pod względem kafelkowania samolotu. Te małe kwadraty pozostały po obcięciuza rogami kwadratów, które faktycznie układałyby płaszczyznę samolotu, i pod względem gry, powodem, dla którego nie korzystaliśmy z kwadratów, była równa odległość dla ruchów prostych i po przekątnej, a tego tutaj nie ma. Ruchy ukośne muszą pokonać tę samą odległość między środkami płytek, co w przypadku kwadratowych płytek. I odwrotnie, jeśli udajesz, że Twoja magiczna cyfrowa przestrzeń ma rzeczywiste dziury, możesz to oczywiście zrobić, ale jaka jest różnica po prostu używając kwadratowych płytek i wykonywania ruchów po przekątnej tak samo drogich jak proste?
To wszystko nie byłoby takie złe, gdyby istniały naprawdę dobre alternatywy, które nie są euklidesowe . Często nasza siatka i tak znajduje się na jakiejś planecie, dlaczego więc nie skorzystać z geometrii eliptycznej, tj. Powierzchni kuli? Niestety, kule są nawet o wiele, znacznie gorsze, jeśli chodzi o regularne przechylanie. Gdzie w płaszczyźnie możesz użyć co najmniej tyle płytek, ile chcesz, na kulach jest pięć układów, bryły platońskie. Otóż to. I tylko dwa z nich nie używają trójkątów. https://en.wikipedia.org/wiki/Spherical_polyhedra
Jednak płaszczyzna hiperboliczna naprawdę się trzęsie, jeśli chodzi o teselacje. Nie ma tylko trzech, w rzeczywistości istnieje nieskończona liczba regularnych teselacji, w tym ośmiokątna .
Jedynym problemem jest to, że płaszczyzna hiperboliczna nie jest tak ładna jak płaska powierzchnia lub kula, ale w zasadzie powierzchnia Pringle'a . Potrzebujesz usprawiedliwienia w grze na Pringle;)
Mimo to, ośmiokątny Dachówka jest tak elegancki i tarczowe Poincare wygląda tak niesamowite, że jestem naprawdę zaskoczony, to prawie nigdy nie zostało zrobione (wcześniej powiedziałem „nigdy nie zostało zrobione” tutaj, ale potem czytam MartianInvader „s komentarz wskazujący na HyperRogue ).
Jeśli chodzi o implementację, chociaż sam tego nigdy nie zrobiłem, wdrożenie tego w dzisiejszych architekturach 3D powinno być dość proste, ponieważ widok dysku Poincaré można zbudować, umieszczając wszystko na powierzchni hiperboloidy i wykonując rzut perspektywiczny (patrz Związek z modelem hiperboloidalnym ).
Jeszcze jedna rzecz na zakończenie, na wypadek, gdybyś pomyślał o zrobieniu kosmicznej gry opartej na siatce i przejściu do trzech wymiarów, mając nadzieję, że sprawy mogą wyglądać bardziej różowo ... lepiej po prostu się poddaj. Potrzebny byłby nie tylko regularny wypukły wielościan z 14 ścianami, który nie istnieje , jedynym sposobem na mozaikowanie przestrzeni euklidesowej 3D za pomocą regularnych wypukłych wielościanów jest użycie kostek. Booooring. W przestrzeni hiperbolicznej możesz uzyskać coś niejasnego jak analogon do siatki heksadecymalnej przez teselację z dodekaedrą (tj. Wielościan o 12 twarzach, to prawie 14, prawda?), Ale teraz jesteś w totalnej krainie pieprzenia mózgu i wciąż nie masz odpowiednik ośmiokątnej płytki:
Piękna jak diabli? O mój Boże, tak! Czy wpadłbym w panikę ponad wszelką miarę, gdyby kosmiczne statki kosmiczne przyszły za mną i oczekiwano, że zareaguję rozsądnie? Założę się, że tak. Jest to prawdopodobnie powód, dla którego większość ludzi używa po prostu kostek lub sześciokątnych stosów pryzmatycznych .
źródło
Autor HyperRogue tutaj.
HyperRogue faktycznie używa teselacji wykonanej z sześciokątów i heptagonów, oto powód, dla którego wybrano tę konkretną teselację, zamiast tylko ośmiokątów lub heptagonów, na przykład: Geometria hiperboliczna w hiperbolicznym nieuczciwym Zasadniczo ośmiokąty są zbyt duże.
Również niektóre konsekwencje użycia geometrii hiperbolicznej w grze (co działa w hiperbolii i nie działa w euklidesie i odwrotnie) są wymienione w tym poście.
I tak, jak zgadł Christian, HyperRogue wewnętrznie korzysta z modelu hiperboloidalnego.
Nie wolno mi komentować odpowiedzi Christiana, ale istnieje mozaika przestrzeni 3D z wielościennymi wielościanami o 14 twarzach: Bitruncated Cubic Honeycomb (dlaczego właściwie 14 twarzy?)
źródło
Zasadniczo to, czego chcesz, to monoedryczne mozaikowanie (lub układanie płytek), czyli pokrycie całej płaszczyzny (przy założeniu 2d) z jednym kształtem, w którym płytki nie nakładają się ani nie pozostawiają przerw.
Istnieje wiele kształtów, dzięki którym można to zrobić, ale kiedy wprowadzimy inne ograniczenia, zwykle orientacja powinna pozostać taka sama lub powinny one być zgodne z naturalnym kierunkiem ruchu, w zasadzie pozostają tylko kwadraty i sześciokąty.
Weź trójkąt na przykłady (które możesz znać z mozaikowania obiektów 3d). Aby wypełnić luki między dwoma trójkątami, należy wstawić inny trójkąt, ale odwrócić go do góry nogami. Jest to oczywiście trudność do wygenerowania, na przykład w przypadku duszków, ponieważ ważne jest bezproblemowe połączenie. Bani także ruch trójkątny.
Najbardziej naturalny, przynajmniej w odniesieniu do ruchu, jest kwadrat, który jest najczęściej używany. Sześciokąty to kolejna najlepsza rzecz, która pozwala na bardziej bezpośrednie podejście do większej liczby kierunków ruchu, tj. Nie ponad ruchem narożnym, jak to robi ruch 8-kierunkowy na kwadratach. Zazwyczaj stosuje się je w bardziej taktycznych grach, w których ważny jest wzrost ruchu.
W każdym razie, jeśli chcesz przeczytać więcej, zajrzyj na http://euler.slu.edu/escher/index.php/Tessellations_by_Polygons .
źródło