Een videogame coderen: 12 stappen (met afbeeldingen)

Inhoudsopgave:

Een videogame coderen: 12 stappen (met afbeeldingen)
Een videogame coderen: 12 stappen (met afbeeldingen)
Anonim

Het maken van een videogame is een enorme onderneming, maar het eindresultaat is misschien wel het meest opwindende codeerproject dat je ooit hebt voltooid. U leert het meest van de tools die passen bij uw programmeerkennis, dus ga er niet vanuit dat helemaal opnieuw beginnen de beste optie is. Selecteer een programmeertaal, een Integrated Development Environment en/of software voor het maken van games die je binnen een kwartier na het openen of lezen van de tutorial kunt ontdekken.

Stappen

Deel 1 van 2: Een motor kiezen

Een videogame coderen Stap 1
Een videogame coderen Stap 1

Stap 1. Leer meer over game-engines

De meeste videogames worden gemaakt met behulp van een gespecialiseerde engine waarmee je gebeurtenissen, personages, enzovoort kunt 'scripten' zonder dat je ze allemaal opnieuw hoeft te coderen. Het kan jaren duren om een volledige game-engine te maken, dus de meeste onafhankelijke ontwikkelaars gebruiken een bestaande engine. U hoeft slechts een van de volgende stappen in deze sectie te volgen, afhankelijk van hoe comfortabel u bent met programmeren en hoeveel tijd u aan de kleine details wilt besteden.

Een videogame coderen Stap 2
Een videogame coderen Stap 2

Stap 2. Overweeg eenvoudige software voor het maken van games

Deze tools vereisen heel weinig programmeerkennis, dus ze zijn misschien niet voor jou als je geïnteresseerd bent in de coderingsaspecten van het maken van games. Aan de andere kant kan een eenvoudige 'duik-recht-in'-aanpak je veel leren over je spel en je het concept van een hoger niveau laten tweaken voordat je doorgaat naar een groter prototype. Hier zijn verschillende gratis opties:

  • Probeer voor mobiele games MIT App Inventor of Game Salad
  • Probeer voor browsergames Scratch of de serieuzere versie Snap! bedoeld als een inleidend programmeerhulpmiddel
  • Gebruik Visionaire voor avonturenspellen.
  • Als je een drag-and-drop-programma wilt met de mogelijkheid om ook in codering te duiken, probeer dan de gratis versie van GameMaker
Een videogame coderen Stap 3
Een videogame coderen Stap 3

Stap 3. Probeer meer professionele ontwikkelingsinterfaces

