> Met betrekking engine/modulair programmeren begrijp ik dat er catch all oplossing bestaan.
DirectX is geen catch all oplossing. Het is een rauwe API die toestaat om met bepaalde hardware (Gamepad's, keyboards, audio interfaces en meest noemenswaardig GPU's) te praten. Maar het is de verantwoordelijkheid van de engine om effectief texturen, modellen en andere data te gaan uploaden naar de GPU(s), ze te verwerken en ze te presenteren op beeld. Direct3D is
geen rendering engine.
> O.a. Crytek bewijst dat men dat zelf kan ontwikkelen met beperkte middelen zoals geld en tijd.
CRYENGINE is een juist een zeer slecht voorbeeld. Waar ze bij de eerste Cyrsis inderdaad een technisch hoogtepuntje hebben gepresenteerd, is de laatste versie van hun engine merkbaar slechter. Neem gerust een kijkje in hun
source code. Met name het gedeelte D3D12 is een verzameling van slechte design patterns (D3D11 op D3D12).
Een beter voorbeeld zou dan Unreal zijn. Die hebben het natuurlijk financieel een stukje beter, maar timmeren ook een stuk harder weg aan hun engine. Ook daarvan is de
source gewoon beschikbaar (ook al leest die iets minder makkelijk).
> Dat resolutie en kleuren is toegenomen klopt echter zou dat bij gebruik van vector graphics niets uitmaken.
Hoe zou een vector formaat plots in staat zijn om meer kleuren op te slaan zonder ook in bestandsgrootte te veranderen? Ook zouden we in vectorafbeeldingen meer details verwachten in 2018 dan 20 jaar geleden. Verder is er een reden dat vector graphics niet of weinig gebruikt worden in games: de meeste texturen hebben juist heel grillige albedo en normal textures, die zeer slecht weergegeven worden door vector afbeeldingen. Daarnaast projecteren we deze vectorafbeeldingen nog altijd op een raster (=ons scherm), dus als die resoluties en kleurendieptes (bvb HDR) toenemen hebben we ook voor de backbuffers meer memory nodig.
(uit
een aantal van je
andere reply's)
> Maar goed gameengines die niet door ontwikkeld worden hebben er ook mee te maken.
CryEngine heeft gisteren 6 commits ontvangen.
Unreal 32 commits.
Ook Unity krijg zeer regelmatig updates. Zelf de source engine heeft met CSGO vandaag een update gekregen. Welke zijn de engines die niet worden doorontwikkeld juist?
> Ze gebruiken een van de standaard game engines en tools die allen verre van efficiënt zijn.
Als iedere developer (zeker de kleinere studio's) hun eigen engine zouden moeten schrijven, dan zien we volgens mij nog veel minder efficiënte games (en met minder content). Don't reinvent the wheel. Volgens mij onderschat je hoeveel werk er komt kijken bij het schrijven en onderhouden van een moderne game engine. (Unreal Engine heeft 31214 (!!!) source files, bijvoorbeeld)
> Alleen opslag (BF5 50GB) is belachelijk geworden en je moet het wel op SSD zetten ivm laadtijden.
Je "moet" helemaal niets. BF5 speelt perfect van een HDD en dat is nog steeds het opslagmedium waarvan ik vermoed dat de meeste BF5 spelers hun game op installeren. Op consoles komt een deel van de content zelfs van optische media. Een SSD zal inderdaad een stuk sneller zijn, maar dat is altijd zo geweest. Een auto met zwaardere motor trekt ook sneller op.
> In mijn optiek lijken (voelen) veel games met zelfde engine op elkaar en qua graphics is het de laatste 6 jaar amper beter geworden.
Het klopt dat de evolutie afremt. Diminishing returns. Dat had @
Caayn ook al gepost, en
deze afbeelding geeft het mooi weer.
Maar ik stel ook voor dat je er even
een filmpje van Forza Horizon 1 en 4 bijneemt. Deze games zijn 6 jaar uit elkaar. Maar ik zie toch een verschil tussen die twee. Betere schaduwen, minder popping, meer dynamische objecten, diepere vergezichten, etc.
Ik kan je aanraden om de boeken Game Engine Architecture (3rd edition) en Real Time Rendering (4th edition) eens door te nemen. Vooral die laatste heeft een bibliografie van meer dan 100 pagina's, en toont heel mooi de evolutie van rendering technieken en optimalisaties doorheen de jaren. Neem er ook gerust eens de source bij van de grotere engines. Je kan die trouwens ook altijd eens vergelijken met de source van pakweg
Quake.
Laat weten als je dan nog altijd overtuigt bent dat er minder optimalisatie gebeurt dan vroeger, of we beter vectorformaten voor afbeeldingen kunnen gebruiken, en als je mogelijks een ideetje hebt voor realistischere games met minder data gebruik