Jak renderować teren w perspektywie 2.5D, jak w grze Don't Starve?

10

Mam doświadczenie w tworzeniu gier typu side side scroller, takich jak Terraria, ale teraz chcę rzucić sobie wyzwanie i stworzyć grę z perspektywą 2.5D . Gra, którą próbuję naśladować, to Don't Starve. W tej chwili skupiam się na zastanowieniu się, jak oddać grunt. Trudno mi zrozumieć, w jaki sposób wygenerowali ziemię, a następnie ją renderowali. Wydaje mi się, że oddali ziemię, najpierw malując ją w jakimś programie do malowania, a następnie w jakiś sposób manipulując tym płaskim obrazem, aby wydawał się mieć głębię.

Jestem całkowicie zdezorientowany tym, jak faktycznie renderowałbyś ten rodzaj terenu. Chcę, aby teren miał następujące funkcje:

Wszelkie wskazówki i wskazówki będą mile widziane, Z góry dziękuję.

(Pracuję w Javie, używając Light Weight Java Game Library (LWJGL).)

Hamdan
źródło

Odpowiedzi:

34

Jestem właściwie jednym z deweloperów Don't Starve (Kevin na naszych forach). Zwykle nie zajmuję się renderowaniem, ale mogę powiedzieć, że gra jest w 3D. Ziemia jest zwykłą mapą kafelków 2D ze specjalnymi elementami przejściowymi, aby poprawić wygląd narożników. Nie ma specjalnego zaokrąglania w stylu Deathspank, chociaż mówiliśmy o tym w przeszłości.

Istnieją dwa rodzaje bytów gry - pionowa i naziemna. Pionowe byty są jakby w połowie billboardowane do kamery, choć nie do końca, ponieważ dzięki kątowi kamery wyglądało to tak, jakby się kładły. Materiał ziemny jest po prostu narysowany na ziemi.

Wygląd, który to daje, działa dla nieco małego zakresu kątów kamery. Jeśli pójdziesz za wysoko, pionowe rzeczy dziwnie się skracają. Zejście naprawdę nisko działa nieco lepiej, ale gra jest zbyt trudna, ponieważ nie widzisz niczego ani niczego „na południe” od swojej postaci. Znalezienie właściwego kompromisu między tymi dwoma skrajnościami wymagało wielu eksperymentów.

W każdym razie, jeśli masz jakieś pytania dotyczące technologii gry, jesteśmy bardzo przyjaźni i otwarci na temat takich rzeczy na forach klei :)

Kevin
źródło
3

Nie mogę powiedzieć na pewno, jak to zrobiła jedna gra, ale z filmu wygląda to tak, jakby to był zwykły świat gier 3D, który używa billboardów do tworzenia obiektów. Podobne gry obejmują niektóre gry Paper Mario i serię Death Spank.

Renderuj swój teren w 3D za pomocą kamery perspektywicznej. Może zastosuj jakiś prosty moduł cieniujący wierzchołki, aby uzyskać trochę „okrągłości” (Death Spank zrobił to z wielkim efektem i wygląda na to, że Don't Starve może mieć bardzo stonowaną wersję tego samego efektu; trudno powiedzieć).

Twórz obiekty do gier i renderuj je tak, aby zawsze były skierowane w stronę kamery (zwane „billboardem”). Istnieje wiele samouczków na temat tego, jak osiągnąć billboard online, np. Http://www.lighthouse3d.com/opengl/billboarding/

Sean Middleditch
źródło