> dzięki, o tym C++ to wiedziałem, weekendowe przemyślenia nad Q3 pozostawiły mnie z kilkoma nieodpowiedzianymi pytaniami, i dlatego się pytam. Niestety, nie wszystko mozna znaleźc w sieci.
>
>
> Rozumiem zatem że kod źródłowy i silnik to to samo pojęcie, ale czy zatem silnik odpowiada za gameplay? Czy są w nim zasady panujące na arenach (wybór miejsca respawnu, timing broni i itemów,itp itd) czy też jest to czysto techniczna strona gry, odpowiadająca za ...., hmm... nawet nie wiem jaki przykład podać :/
silnik to zasadniczo okreslenie algorytmu, ktory steruje gra,
natomiast q3 zlozone jest z 3 warstw:
1). silnik: (zalezny od platformy (czyt. skompilowany pod konkrenty system operacyjny))
(napisany w C, a nie w C++ i skompilowany do postaci binarnej na rozne platformy),
ktory odpowiedzialny jest za wspolprace gry z podsystemem openGL, ukladami I/O,
warstwa sieciowa oraz za interpretacje wirtualnego kodu (vide pliki QVM).
2). warstwa wirtualna: (niezalezna od platformy)
kazdy kto pisal kiedys jakiegos moda zapewne zauwazyl, ze Q-kompilator
generuje pliki binarne QVM (moje tlumaczenie (nie wiem czy poprawne): QuakeVirtualMachine)
te oto pliczki mozemy wrzucic na dowolna platforme sprzetowa i silnik je odpali bez problemu.
jest to mechanizm podobny do javy i jej wirtualnej maszyny, tyle, ze z deczka szybszy.
3). warstwa danych: (niezalezna od platformy)
tutaj mamy juz tylko surowe dane opisujace mapy, dzwieki, miejsca respawnow i inne dodatki,
ktore sa obrabiane przez wirtualny kod i silnik.