Een interview met game-ontwikkelaar Terminal Reality

Na jaren van vertraging (waaronder een annulering), veranderingen van ontwikkelaars en veel hard werken, is Terminal Reality erin geslaagd om een ​​Ghostbusters-game op de markt te krijgen voor PS3, XBox 360, Wii en pc. Terminal Reality beloofde zijn eigen grafische engine te bouwen, de Infernal Engine genaamd, om de ontwikkeling van games te vergemakkelijken; We hadden onlangs de kans om met ze te praten over de game, de nieuwe engine en de toekomst van multi-core gaming. De onderstaande vragen werden beantwoord door Mark Randel, President en oprichter, en Joe Kreiner, Vice President Sales en Marketing…

Ghostbusters-gametrailer

Hete hardware: Het implementeren van effectieve multicore-ondersteuning in een videogame was van oudsher een uitdaging, vooral in snelle actiegames. Infernal Engine is ontworpen om te profiteren van de beschikbaarheid van meerdere cores op zowel pc als consoles, maar hoe verschilt optimaliseren voor een multi-core-architectuur (bijv. PS3) van optimaliseren voor pc?

Mark Randel: De PS3 is heel anders dan de pc of 360 omdat de SPU’s geen toegang hebben tot het hoofdgeheugen, dus je bent beperkt door wat je erin kunt steken. Gegevens moeten handmatig worden opgehaald uit het hoofdgeheugen via DMA in plaats van een CPU-cache, dus dat maakt SPU’s zo snel. Dus voor elk programma dat we in de PS3 willen rijgen, moeten we een speciale versie schrijven om de gegevens te laden/op te slaan. Dat is de meest efficiënte manier om code op de PS3 uit te voeren: schrijf er specifiek code voor.

  


HH:
Nu we het toch over PS3 hebben, hoeveel SPE’s kan Infernal Engine tegelijkertijd bezig houden in een echt spelscenario? Wat is de typische hoeveelheid EPS die op een bepaald moment in gebruik is?

MENEER: Infernal Engine gebruikt een volledige SPU voor echt geluid op de PS3. De rest van de SPU’s kan volledig bezet zijn tijdens een grote explosie waarbij veel fysieke objecten moeten worden gesimuleerd.


HH:
Het is vier jaar geleden dat AMD en Intel begonnen te pleiten voor de voordelen van multicore-CPU’s, maar het aantal games dat zelfs maar twee processors gebruikt, is vrij klein. Ghostbusters maakt volledig gebruik van een tweede kern, zullen toekomstige versies van de Inferno-engine goed schalen naar vier of zelfs acht x86-kernen?

MENEER: De huidige pc-versie van Ghostbusters kan een volledig benutte Core2 Quad ondersteunen. Naarmate onze AI, pathfinding en fysica in de toekomst ingewikkelder worden, kunnen we nog meer kernen bezig houden.


HH:
Vormde een van de verschillende platforms een unieke uitdaging of dwong u buiten de gebaande paden te denken om een ​​probleem op te lossen?

MENEER: Alleen al het feit dat we de Infernal Engine op meerdere platforms kunnen gebruiken, dwingt ons om buiten de gebaande paden te denken. Een onderwerp waar we het de laatste tijd nogal eens over hebben gehad, is de ondersteuning van hyperthreaded processors. Je moet alles weggooien wat je in de computerwetenschappen over multithreading hebt geleerd om code efficiënt uit te voeren op dit type CPU.


HH:
Jij zei “Je moet alles wat je hebt geleerd in de computerwetenschappen over multithreading verwijderen om code efficiënt uit te voeren op dit type CPU.” Is er een probleem met het botsen van threads als twee threads die op afzonderlijke kernen zouden moeten draaien, op dezelfde HT-chip terechtkomen?

MENEER: Hyperthreading is een zeer krachtige tool om de CPU-prestaties te verbeteren; we zien er tot 50% meer prestaties in een processor mee. Wanneer twee zeer belangrijke threads op dezelfde core terechtkomen, kunt u een serieus probleem hebben met synchronisatie als u niet weet hoe hyperthreading werkt. Als diezelfde twee threads zich op twee afzonderlijke kernen bevinden, zullen de dingen lopen zoals je hebt geleerd…

HH: Waarom hebben de ontwikkelaars van Infernal Engine ervoor gekozen om de fysica op de CPU te laten draaien, in plaats van de op GPU gebaseerde fysica te implementeren die wordt aangeboden door ATI en NVIDIA?

MENEER: Infernal Engine kan de GPU volledig benutten. Als we onze fysica op de GPU zetten, hebben we een lagere framesnelheid! Ook zou een groot deel van de CPU onderbenut worden. Het is normaal om de GPU te gebruiken voor rendering, dat is wat het het beste kan. We kunnen vandaag één GPU en vier cores 100% gebruiken met Ghostbusters. Het niet volledig benutten van het een of het ander zou de zaken vertragen.


HH:
Er is geen tekort meer aan game-engines op de markt, waarvan vele compleet worden geleverd met documentatie, scripting- en modelleringstools. Waarom koos Terminal Reality er in de eerste plaats voor om zijn eigen engine te ontwerpen? Wat zijn de voordelen van het gebruik van de Infernal Engine in vergelijking met Unreal 3, CryEngine, Dunia, X-Ray (gebruikt in STALKER), of zelfs de eerbiedwaardige Doom 3-engine? Op welk punt stopte u met het overwegen van vooraf gebouwde opties en besloot u het zelf te doen?

MENEER: We hebben altijd aan onze eigen motoren gewerkt, maar we realiseren ons dat dit een aanzienlijk deel van de ontwikkelingstijd kan kosten, dus hebben we naar andere motoren en technologieën gekeken en enkele van de beste op een rij gezet. Het kwam altijd terug dat producten van derden niet precies deden wat we nodig hadden. Velocity, de fysica-engine van Infernal, kan bijvoorbeeld botsingen tussen objecten van verschillende massa’s aan. Tot op heden hebben andere physics-engines er nog steeds problemen mee. Het maakt de vernietiging in Ghostbusters subtiel realistischer.

0 Shares:
You May Also Like