Modernizacja silnika Quake3?
Jak zapewne wiecie, silnik Quake3 był w swoim czasie cudem techniki stworzonym przez programistów z id Software. Na jego bazie powstało kilkanaście kultowych gier, takich jak Return to Castle Wolfenstein, Call of Duty, Soldier of Fortune II, Medal of Honor Allied Assault i oczywiście Quake III Arena. Na długie lata wyznaczył on standardy grafiki trójwymiarowej w grach, jednak czas leci nieubłaganie, a technika wraz z nim i obecnie, w porównaniu z najnowaszymi engine'ami, kilkuletni twór Johna Carmacka i spółki wypada dość słabo. Zmienić to postanowili programiści pracujący nad projektem icculus.org/quake3, którzy od jakiegoś czasu pracują nad modernizacją silnika Q3.
Głównym założeniem było stworzenie perfekcyjnej wersji engine'u Q3, pozbawionej licznych bugów, które jednak z czasem "wyszły w praniu", dorównującej możliwościom najnowszym. Programiście usunęli zatem wszystkie wyłapane przez lata błędy, wyczyścili kod gry, a także dodali kilka nowych komend, które mają wprowadzić kilka istotnych, a zarazem ciekawych zmian. Niektóre z nich były wzorowane na ulepszeniach zaimplementowanych do Quake'a 4. Poniżej znajdzcie ich listę, które znajdziecie w najnowszej wersji ioquake3.
Lista zmian
Boolean
Record a new demo on each map change.
cl_aviFrameRate
Integer
The framerate to use when capturing video.
cl_aviMotionJpeg
Boolean
Use the mjpeg codec when capturing video.
s_useOpenAL
Boolean
Use the OpenAL sound backend if it's available.
s_alPrecache
Boolean
Cache OpenAL sounds before use.
s_alGain
Float
The value of AL_GAIN for each source.
s_alSources
Integer
The total number of sources (memory) to allocate.
s_alDopplerFactor
Float
The value passed to alDopplerFactor().
s_alDopplerSpeed
Float
The value passed to alDopplerVelocity().
s_alMinDistanceFloat
The value of AL_REFERENCE_DISTANCE for each source.
s_alRolloff
Float
The value of AL_ROLLOFF_FACTOR for each source.
s_alMaxSpeakerDistance
Float
ET_SPEAKERS beyond this distance are culled.
s_alDriver
String
Which OpenAL library to use.
s_sdlBits
Integer
SDL bit resolution.
s_sdlSpeed
Integer
SDL sample rate.
s_sdlChannels
Integer
SDL number of channels.
s_sdlDevSamps
Integer
SDL DMA buffer size override.
s_sdlMixSamps
Integer
SDL mix buffer size override.
ttycon_ansicolor
Boolean
Enable the addition of ANSI escape codes for colors in the tty.
r_GLlibCoolDownMsec
Integer
Wait for a number of milliseconds to close GL library.
com_altivec
Boolean
Enable the use of Altivec on PowerPC systems.
s_backend
RO String
Indicates the current sound backend.
cl_consoleHistory
RO String
Stores the console history.
cl_platformSensitivity
RO Float
Indicates the mouse input scaling.
New Commands
video
Start video capture (use with demo command). Outputs to filename.
stopvideo
Stop the video capture.
Więcej - click!
Całość wygląda naprawdę interesująco. Aby sprawdzić co potrafi ulepszony silnik Q3, zapraszam do ściągnięcia tworu programistów z ioquake3. Do instalacji jest potrzebny plik pak0.pk3 z płyty z grą. Wersje pod Windows, Linux i Mac OS X znajdzicie pod tym linkiem. Zapraszam do komentowania.
ioquake3; ESReality
#0 | voodoo|norad
2006-04-08 11:13:59
#0 | Capricorn
2006-04-08 11:21:07
Chamstwo panie dzieju, chamstwo ;)
#0 | majcok
2006-04-08 11:23:22
#0 | kaboom
2006-04-08 11:25:00
q3 wyszło w 1999 roku :)
#0 | PM
2006-04-08 11:57:24
2. cytuję: \"istotnych, a zarazm ciekawych zmian\"
\"zarazm\" to coś bliżej marazmu, czy raczej orgazmu? :D (że o \"znajdzcie\" nie wspomnę :P ). Sorry - nie mogłem się powstrzymać (mnie też poprawiają bezlitośnie :( )
#0 | r00ster
2006-04-08 11:57:27
#0 | kaboom
2006-04-08 12:01:14
#0 | jarzaq
2006-04-08 12:02:17
#0 | lukmen
2006-04-08 12:19:47
Kroczek do przodu w tym kierunku :D
[+] ofkoz
#0 | ThrawN
2006-04-08 12:21:22
a co do poprawiania to jestem ciekaw strasznie wyniu...ściągam :)
#0 | dar
2006-04-08 12:29:44
#0 | kaboom
2006-04-08 12:40:43
#0 | dar
2006-04-08 13:18:35
#0 | OFF @ Grumx
2006-04-08 13:29:45
#0 | witchman
2006-04-08 13:37:37
#0 | dar
2006-04-08 13:59:42
#0 | freak > elies :(
2006-04-08 14:40:48
nie każdy wie co to boolean, float, integer... :)
tak pokrótce - boolean = \"prawda\" lub \"fałsz\"
integer - liczba całkowita
float - liczba rzeczywista
string - ciąg, znaków.
#0 | wzf | yeltzyn
2006-04-08 18:44:20
#0 | freak > elies :(
2006-04-09 21:12:31
#0 | SpOOnman
2006-04-10 14:21:34