Jak mogę uzyskać wygląd „grafiki 8-bitowej”?


10

Mam silne doświadczenie programistyczne, nie tylko od tworzenia gier. Zrobiłem tylko trochę ponga i węża w liceum i trochę OpenGL na studiach.

Chcę stworzyć własny silnik gry. Nic szczególnego tylko prosty silnik do gier 2D. Ale ponieważ jestem trochę oldschoolowy i czuję się retro. Chcę, aby grafika wyglądała jak stare 8-bitowe gry (megaman, contra, super mario, ...).

Jak powstały wtedy stare gry? Chcę najprostszego podejścia. Czy używali również zasobów (obrazów), jak w przypadku nowszych silników? Jak osiągnąć ten rodzaj renderowania za pomocą OpenGL?

Pamiętać. Najprostsze rozwiązanie. Chcę wiedzieć, jak to wtedy zostało zrobione i jak mogę to powielić. Nie musi to być nawet OpenGL. Mogę rysować na płótnie okna. Zasadniczo chcę to zrobić od zera.


6
8-bitowa grafika to kwestia zasobów, a nie programowania, przypuszczam, że możesz ograniczyć paletę kolorów w kodzie, ale brzmi to trochę za dużo jak na oldschoolowy styl.
Łukasz B.

Jeśli chcesz mieć grafikę 8-bitową, ogranicz paletę kolorów podczas tworzenia zasobów sztuki i zawsze używaj filtrowania tekstur przez sąsiadów.
Robert Rouhani,

3
Od czego zacząć i jakiej technologii użyć pytania są poza tematem witryny. Zobacz FAQ, aby dowiedzieć się, jakie rodzaje pytań tutaj zadawać. Możesz spróbować przeredagować swoje pytanie, aby zapytać o sposób renderowania grafiki 8-bitowej i usunąć wszystko związane z tworzeniem silnika gry.
MichaelHouse

1
Co powiedział Byte56 - może to być świetne i przydatne pytanie, jeśli przerobiłeś je tak, aby było bardziej precyzyjne dla konkretnego tematu.
Maximus Minimus

Zmieniono Mam nadzieję, że teraz jest lepiej.
Matjaz Muhic

Odpowiedzi:


7

Jak powstały wtedy stare gry?

Zupełnie inaczej - bardziej przypomina to, co nazwalibyśmy teraz „programowaniem systemów wbudowanych”. Oparta na trybie grafika z 8-bitowych konsol i arkadowych komputerów była napędzana sprzętem, a nie oprogramowaniem. Kod gry (zazwyczaj asembler) ustawiał specjalną pamięć zgodnie z harmonogramem instrukcji (np. X instrukcji na linię skanowania).

Jak osiągnąć ten rodzaj renderowania za pomocą OpenGL?

Teksturuj mapę quada z wyłączonym filtrowaniem. Jeszcze lepiej, połącz kilka quadów razem i atlasuj zasoby, aby uzyskać lepszą wydajność.


„atlas” aktywów? Co to znaczy?
Matjaz Muhic

Wklejanie wielu obrazów na jeden obraz tekstury i „wybieranie”, które mają być pokazywane za pomocą promieni UV quada. Tak więc np. Wszystkie kafelki tła mogą zostać połączone w siatkę na jednym arkuszu tekstury, a następnie musisz tylko związać jedną teksturę przed renderowaniem warstw tła.
Maks.

O. Coś jak duszki?
Matjaz Muhic

@Matjaz: Bardzo podobny do duszków. To słowo oznaczało coś innego na długo przed pojawieniem się akceleratorów grafiki 3D.
Ilmari Karonen
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.