Wpis z mikrobloga

3-wymiarową przestrzeń chyba każdy zna i jako-tako ogarnia. Mało kto jednak ogarnia 4- i więcej wymiarowe przestrzenie. #matematyka sobie z tym radzi bez większych problemów, ale czy ktoś kiedyś widział 4-wymiarowy obiekt...? No, to teraz macie szansę ;)

Stworzyłem już dosyć dawno (a parę dni temu wskrzesiłem) projekt, w którym można pozwiedzać 4-wymiarowy świat. Ten projekt to 4-wymiarowy labirynt. Chodzi w nim o to, aby przejść przez zestaw tuneli i dotrzeć do niebieskiego hipersześcianu.

Więcej szczegółów pod linkiem. Opisałem projekt też trochę od strony technicznej: tutaj. Wskrzeszony program jest napisany w #rustlang

Miłej zabawy ;) Uwaga: nie spodziewajcie się fajerwerków graficznych - główna idea to rycie bani przez zmuszanie do ogarnięcia poruszania się w 4-wymiarowej przestrzeni, więc całość jest bardzo prosta i raczej na poziomie proof-of-concept, niż prawdziwej gry.

#programowanie #gry #nauka
  • 52
  • Odpowiedz
@fizyk20: Jeżeli chcesz zachować możliwość przezroczystości (żeby widać było resztę labiryntu przez ściany) to słabo.
Na bank przydałoby się dać tekstury, które nadałyby "namacalności" ścianom.
Z przezroczystością można dać albo tak, ze włącza się ją i wyłącza przyciskiem
Albo
Można dać tak, że jest fade'out im dalej tym mniej prześwituje + usunąć niepotrzebne prześwitywania np wychodzi się z tunelu do sześciennego pomieszczenia, nie ma sensu, żeby ono prześwitywało przez tunel.

że
  • Odpowiedz
zatem tekstury musiałyby być... objętościowe.


@fizyk20: są takie. Nazywają się teksturami 3D. Nie wiem czy Red Faction 1 ich nie używał bo miał niszczenie terenu.
  • Odpowiedz
@Naxster

W zwykłym 3D jest 6, trzy poruszania + trzy obrotu. w 4D nie powinno być 4+4? względnie 3 + 3 + 3?


Obroty są zawsze w jakiejś płaszczyźnie, czyli wymagają 2 wymiarów. 2 wymiary z 4 można wybrać na 6 sposobów, stąd 4 + 6 = 10
  • Odpowiedz
@Naxster:

są takie. Nazywają się teksturami 3D.


Że są, to wiem, nie wiem tylko jak z liczeniem ich przekrojów (zresztą grafik też ze mnie żaden, więc i stworzenie takich by mnie mogło przerosnąć). Pokminię.
  • Odpowiedz
@fizyk20: Przeszedłem, 1lvl był prosty i jakoś tam ogarnąłem ten 4 wymiar, ale w 2lvlu poszedłem do końca, poprzestawiałem trochę wszystkie wymiary, poruszyłem się dalej do końca i dalej przestawiałem wymiary tak długo aż pojawiła się droga do hiperkostki
  • Odpowiedz
@fizyk20: Powinieneś uprościć wszystko jak tylko się da, żeby powoli wprowadzić gracza w ten świat. Na przykład na pierwszy poziom tylko jeden prosty korytarz. I nie rób dekoracji typu większy końcowy pokój, tylko wszystko równe i proste, żeby łatwo wyobrazić sobie. A mógłbyś też dodać do paczki obrazki z mapami ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@fizyk20: Naprawdę fajne wykonanie, dzięki tobie inaczej spojrzałem na czwarty wymiar. Do tej pory moim wyobrażeniem kolejnego wymiaru była jakby rolka aparatu, w której każda klisza to inna przestrzeń trójwymiarowa. Rolka była tą kolejną prostopadłością.
  • Odpowiedz
@Antyradek: Może to i niegłupie, żeby wszystko było równe... Zrobiłem większy pokój, żeby bardziej podkreślał, że to koniec trasy. A co do map... nie wiem za bardzo, jak przedstawić 4-wymiarowe mapy na obrazkach :p

@claudio1: Wiem :( Może @RonPaul uda się skompilować, to wtedy dorzucę.

@Kontestator: A jaką masz obsługiwaną wersję OpenGL? Możesz to sprawdzić np. tak.
  • Odpowiedz
@fizyk20: Naszło mnie coś takiego, że nie potrzebujesz obracać trójwymiarowych przecięć w czterowymiarowej przestrzeni, tylko stworzyć gracza, który porusza się jedynie w osiach głównych, czyli potrzeba 8 przycisków. A obracać możesz kamerą wokół gracza, aby oglądać świat. I kierunek kamery nie wpływa na ruch gracza.
W ten sposób można oglądać trójwymiarowy świat w całości, jak zmienia się po czwartym wymiarze.

Da się tak, czy nadal nie rozumiem 4 wymiaru?
  • Odpowiedz
@Antyradek: Da się i nawet coś takiego było w super-pierwotnej wersji (tzn. była i możliwość przesuwania się wzdłuż 4 osi, i możliwość obracania przekrojów).

W Twojej propozycji byłoby to coś podobnego do płaszczyzny, która zawsze jest ustawiona poziomo i w której możesz się poruszać, ale którą możesz też przesuwać góra-dół. Niby daje dostęp do całej przestrzeni, ale uważam, że blokuje możliwość obejrzenia co ciekawszych efektów (typu różne dziwne skośne przekroje hipersześcianu).
  • Odpowiedz