Inhoud
Een game-engine is een onderdeel van het programma dat wordt gebruikt om veel verschillende soorten games te maken. Een goede en robuuste engine voert taken uit die in veel games voorkomen, zodat ontwikkelaars alleen de inhoud hoeven te ontwerpen in plaats van dezelfde onderdelen voor elke game opnieuw te implementeren. De engine kan complex genoeg zijn om 3D-online games, 2D-bordspellen en triviale online games te verwerken, of hij kan eenvoudig worden gebruikt om kaartspellen te implementeren. Het modelleren van een engine kan een uitdagende taak zijn, maar het kan zeer lonend zijn voor gamemakers die meerdere games willen implementeren.
Stap 1
Maak de basishulpmiddelen die uw motor zal gebruiken. U hebt een geheugenbeheerder nodig die elk gemaakt object zal gebruiken om het toe te wijzen, zodat u het gebruik ervan kunt registreren en ongebruikte stukken kunt opschonen. U moet ook een logger maken, die door verschillende componenten wordt gebruikt om vast te leggen wat ze doen. Loggen is erg belangrijk voor grotere motoren. Je hebt een kernel nodig, waar de hoofdlus van het spel werkt en beslist welke actie je vervolgens moet ondernemen.
Stap 2
Modelleer de game-engine-architectuur. De belangrijkste componenten zijn de input-handler, de game state updater en de renderer. De invoerhandler leest gebruikersinvoer en vertaalt deze in opdrachten die de motor begrijpt. De updater werkt de status van het spel bij op basis van de regels, fysica en kunstmatige intelligentie. De renderer tekent de huidige staat van het spel zoals de gebruiker het zou moeten zien.
Stap 3
Implementeer de invoerhandler. U wilt de toetsenbord-, muis- en joystickingangen kunnen gebruiken en ruimte laten voor andere menselijke interactie-apparaten. Deze items moeten intuïtief de opdrachten toewijzen die zijn doorgegeven aan de game-statusupdater.
Stap 4
Maak de updater voor de gamestatus. Het ontvangt gebruikersinvoer en werkt de spelstatus bij op basis van hen en de spelregels. Het kan het meest complexe onderdeel zijn, omdat het de fysica van het spel behandelt en makers in staat stelt om er regels in te implementeren. Als je games online zijn, gaan de netwerkcomponenten hierheen en moet je goed nadenken om te beslissen welke updates de server moet maken en welke taken de client moet uitvoeren.
Stap 5
Ontwerp en implementeer de rendering-engine. Dit kan ook erg complex zijn, maar dat hoeft niet altijd zo te zijn. Als uw games nieuwe 3D-afbeeldingen nodig hebben, wilt u meer van dit onderdeel. Hoeveel tijd en moeite u aan de renderer moet besteden, hangt sterk af van het soort games dat u wilt maken.
Stap 6
Test en debug componenten. Overweeg om tools te gebruiken die makers van games helpen bij het gebruik van elk onderdeel. Dit kan een goede manier zijn om afzonderlijke onderdelen te testen. Je kunt ook proberen een relatief eenvoudig spel te maken om er zeker van te zijn dat het gemakkelijk is om een spel te implementeren met je engine, en om te controleren of het programma werkt zoals gepland.