Source & Demo: rawjet.com/demos/game-mini-ka...
MINI KARTS to konwersja gry Mario Karts wykorzystującej tryb Mode 7 z konsoli Super Nintendo. Mode 7 umożliwia wyświetlanie grafiki trójwymiarowej. Prace nad projektem trwają. Najtrudniejszym elementem programu jest wyliczenie pozycji obiektów (tzw. spritów) na ekranie. Obliczenie pozycji bolidów na ekranie wymaga wyliczenia perspektywy, którą najłatwiej oprzeć na trójkącie prostokątnym dla którego łatwo obliczyć wartości DeltaX i DeltaY. Wstępną pozycję bolidów, obliczamy używając wzorów na rzutowanie perspektywiczne, którego wynik łączymy z DeltaX i DeltaY (wartości perspektywy dla linii pionowych i poziomych). Procedura wyliczająca nadal nie jest idealna, ale można powiedzieć że działa. Do wykonania zostaje dodanie fizyki, broni, wymiana grafiki oraz usunięcie problemów z perspektywą. Jeśli uda wszystko dokończyć, możliwe będzie przepisanie gry na WebGL / GLSL (dla renderowania przez GPU, a nie CPU).
MINI KARTS is a conversion of the Mario Karts game using Mode 7 from the Super Nintendo console. Mode 7 allows you to display three-dimensional graphics. Work on the project is ongoing. The most difficult element of the program is calculating the positions of objects (so-called sprites) on the screen. Calculating the position of the cars on the screen requires calculating the perspective, which is easiest to base on a right triangle for which it is easy to calculate the DeltaX and DeltaY values. We calculate the initial position of the cars using the perspective projection formulas, the result of which is combined with DeltaX and DeltaY (perspective values for vertical and horizontal lines). The calculation procedure is still not perfect, but we can say that it works. What needs to be done is to add physics, weapons, replace graphics and remove perspective problems. If everything is completed, it will be possible to rewrite the game to WebGL / GLSL (for GPU rendering, not CPU).
Негізгі бет Ғылым және технология Mini Karts 0.62 - JavaScript © Paweł Drabowicz
Пікірлер: 1