Kwietnia 19, 2024, 04:28:03 *
Witamy, Gość. Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności:
Nowa strona główna  : http://www.emunes.pl
Zapraszamy do testowania !

Chat: http://chat.emunes.pl
Galeria cartów: http://carts.emunes.pl
 
   Strona główna   Pomoc Zaloguj się Rejestracja  

Reklama
Strony: [1]
  Drukuj  
Autor Wątek: Przełącznik limitu "8 spritów na linię" - Sprite Overflow / Limit Flag  (Przeczytany 2752 razy)
0 użytkowników i 1 Gość przegląda ten wątek.
Dizzy9
Nadworny programista.
Kapitan
****
Offline Offline

Wiadomości: 351



WWW
« : Lipca 28, 2011, 02:38:24 »

Witajcie,
Dziś chciałem zapytać was i jednocześnie rozpocząć dyskusję na temat wyłącznika\przełącznika dzięki któremu można się pozbyć uciążliwego i nie miłego limitu 8 spritów na linię.
Większość emulatorów ma opcję "Wyłącz limit 8 spritów na linię".Włączenie tejże opcji umożliwia pozbycie się limitu.Innymi słowy:Sprity nie będą już błykać gdy znajdzie się ich na jednej lini więcej niż 8.
A może wolicie zachować oldskulowy klimat i nie wyłączacie tego limitu? Jakie są Wasze opinie?
« Ostatnia zmiana: Grudnia 16, 2014, 16:12:36 wysłane przez siudym » Zapisane

SebaSan1981
Major
*****
Offline Offline

Wiadomości: 2032



WWW
« Odpowiedz #1 : Lipca 28, 2011, 06:47:28 »

Choć emulator służy mi jedynie jako źródło pozyskiwania screenshotów do solucji/grafik to zawsze staram się wyłączać wszelakie limitery, scanline'y itp opcje. Oldshoolowy klimat to wolę utrzymywać na konsoli a nie na emulatorze
Zapisane

dr00id88
Gość
« Odpowiedz #2 : Lipca 28, 2011, 09:30:06 »

Lamerzy to i pewnie powylaczaja te limity, bo im demko "nie chodzi", ale tu chodzi o real dev.
Zapisane
andrzejlisek
Kapitan
****
Offline Offline

Wiadomości: 313


« Odpowiedz #3 : Października 23, 2011, 15:43:55 »

Zauważyłem, że to ograniczenie w niektórych przypadkach jest wykorzystywane i jego wyłączenie zamiast polepszać, pogarsza obraz. Kiedyś wyłączałem to ograniczenie, ale po stwierdzeniu tego, co opisuję poniżej, pozostawiam włączone.

Znam dwa takie przypadki:
"Antarctic Adventure" - po wyłączeniu chmury na niebie nie chowają się, a fraga na budynku na końcu drogi zamiast się wysuwać, od razu jest w całości.
"Knight Rider" - Samochody, które wyprzedza się na drodze, pojawiają się przed deską rozdzielczą.

Ogólnie rzecz biorąc, ta sprawa wydaje się być wykorzystywana w przypadku, gdy ma być wyświetlana tylko pewna część danego sprite.
Zapisane
siudym
Gość
« Odpowiedz #4 : Grudnia 14, 2014, 16:11:50 »

Temat stary, ale nie zauwazylem wczesniej Smile

Tu przyklad kolejnej gry, ktora uzywa "sprite overflow" do konkretnych celow - Majou Densetsu II:

<a href="http://www.youtube.com/watch?v=9XHXYhb_gDo" target="_blank">http://www.youtube.com/watch?v=9XHXYhb_gDo</a>
Zapisane
Berion
Major
*****
Offline Offline

Wiadomości: 625



WWW
« Odpowiedz #5 : Grudnia 14, 2014, 21:12:03 »

Ja zawsze wyłączam ten limit - denerwuje mnie to migotanie. Tongue

Nie rozumiem tylko dlaczego to się czasem glitchuje - co konkretnie robią deweloperzy ze sprajtami, że np. ten ludek z filmiku chowa się za BG.
Zapisane

FAQi:
| PSX | PS2 | PS3 | Xbox |
Dizzy9
Nadworny programista.
Kapitan
****
Offline Offline

Wiadomości: 351



WWW
« Odpowiedz #6 : Grudnia 14, 2014, 22:00:18 »

Kiedy Na jednej lini poziomej znajdzie się 9 spritów, to tylko pierwsze 8 zostanie wyświetlonych. 9 sprit zostanie zignorowany i się ni pokaże na ekranie.
To, co autorzy Majou Densetsu II zrobili to postawienie 8 pustych spritów na wysokości tuż pod drzwiami. Sprity są też umieszczone w pamięci przed spritami gracza, co oznacza że te puste sprity zostaną "wyrysowane" (tak technicznie...mimo, że nie mają grafiki) a następne sprity na tej samej lini już nie. Wspomnę że odrzucanie większej ilosci spritów jest sprawdzane na każdym scanline, nie "obiektowo" dlatego jak gracz powoli schodzi w dół, mamy ładne przejście a nie zniknięcie całego spritu w momencie gdy stanie się on 9-tym spritem.

Dodatkowo:
Kiedy 9-ty sprit zostanie wykryty, ustawiona jest flaga w pamięci, co pozwala na synchronizację CPU z PPU.

Gry o których wiem, że które tego używają:
Inversion: do obsługi lawy która jest w niektórych poziomach.
Gimmick!: kiedy wskakuje do i wyskakuje z portalu.
Felix the cat: kiedy "wchodzi" do bagażu bonusowego.

Na nesdevie chyba jeszcze coś pisali o Bee 52, ale nie pamiętam co i jak.
Zapisane

yojc
Kapitan
****
Offline Offline

Wiadomości: 296



« Odpowiedz #7 : Grudnia 14, 2014, 22:35:09 »

Hmmm - Super Mario Bros 3 chyba taki sam efekt uzyskuje w inny sposób, to nie jest lepsze rozwiązanie?
Zapisane


siudym
Gość
« Odpowiedz #8 : Grudnia 15, 2014, 22:59:32 »

Jeszcze Castlevania 2 Simon's Quest  - w etapach gdzie postac wlazi po pas do bagna. Polowa postaci chowa sie w bagnie.




Dwa demka zrobione na szybko przeze mnie - pokazuja Sprite Limit / Overflow.
Pierwsze - 8 sprites widoczne - przechodzac przez ta linie znikamy Smile
Drugie - wlasnie to, co jest specjalnie wykorzystywane w komercyjnych grach (tak jak wyzej wymieniane) - czyli ukryte 8 SPR aby zrobic efekt "chowania sie" bohatera za czyms.

https://www.dropbox.com/s/79o6kwaa1v0v1r5/sprite_overflow_1.nes
https://www.dropbox.com/s/g2co0shl9x5av7u/sprite_overflow_2.nes

« Ostatnia zmiana: Grudnia 15, 2014, 23:01:06 wysłane przez siudym » Zapisane
Strony: [1]
  Drukuj  
 
Skocz do:  

Działa na MySQL Działa na PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC Prawidłowy XHTML 1.0! Prawidłowy CSS!
Strona wygenerowana w 0.052 sekund z 18 zapytaniami.