Het maken van de game Aan de slag
Probeer het concept van de game zo goed als je kunt uit te werken voor je begint, waaronder ook het genre, de sfeer en soort gameplay. Als je begint met programmeren voor het concept helder is, dan zal je waarschijnlijk uiteindelijk een groot deel van je werk kunnen verscheuren en weggooien, waarna je weer overnieuw kunt beginnen. Dit zal altijd wel gebeuren, maar een solide plan kan dit tot een minimum beperken. Alle games behalve de meest experimentele, hebben een bepaald verloop, dus is dit een goed moment om te beginnen met plannen. De voortgang van het spel wordt meestal bepaald door één of meer van de volgende gebeurtenissen: meer ontdekken over het plot en de personages, beslissingen nemen die effect hebben op de loop van het verhaal, het verkrijgen van nieuwe vaardigheden of hogere scores, nieuwe gebieden verkennen of het oplossen van steeds moeilijker puzzels. Verzamel of maak de textures, sprites, geluiden en modellen die je nodig hebt voor het spel. Er zijn behoorlijk veel verzamelingen met gratis game assets, dus doe wat onderzoek. Als je een 2D-game maakt en niet beschikt over een kunstenaar die je kan helpen, dan kun je ook zelf de pixel-art maken. Het script vertelt de engine wat het moet doen en wanneer. Als je een open source engine gebruikt, dan is de kans groot dat er een al een scripttaal ingebouwd is, samen met tutorials  die je leren hoe je het moet gebruiken. Als je een eigen engine hebt gebouwd, dan zal je ook zelf een scripttaal moeten programmeren. Hoe dan ook, je zal minimaal de volgende belangrijke componenten moeten gaan gebruiken:  Een game-lus die constant controleer of er input is van de gebruiken, het result verwerkt, andere gebeurtenissen verwerkt, berekent wat er moet worden getoond en dit vervolgens naar de grafische kaart stuurt. Dit allemaal tenminste 30 keer per seconde. "Active listener"-scripts die controleren op gebeurtenissen/events en reageren wanneer ze zich voordoen. Bijvoorbeeld, een script kan wachten tot een speler op een deur klikt, waarna vervolgens de "open"-animatie wordt gedraaid en de deuropening non-collidable (een doorgang) wordt. Een ander script kan opletten of een hitbox van een wapen (bijv. een kogel) in contact komt met de deur, waarna de "explodeer"-animatie wordt getoond. Levelontwerp — wat letterlijk een  "level " kan inhouden, een gebied welke de speler kan verkennen, of de volgende ronde van een vechtspel— zal een aantal vaardigheden testen die niets met programmeren te maken hebben. Begin met een eenvoudig level waarin den typische gameplay wordt getoond, met behulp van de volgende eenvoudige richtlijnen voor genres waarbij je door een omgeving moet reizen:  Maak de opzet van het gebied. Beslis welke route de speler over het algemeen zal nemen door het gebied. Voeg er uitdagingen aan toe en beloningen (items) langs het pad. Plaats ze vlak bij elkaar voor meer adrenaline en opwinding of verder weg voor een meer ontspannen atmosfeer. Begin met het toevoegen van grafische elementen. Plaats lichtbronnen langs het belangrijkste pad om de speler aan te moedigen om het te volgen en laat de zijpaden of minder belangrijk gebieden meer schemerig. Zorg dat de gameplay, stijl en setting bij elkaar passen. Een spannende horrorgame draait om lange stukken desolate verkenning gevolgd door verrassingsaanvallen. Een nooit aflatende stroom van vijanden overweldigd de speler met, terwijl vechtsituaties waar strak geplande tactiek vereist is, de speler kan afleiden van de sfeer. Nu krijg je te zien waar al het harde werken goed voor is geweest. Test elk level terwijl je het verder polijst en heel vaak nadat het "af" is.  Maak een bewuste poging om het spel te spelen op manieren die je gepland hebt, zoals het spelen van de moeilijke gebieden eerst. Nog beter is om anderen mensen het spel te laten testen en vraag of ze zo veel feedback willen geven als mogelijk.  Observeer iemand die je spel aan het spelen is zonder advies te geven, behalve dan wat informatie om op gang te komen als dat nog niet in het spel zit. Frustrerende fouten en punten waar de speler "vastloopt" zijn tekens dat je meer aanwijzingen moet geven. Is het spel (of tenminste 1 level) redelijk af is, probeer dan bekenden en onbekenden te vinden om te helpen bij het testen. Vrienden zijn vaak optimistischer, iets wat geweldig is als aanmoediging maar niet zo handig als je wilt voorspellen hoe spelers zullen reageren. Als het project is afgerond dan kan het handig zijn om het gratis of te koop aan te bieden, maar zorg dat je de voorwaarden van de game-engines of software die je hebt gebruikt, goed doorneemt. Of je nu wel of niet een game zo afrondt als je je als voorgesteld, misschien wil je bepaalde assets en ideeën "opnieuw" gebruiken voor andere of meer ambitieuze projecten, of met de geleerde lessen helemaal opnieuw beginnen! Maar weinig game-ontwikkelaars vinden het wiel opnieuw uit en schrijven hun eigen game-engine van de grond af, zeker niet als het gaat om een eerste game. Als je er meteen in wilt duiken en toch voldoende mogelijkheid wilt hebben om te programmeren, dan is het een goed idee om een game-engine te gebruiken. Een typische engine bevat geavanceerde gereedschappen voor het aanpassen van 3D modellen, het scripten van events en andere algemene toepassingen voor games, maar zal nog steeds voorzien in voldoende mogelijkheden om te programmeren.  Populaire voorbeelden waarbij je veel kunt programmeren zijn Unity, UDK, Unreal Engine 4 en  CryENGINE.  Heb je weinig programmeerervaring, dan kun je denken aan GameMaker van YoYo Games. Deze software biedt de mogelijkheid tot drag-and-drop, code-vrije gameontwikkeling, maar geeft wel toegang tot een krachtige programmeertaal als je daar behoefte aan hebt. Een framework is een stap lager dan een game-engine, maar voorziet nog steeds in een set met tools en API's (application program interfaces) om je tijd te besparen en je projecten te stroomlijnen. Overweeg wat het minimum aan software is dat je nodig hebt voor je eerste gameproject, en zelfs dan zal je jezelf zonder schroom als programmeur moeten presenteren of een diepgaande interesse moeten hebben in de onderliggende werking van game-engines. Afhankelijk van het exacte framework en /of de game-engine die je gebruikt, kan het verstandig zijn om te werken met aanvullende, gespecialiseerde API's, zoals de populaire OpenGL voor het maken van 3D graphics. Polycode, Turbulenz en MonoGame zijn voorbeelden van frameworks ontworpen voor zowel 2D als 3D games. Een Integrated Development Environment is een compiler voor algemene doeleinden en een verzameling van bronbestanden waarmee het gemakkelijker wordt om complexe programmeerprojecten te bouwen. Een IDE zal het programmeren een stuk handiger maken, zeker als er tools zijn inbegrepen voor het omgaan met graphics en audiosystemen. Visual Studio en Eclipse zijn twee voorbeelden, maar er zijn veel andere mogelijkheden. Ga op zoek naar een IDE gebaseerd op een taal waar je bekend mee bent. De meeste tools hierboven zijn gebaseerd op een populaire programmeertaal, dus het volgen van de bijgeleverde tutorials zal je prima op weg helpen. Hoewel je een game kunt maken in bijna elke voldoende krachtige programmeertaal, zijn de meest gangbare talen C++ of C# voor alle apparaten, Flash ActionScript of HTML5 voor browsers en Java of Objective C voor mobiele apparaten. Dit zijn goede opties als je uiteindelijk in aanmerking wilt komen voor een positie bij een bestaande gamestudio, maar er worden zat onafhankelijke games gemaakt in Python, Ruby of JavaScript.
Maak een plan voor de game. Verzamel de art assets. Script je game. Maak individuele  levels. Test je game. Neem de volgende stap. Overweeg het gebruik van een game-engine. Maak gebruik van frameworks en andere tools. Probeer een IDE. Leer een programmeertaal.
https://www.wikihow.com/Program-a-Video-Game https://www.wikihow.com/Program-a-Video-Game
Creating the Game Getting Started