Dit is een geweldige optie om je handen vuil te maken, ervaring op te doen met het coderen van games zonder helemaal opnieuw te hoeven beginnen. Veel professionele onafhankelijke game-ontwikkelaars beginnen op dit niveau. Hoewel er veel engines en Integrated Development Environments (IDE's) beschikbaar zijn, zijn de volgende gratis en relatief eenvoudig te leren:

  • Voor mobiele games: ProjectAnarchy
  • Voor 3D-games op elk platform: Unity
  • Voor meer geavanceerde coders: LWJGL (gebaseerd in Java), SFML (gebaseerd in C++)
Een videogame coderen Stap 4
Een videogame coderen Stap 4

Stap 4. Kies een tool om je eigen engine te bouwen

Als je al wat programmeerkennis hebt en vastbesloten bent om je eigen engine te bouwen, zijn hier een paar plaatsen om te beginnen. Als dit je eerste poging is, heb je waarschijnlijk tutorials nodig

  • Met ActionScript kunt u een op Flash gebaseerde engine maken. Dit is een goede plek om te beginnen voor gevorderde programmeurs.
  • Java is relatief eenvoudig te leren. U hebt een Java Development Kit (JDK) nodig, plus Eclipse of een andere Integrated Development Environment (IDE) voor Java. Als u niet zeker weet hoe u moet beginnen.
  • Als je al een programmeertaal kent (vooral een C-taal of Python), zoek dan naar een IDE voor die taal. Het moet een compiler bevatten en de mogelijkheid om gemakkelijk aan afbeeldingen, audio en andere code in hetzelfde project te werken.
Een videogame coderen Stap 5
Een videogame coderen Stap 5

Stap 5. Bouw je eigen motor

Als je de uitdaging aankunt en een van de geavanceerde tools in de vorige stap hebt gekozen, zul je hoogstwaarschijnlijk een tutorial, een helpforum of een ervaren game-ontwikkelaar moeten vinden voor advies dat specifiek is voor jouw taal. Als je niet zeker weet waar je moet beginnen of waar je naar moet vragen, volgen hier een paar basiscomponenten die je in een vroeg stadium moet opbouwen:

  • Een client-side server, die gebruikersinvoer interpreteert en het resultaat verwerkt. Zorg ervoor dat het invoersysteem correct reageert voordat u serieus werk gaat maken van graphics en gameplay. (Probeer 'actieluisteraars' te onderzoeken als je vastzit.)
  • AI voor andere personages, zodat ze reageren op de acties van de gebruiker. Voor een eenvoudiger project, laat de karakters gewoon bewegen en handelen in een vast pad.
  • Mogelijkheid om afbeeldingen te renderen (samenstellen en instructies naar de grafische kaart sturen).
  • Een spellus die constant loopt terwijl het spel wordt uitgevoerd. Dit zou gebruikersinvoer moeten verwerken, verwerken, andere spellogica verwerken (zoals vijandelijke bewegingen, achtergrondanimatie en geactiveerde gebeurtenissen), berekenen wat er moet worden getekend (weergegeven op het scherm) en de informatie naar de grafische kaart sturen. Voer dit ten minste 30 keer per seconde (30 fps) uit als uw systeem dit aankan.

Deel 2 van 2: Het spel ontwerpen

Een videogame coderen Stap 6
Een videogame coderen Stap 6

Stap 1. Leg eerst je concept vast

Besteed veel tijd aan het vastleggen van wat je spel is voordat je een regel code aanraakt. Welk genre is het? Is het 2D of 3D? Vordert de speler in het spel door puzzels op te lossen, het verhaal te volgen/creëren, vijanden te bevechten en/of te verkennen? Hoe meer vragen u beantwoordt en hoe gedetailleerder u uw ideeën geeft, hoe meer tijd u op de lange termijn bespaart. Als u besluit een grote wijziging aan te brengen nadat u al bent begonnen met coderen, kan het vele malen langer duren voordat de wijziging is doorgevoerd.

Verklein dit tot iets dat veel eenvoudiger is dan je oorspronkelijke idee. Een klein prototype dat onderzoekt hoe je spel werkt en een paar niveaus geeft om te spelen, is een uitstekend begin. Als het klaar is, kun je het gebruiken als basis om uit te breiden naar een volledige game, of om wat je hebt geleerd op te nemen in een nieuw project

Een videogame coderen Stap 7
Een videogame coderen Stap 7

Stap 2. Werk in willekeurige volgorde aan de onderstaande stappen

Op dit moment liggen er weken of maanden van hard maar lonend werk voor de boeg. Terwijl een team van mensen over het algemeen de onderstaande taken verdeelt en er tegelijkertijd aan werkt, zal een individu in elke fase moeten beslissen met welke taak het gemakkelijkst is om mee te beginnen of welke het belangrijkst is. Lees alle onderstaande stappen door en begin aan de taak die jou het meeste aanspreekt.

Een videogame coderen Stap 8
Een videogame coderen Stap 8

Stap 3. Verzamel of maak kunstitems

Tenzij je een op tekst gebaseerd spel maakt, heb je 2D-afbeeldingen nodig en mogelijk 3D-modellen en texturen (patronen die je op de modellen toepast). Muziek en geluidseffecten kun je uitstellen tot iets later in het proces, maar ze worden sterk aanbevolen als je van plan bent je game te publiceren. Eenvoudige pictogrammen, gebruikersinterface en lettertypen hebben de laagste prioriteit als je spel jong is, maar een beetje moeite hier kan de spelerservaring aanzienlijk verbeteren.

  • Er zijn veel plaatsen om gratis of goedkope kunstactiva online te vinden. Probeer deze lijst op makeschool.com.
  • Het inhuren van een artiest zal een groot verschil maken. Als je het je niet kunt veroorloven, verzamel dan zelf de middelen en laat het resultaat zien aan artistieke vrienden of post het op online game-ontwikkelings- of kunstforums voor advies.
Een videogame coderen Stap 9
Een videogame coderen Stap 9

Stap 4. Werk aan het ontwerp van een verhaal of voortgangsboog

Veel hiervan zal worden geschreven als planningsdocumenten buiten de spelcode zelf, hoewel een op verhalen gebaseerd spel mogelijk vertakte dialoogbomen moet bevatten. Zelfs een game zonder traditioneel verhaal zou een gevoel van progressie moeten hebben waar je omheen moet plannen. Een platformgame kan een reeks bewegings- en wapenupgrades omvatten, terwijl een puzzelspel meer functies kan toevoegen omdat het de complexiteit en moeilijkheidsgraad van de puzzels verhoogt.

Een videogame coderen Stap 10
Een videogame coderen Stap 10

Stap 5. Werk aan leveldesign

Begin met een klein, eenvoudig niveau of gebied. Concentreer je op het construeren van het pad dat de speler door het level neemt, voeg vervolgens zijpaden (optioneel), meer gedetailleerde afbeeldingen toe en pas de moeilijkheidsgraad aan (zoals door platformhoogten aan te passen of vijanden te verplaatsen).

Gebruik lichtbronnen en itemdrops om de speler naar de volgende plek in het gebied te leiden. Gebruik schaduwen om spelers te ontmoedigen doodlopende wegen of lastige paden te betreden, en gebruik vijanden voor beide doeleinden (afhankelijk van hoe het spel je leert om vijanden te omzeilen). Een goed ontworpen gebied geeft de speler het gevoel dat hij zijn eigen beslissingen neemt of aan het verkennen is, maar leidt hem langs de meest eenvoudige route met behulp van subtiele aanwijzingen

Een videogame coderen Stap 11
Een videogame coderen Stap 11

Stap 6. Tweak en optimaliseer de graphics

Dit is niet nodig als u eenvoudige software voor het maken van games gebruikt. Als je bereid bent om dieper in te gaan op grafische systemen, kun je beginnen met het maken van shaders en deeltjeseffecten, of door de grafische code te gaan en taken te verwijderen die niet nodig zijn voor je game. Omdat graphics bijna altijd het knelpunt zijn dat de verwerkingssnelheid bepaalt, ondergaat zelfs een 2D-game meestal aanzienlijke optimalisatie-tweaks en herschrijvingen om de belasting van de grafische kaart en processor te minimaliseren.

Een videogame coderen Stap 12
Een videogame coderen Stap 12

Stap 7. Krijg feedback van playtesters

Als je eenmaal een eenvoudig niveau of een prototype van gameplay hebt, laat je vrienden het spel spelen en feedback geven. Ontdek wat mensen leuk vinden en wat hen frustreert. Later in het proces, wanneer het spel meer gepolijst is, kan feedback van vreemden of kennissen een uitstekende bron van eerlijk advies zijn, omdat ze minder investeren in uw succes of u aanmoedigen.

Aanbevolen: