Alkuperäisten pelipoikien, GBP: n ja GBC: n näytön resoluutio oli 160×144 [1] kun Game Boy Advancedin resoluutio oli 240×160 [2]

Joten miten todellinen venytys tapahtuu? Se näyttää melko yhtenäiseltä, mutta en voi kietoa pääni sen ympärille, miten se on teknisesti saavutettavissa ilman toista näyttöä.

Vastaa

Ensinnäkin, venyttämistä ei tehdä pystysuunnassa: Game Boy (ja Color) -peleissä käytettiin vain 144 riviä 160: stä, jotka ovat käytettävissä Advance-näytöllä, joten ylä- ja alaosassa on ”d” mustia ”postilaatikkopalkkeja”, venytitkö kuvan laajakuvanäyttöä (olkapainikkeilla) vai ei.

Golf-otsikkonäyttö GBA SP: ssä, venymätön GBA SP: n golfnimi-näyttö, venytetty

Vaakasuunnassa kuva on ehdottomasti venytetty. Jos Advancella olisi kaksinkertainen Game Boy -resoluutio, se olisi helppo venyttää: jokainen pikselisarake voitaisiin toistaa kahdesti. Se tarkoittaisi tosiasiallisesti sitä, että jokaisen Game Boy -pikselin leveys oli kaksi kertaa niin suuri kuin aikaisemmin. Näytön tarkkuutta ei ole aina mahdollista kaksinkertaistaa; on todennäköistä, että tällaista tarkkuutta ei ollut saatavana (tai edullista) kämmenlaitteessa Advance-ajankohtana.

Sen sijaan Nintendo valitsi Advancelle näytön, jonka resoluutio oli yksi ja puolitoista kertaa (tai 3/2) kuin alkuperäinen Game Boy (160 x 3/2 = 240). Vanhan Game Boy -pelin jokainen kaksi pikselisaraketta on nyt ”venytettävä” Advance-näytön kolmelle sarakkeelle.

Mutta mitkä arvot tulisi määrittää pikseleille näissä ylimääräisissä sarakkeissa ? Voit kaksinkertaistaa joidenkin alkuperäisten sarakkeiden ”pikselit”, kaksinkertaistamalla kaikkien parittomien sarakkeiden tai jopa parillisten ”leveyden”. Se on yksinkertainen menetelmä, mutta ei näytä hyvältä, koska jotkut sarakkeet eivät kaksinkertaistu, mutta toiset.

Vaihtoehtoinen lähestymistapa on käyttää tekniikkaa nimeltä interpolointi . [* 1] Tässä tapauksessa sen sijaan, että päätät kopioida yhden sarakkeen tyhjien pikselien täyttämiseksi, otat keskiarvon sarakkeiden arvoista vasemmalle ja oikealle jokaisen tyhjän pikselin kohdalla ja käytä tätä laskettua arvoa.

Jos tarkastelet tarkkaan Advancen näyttöä venyttämättömällä, sitten venytetyllä Game Boy -pelillä, on mahdollista tunnistaa mikä sarakkeiden arvot on laskettu tällä keskimääräisellä interpoloinnilla.

Tässä on joitain yksityiskohtaisia kuvia AY: stä ”1Player” -tekstistä:

AY-kirjaimet, venymättömät < -unstretched Kirjeet AY, venytetty < -venytetty

”A”: n vasemmalla puolella on pikselisarake interpoloitu ”A”: n tummien pikselien ja taustan vaalean pikselin välillä. Nämä pikselit on keskimäärin keskiharmaina.

”A” -merkin oikealla puolella on toinen interpoloitujen pikselien sarake, joka on pääty kahden tumman pikselin sarakkeen väliin. Kahden tumman pikselin keskiarvo on myös tumma, joten se on samaa väriä kuin muu ”A”. Samanlaiset interpolaatiot näkyvät Y: n vasemmalla ja oikealla puolella ja muualla ruudulla.

Tässä on pari kuvaa toisesta pelistä, joka on otettu Advance SP: n AGS-101-mallilla ( jossa on kirkkaampi, taustavalaistu näyttö). [* 2] Voit pelata arvauspeliä jos haluat!

AGS-101-tieto, venymätön < – venymätön AGS-101-yksityiskohdat, venytetyt < – venytetyt

Miksi Nintendo päätti venyttää Game Boy -näyttöä yhteen suuntaan ja ei toista? Yksi syy on, että interpolointi yhdessä ulottuvuudessa on paljon yksinkertaisempaa kuin sen tekeminen kahdessa . Mutta näytön venyttäminen pystysuoraan olisi myös luonut ruma visuaalisia esineitä peliin.

Jos Nintendo olisi päättänyt venyttää 144 pikseliriviä Advance-näytön 160 rivin yli, heillä olisi ollut lisätä 16 interpoloitua pikseliriviä. 16 on kerroin 160, joten interpoloidut rivit voidaan sijoittaa tasaisesti: yksi 10 rivin välein. Mutta yhdeksästä alkuperäisestä rivistä vain kaksi olisi uuden rivin pf pikseli vieressä, toinen seitsemän ei haluaisi. Seurauksena on, että jotkut rivit ”venytetään” interpoloinnin avulla, toiset eivät ”t”. Tämä johtaisi siihen, että Marion hattu venytetään ja puristuu hiukan esimerkiksi hyppyessään ja häiritsisi pelaajaa.


  1. Tätä tekniikkaa (erityisesti kaksiulotteista bilinaarista interpolointia ) käytetään, kun muutat kuvan kokoa kuvankäsittelyohjelmistoissa, kuten Photoshop tai GIMP. Sitä käytetään myös tietokoneen LCD-näytöissä, jos valitset tarkkuuden (esim. 640×480), joka ei vastaa näytön alkuperäistä tarkkuutta (esim. 1024×768). Mutta koska GBA venyttää näyttöä vain yhdessä ulottuvuudessa (vaakasuunnassa), se tarvitsee vain tehdä kuvan yksinkertaisempi lineaarinen interpolointi.

  2. Kohteen snips-n-etanat

Kommentit

  • @Tommy You ' ovat molemmat oikeassa. Venyttämistä ei tehdä ' t pystyasennossa, joten Kaz on oikeassa siinä. Vaakasuunnassa venyttely on lähin naapuri, kuten sanoit, ei interpoloitu (kaksisuuntainen suodatettu), kuten Kaz sanoi.
  • Pystysuoran venytyksen puuttumisen kommenttisi lisäksi se vaatii suuren puskurin, koska viivojen ulkopuolinen skannaus on synkronista kunnioitusta peliin. Voit ' vain palata takaisin ja skannata ylimääräisen rivin kopion, vaikka halusi tehdä sen (mikä näyttäisi kauhealta), koska sisältö on saattanut muuttua . Itse asiassa monet gameboy-pelit käyttivät muutoksia hblank-näytön sisältöön tehosteiden luomiseksi tai vain enemmän spritien sovittamiseksi näytölle.
  • @Kaz En voinut ' kerro valokuvistasi, joten otin omat ja jälleen kerran olet oikeassa. imgur.com/a/5Cc6IY9
  • @ snips-n-etanat nuo valokuvat ovat mahtavia! Olen ' löytänyt makro-objektiivisovittimen ja korvannut alkuperäiset kuvani, mutta AGS-101: n ' näyttösi on mailia terävämpi kuin suoni standardi Advance. Saanko lisätä kuvasi vastaukseen?
  • @Kaz Toki, mene heti eteenpäin.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *