Dwie sprawy:
1. Głęboki ukłon przed Zenonem, bo wielki on jest!
2. Jak rozmawia sie o Ram Carcie to od b. dawna chodzi mi po glowie taki pomysl (ktorego nie zrealizuję z powodu braku mocy przerobowych)-:
Wezmy MyIDE podłączane przez slot carta i CompactFlasha. Poprawmy koszmarne MyIde, żeby normalnie działało z systemem (tzn. trzeba by to zaprojektowac calkiem od nowa, chodzi mi tylko o taką ideę, w której fragment dysku IDE jest widoczny w pamięci kompa). Potrzebny byłby mały epromik na boot, .sys do Sparty, itp.
Zastosowania takiego czegos widze 2:
A. po prostu Ram Cart, ale znacznie większy za w sumie podobną cenę jak te oparte na staticach.
B. platforma do wydawania powalających gier w rodzaju Knight's Lair, Megarace (!!!), American Laser Games (Mad Dog McRee, itp.).
Moze na poczatek cos w rodzaju Solar Crusade (prerenderowane tlo i statki przeciwników, sterujesz kursorem (LightGun!). Trafiony statek przykrywa sie mrugającym spritem (ze niby dymi-tak to bylo zrobione na PC).
256 MB Compact Flash mozna kupic ponizej $9 w ilosciach kilkudziesieciu sztuk.
A bezposrednio w chinskiej hurtowni mozna miec jeszcze taniej (albo 512 za podobna cene).
Co prawda z moich obliczen wynika, ze nie da sie zarobic na takim interesie na pensje, ale spokojnie mozna by sprzedac tyle cartow, zeby nie dolozyc (liczylem za gre $25 - sporo, ale widzialem i wyzsze ceny na nowe releasy ) i cos by zostalo na 65816 :-)
Na potrzeby tego pomyslu wymyslilem takie przymitywne pakowanie stratne grafiki - tak, zeby zawsze ramka zajmowala 2KB. Napisalem programik w javie, ktory tak obrabial grafe, ale przepadl, postaram sie to opisac:
Ramka zawsze zajmuje 1 zestaw znaków i 960 bajtów pamieci ekranu (pozostale bajty w 2KB sa potrzebne na np. pozycje przeciwników). Jak to zrobic?
Logosujemy obrazek. Oczywiscie wychodzi, ze potrzeba znacznie wiecej, niz 128 znakow, załóżmy, że wyjdzie (w najgorszym przypadku) 960 różnych znaków (i tej wersji się trzymajmy). Znajdujemy znaki najbardziej podobne do siebie (tutaj można pewnie różne strategie wymyślać, ja zrobiłem brute force - dla każdego znaku była tablica wielkości 960 intów i w tej tablicy stopien podobienstwa danego znaku do wszystkich innych. 0 jesli identyczne. 1 jesli różni się jeden pixel o jeden odcień, itp. (dokladnie nie pamietam, ale to nie mialo wielkiego znaczenia dla wygladu).
Potem przelatuje te tablice i najpierw zastepuje jednym wszystkie miejsca, gdzie było 0
- sprawdzam, czy juz jest <129 znaków
- przelatuje te tablice i najpierw zastepuje jednym wszystkie miejsca, gdzie było 1
- sprawdzam, czy juz jest <129 znaków
itp.
To, co wychodzi ma dokładnie 1024+960 bajtów, jest pełnoekranowym obrazkiem i wygląda calkiem niezle, szczególnie, jesli to by byl film i pixele sie dosc szybko zmieniaja. Zaleta tej kompresji jest całkowicie sprzetowa dekompresja :-)
Oczywiscie warunek ladnej odgladalnosci jest taki, ze to grafika taka lekko rozmazana - jak to na filmie, czyli w gre wchodzi chyba tylko GR.9.
No i mamy 2kb na klatkę, 16 klatek na sekunde (ew. 25, ale 16 chyba wystarczy) i pięknie odtwarzający się film, który nie kosztuje prawie nic cykli, dzięki czemu można wymyślać jakieś efekty z przesuniętą o pół pixela co drugą linią, fajnym dzwiekiem, itp.
32kB na sekunde, circa 2Mb na minute, w 128Mb zmiesciloby sie az nadto materialu.
To wszystko jest wg. mnie wykonalne juz dzis a rezultat powalalby na kolana. Amerykanie by lezeli i kwiczeli z wrazenia. Zreszta Niemcy tez (uwaga! duzy rynek). Takie cos daloby sie moze portowac na C64 ($$$BIG MONEY$$$) ;-P
Na pewno gdzies jakis skrot myslowy mi sie przyplatal...
pozdrawiam,
pirxxx
ps. Jak by sie mialo tyle pamieci to moznaby posamplowac widoki z roznych (wszystkich...) miejsc korytarzy i zrobic cos w rodzaju Wolfensteina co ramke (przeciwnicy na sprite'ach - raczej by ich duzo byc nie moglo na raz). Duzo wiecej roboty koncepcyjnej, niz w takiej prostej gierce typu Solar Crusade.