W przypadku Grey widać jak ograniczona paleta C64 staje się atutem - nikt nawet nie myślał, żeby robić jakieś 'cieniowanie' jak w Finał Assault;) Przez co grafika jest zdecydowanie bardziej czytelna.
@pecet What are you talking about? This C64 thingy doesn't even move "3D correct". In Final Assault, you just have to learn to play real 3D games. EVERYTHING is well done in the FULL PLAYABLE GAME... Particular the "strafe-Rotation" is excellent in Final Assault. Every 3D on the C64 looks like a joke.
gr.10 to do dyspozycji 9 kol.z palety 128 i piksel 1x4 . większość koderów robi efekty w pikselu 4x4. no i sprity korzystają z tych samych rejestrów kolorów co na ekranie.W UniFied dużo efektów w gr.10 .A ile ja sie musiałem napisać do Świętego żeby gr.10 polubił ;)Mam nadzieję ,że Doom będzie miał przynajmniej część plansz w gr10 .
@emkay Yes, everything is well done... except you can't see a thing, cause wverything is grey:P Technically, I can agree, that Final Assault is probably more advanced than C64 Grey. Gameplay wise - it's definitely worse from my perspective. I love shanti77's solution.
Grey is just a demo (for now). It's not monochrome like FA. Grey's resolution seems signifficantly higher.
Being atarian, shouldn't harm objectivity. For me Final Assault looks good on small screenshot, but the actual resolution makes it hard to have any fun playing it.
"This C64 thingy doesn't even move "3D correct"." You must have missed Atari Age thread or ignore it, as it's well-known fact FA algorithm have some simplicity when it goes to rotation and the walls perspective is not exactly correct.
With above said, I'm sure Atari can do better than C64 in "3D-alike" department. Project M 2.0 demo was excellent example for that, a shame no game was made out of it.
@Jacques I know, we are at some 8 bit platform, and a lot people prefer static images with detailed graphics.... rather than playing the game itself.
If you really like to play 3D games and get used to the controls, you quickly get the difference between C64 fakes and 3D playability as in Final Assault. It plays 100 % like a full 3D game (like Wolf 3D) .
@Jacques The resolution in the C64 game is much lower than in Final Assault. Particular the fames per second kills any gameplay in those C64 "3D" games. The high framerate and the fitting logics of "room projection" in Final Assault let's sometimes forgetting that there is only some 1,79MHz CPU working. Strafing around the enemy to prevent from getting shot and to attack, was 1st seen on a 386 PC in Wolf 3D. No Problem on the Atari as well...
Bo to jest ten aspekt, gdzie C64 nie ma jak dobrze tego ogarnac. Maja sporo wypas rzeczy pod gry (eleganckie sprity, mape kolorow, 256 znakow w fontach, scroll co hires pixel), ale nie maja jak sprzetowo powielac linii, u nas zrobimy pixle 4x4 czy 2x2 za darmo display lista.
pomijam juz szybszu cpu. nigdy - ale to nigdy - na c64 nie zrobisz lepszego doom'aish niz na xl/xe i to jest fakt (tak samo, jak ktos przycisnie wszystkie bajery z VIC'a pod gre to my sie obsramy).
Wielka prośba do shanti: Prosiłbym o w miarę dużych i ludzkich przeciwników, final assault gdzie się strzelało do kropek to raczej nie FPS,bardzo bym chciał na Atari mieć klona wolfa
Dopytany koder Greya wyjaśnił w komentarzu do filmu YT:
The walls themselves are calculated as if it was 40x25, treating 8x8 blocks as units, but then, during the texture mapping phase, every 8x8 block gets four texels. It's a "cheated" 80x50 as a result.
Faktycznie rozdzielczość labiryntu niższa niż w Final Assault, a wydaje się odwrotnie ;-)
zaletą tego trybu jest to, że ma tyle różnorodnych kolorów, że grafikę można robić bez PMG. PMG są nawet przy multiplexie ograniczające odnośnie liczby sprajtów na ekranie, a pewnie taki multiplex zżera też sporo CPU.
The walls themselves are calculated as if it was 40x25, treating 8x8 blocks as units, but then, during the texture mapping phase, every 8x8 block gets four texels. It's a "cheated" 80x50 as a result.
Z tego nie wynika, czy to jest tryb znakowy, czy nie. Niby jest napisane, że 8x8 blocks - można to rozumieć wielorako, ja to rozumiem jako skrót myślowy "rozmiar czcionki w grafice 8" potem nanoszone są 4 punkty przy nanoszeniu tekstury. Przy takim podejściu rysowanie sprajtów nie jest trywialne.
Jednak przy czystym trybie graficznym (czteroliniowym gr10) rysowanie sprajtów jest banalne (z dokładnością do zasłaniania), więc myślę, że tą drogą autor szedł jednak.
jak ja robiłem swojego raycastera to największym wyzwaniem odnośnie sprajtów było ich precyzyjne romiwszczanie na polu gry- ściany w RC są po prostu pojedynczymi bajtami w tablicy mapy na tej zasadzie:
0001000 0001000 0001111 0000000
I istnieje subbajtowa precyzja kroczenia promienia po takiej mapie, u mnie były to pola 8x8 na jeden bajt, czyli promień kroczył 8 jednostek zanim dotarł do następnego pola na mapie. Problem w tym, że taka precyzja sprawdza się w przypadku ścian ale przeciwników już nie- tam trzeba precyzji przynajmniej 32x32 i do tego raycaster może łatwo pominąć przeciwnika, jeśli akurat promień w niego nie trafi. Dlatego podziwiam ludzi, którzy potrafią dodać sprajty do RC.
Hm... W raycasterze nie trzeba mieć precyzji promienia pod rozmiar pola. Używasz chyba niestandardowego algorytmu. Normalnie skacze się po granicach pól, ale trzeba wyliczyć (albo można mieć stablicowaną) odległość skoku. ->link<-
Odnośnie rysowania sprajtów, sposobem jest też użycie Z-Buffera przy rysowaniu ścian, potem znalezienie sprajtów w obszarze widzenia i narysowanie ich od najdalszych do najbliższych (gdy przezroczyste), lub od najbliższych do najdalszych z ZBufferem (gdy nieprzezroczyste), jak opisane tu ->link<-
Promień sprawdza tylko miejsca przecięcia się z osią X i osią Y (DDA), odnajduje ściany, nie ma potrzeby żeby szukał również przeciwników (obiektów). Jeśli przeciwnik znajduje się w określonym obszarze w pobliżu gracza, wystarczy ustalić jego odległość i kąt (względem gracza). Jeśli patrzymy w jego kierunku , ustalamy jego wysokość i szerokość. Rysując go pionowymi paskami za każdym razem sprawdzamy czy jest on bliżej niż ściana i tylko wtedy go rysujemy. Oczywiście jeśli jest kilku przeciwników to trzeba by ich rysować od tego położonego najdalej. Duszki w tym trybie są raczej mało użyteczne. Przy silniku pracuje w wolnym czasie, bo mam też kilka innych projektów, jak mnie jeden "zmęczy" to przesiadam się na drugi.
Final Assault is "gold standard" on 8 bits , when it comes to 3D gameplay. Which other 8 bit game shows this quality in movement/rotation and also several enemies were there at the same time. It also shows up to 48 colors in the game window.
Z tych doom-omopodobnych to przyznam, że najbardziej wizualnie podobał mi się ProjectM i szkoda, że autor porzucił chyba dokończenie tej gierki - nie pierwszy raz i pewnie nie ostatni taka sprawa. :|
@Dracon This is what people still have to learn about the Atari. Project-M is using manipulations in the screen range and ANTIC registers. It might look great , but adding moving objects (enemies) ... will get impossible. Games with fixed screens, no special manipulations by ANTIC, might get less impressive but allows to have several enemies on the screen.