Hoe je een strategiespel voor Android-telefoons maakt. Welk platform je moet kiezen om een ​​mobiele game te maken

12.10.2019 Verwarmingssystemen

Voor operatiekamer Android-systemen uitgegeven een groot aantal van bijna elke dag spelletjes. Hun productie wordt niet alleen uitgevoerd grote bedrijven. Projecten variëren in complexiteit, dus de creatie ervan vereist speciale vaardigheden en aanvullende software. Het is mogelijk om zelfstandig aan een applicatie te werken, maar je moet er wel veel moeite voor doen en bepaalde materialen bestuderen.

In totaal hebben we er drie geïdentificeerd beschikbare methoden, die geschikt zijn voor de gemiddelde gebruiker om een ​​game te maken. Ze hebben verschillende niveaus van complexiteit, dus eerst zullen we het hebben over de eenvoudigste, en aan het einde zullen we ingaan op de moeilijke, maar meest uitgebreide methode, waarmee je applicaties van elk genre en elke schaal kunt ontwikkelen.

Methode 1: Online diensten

Er zijn veel hulpdiensten op internet, waar vooraf gemaakte spelsjablonen per genre zijn. De gebruiker hoeft alleen afbeeldingen toe te voegen, personages, de wereld en extra opties in te stellen. Deze methode wordt uitgevoerd zonder enige kennis op het gebied van ontwikkelen en programmeren. Laten we het proces bekijken met de AppsGeyser-website als voorbeeld:

  1. Ga naar de hoofdpagina van de dienst via de bovenstaande link of via een zoekopdracht in een handige browser.
  2. Klik op de knop "Creëren".
  3. Selecteer het genre van het project dat u wilt maken. We kijken naar een gewone hardloper.
  4. Lees de beschrijving van het app-genre en ga verder met de volgende stap.
  5. Voeg afbeeldingen toe voor animatie. U kunt ze zelf tekenen in een grafische editor of ze downloaden van internet.
  6. Selecteer indien nodig vijanden. U hoeft alleen hun nummer en gezondheidsparameter op te geven en een foto te uploaden.
  7. Elk spel heeft een hoofdthema, dat bijvoorbeeld bij binnenkomst of in het hoofdmenu wordt weergegeven. Daarnaast zijn er verschillende texturen. Voeg deze afbeeldingen toe aan categorieën "Achtergrond- en spelafbeeldingen".
  8. Naast het proces zelf onderscheidt elke toepassing zich door het gebruik van genre-geschikte muziek en vormgeving. Voeg lettertypen en audiobestanden toe. De AppsGeyser-pagina biedt u links waar u gratis muziek en auteursrechtvrije lettertypen kunt downloaden.
  9. Geef je spel een naam en ga verder.
  10. Voeg een beschrijving toe om gebruikers te interesseren. Goede beschrijving helpt het aantal applicatiedownloads te verhogen.
  11. De laatste stap is het instellen van het pictogram. Het wordt op het bureaublad weergegeven nadat het spel is geïnstalleerd.
  12. U kunt een project alleen opslaan en laden nadat u zich heeft geregistreerd of ingelogd bij AppsGeyser. Doe dit en ga verder.
  13. Sla de aanvraag op door op de betreffende knop te klikken.
  14. U kunt nu uw project publiceren tegen een kleine vergoeding van vijfentwintig dollar.

Hiermee is het creatieproces voltooid. Het spel is beschikbaar om te downloaden en werkt correct als alle afbeeldingen en extra opties correct zijn ingesteld. Deel het met vrienden via de Play Market of stuur het als bestand.

Methode 2: Programma's voor het maken van games

Er zijn een aantal programma's waarmee je games kunt maken met behulp van ingebouwde tools en het gebruik van scripts die in ondersteunde programmeertalen zijn geschreven. Natuurlijk zal een applicatie van hoge kwaliteit alleen blijken als alle elementen zorgvuldig zijn uitgewerkt, en dit vereist codeervaardigheden. Er zijn echter een groot aantal nuttige sjablonen op internet - pas ze toe en het enige dat u hoeft te doen is enkele parameters bewerken. Zie ons andere artikel voor een lijst met dergelijke software.

We zullen kijken naar het principe van het maken van een project in:


Unity-ontwikkelaars zorgden ervoor dat het voor nieuwe gebruikers gemakkelijker zou zijn om hun product te gaan gebruiken, dus creëerden ze een speciale gids. Het beschrijft in detail alles over het maken van scripts, het voorbereiden van componenten, het werken met natuurkunde en grafische afbeeldingen. Lees deze handleiding via de onderstaande link en ga vervolgens, met behulp van de kennis en vaardigheden die je hebt opgedaan, verder met het maken van je eigen spel. Het is beter om mee te beginnen eenvoudig projectje, waarbij je geleidelijk nieuwe functies onder de knie krijgt.

Methode 3: Ontwikkelomgeving

Laten we nu eens kijken naar de laatste, meest complexe methode: het gebruik van een programmeertaal en ontwikkelomgeving. Als je met de vorige twee methoden het zonder kennis van coderen kon doen, dan zul je hier zeker bedreven moeten zijn in , C# of bijvoorbeeld Python. Er is een hele lijst met programmeertalen die normaal werken met het Android-besturingssysteem, maar Java wordt als de officiële en meest populaire beschouwd. Om een ​​spel helemaal opnieuw te schrijven, moet je eerst de syntaxis leren en vertrouwd raken met de basisprincipes van het maken van code in de door jou gekozen taal. Speciale diensten, bijvoorbeeld GeekBrains, zullen hierbij helpen.

De site bevat een grote hoeveelheid gratis materiaal gericht op verschillende gebruikers. Bekijk deze bron via de onderstaande link.

Als uw keuze Java is en u nog nooit met programmeertalen heeft gewerkt, raden we u bovendien aan om vertrouwd te raken met JavaRush. De lessen daar worden in een meer vermakelijke stijl gegeven en zijn meer geschikt voor kinderen, maar als je geen kennis hebt, zal de site ook nuttig zijn voor volwassenen.

Het programmeren zelf vindt plaats in de ontwikkelomgeving. De meest populaire Integrated Development Environment voor het betreffende besturingssysteem is Android Studio. U kunt het downloaden van de officiële website en onmiddellijk gaan gebruiken.

Er zijn verschillende andere veel voorkomende ontwikkelomgevingen die ondersteuning bieden verschillende talen. Bekijk ze via onderstaande link.

Dit artikel ging over het onderwerp zelfontwikkeling van games voor het Android-besturingssysteem. Zoals u kunt zien, is deze kwestie behoorlijk ingewikkeld, maar er zijn methoden die het werken met het project aanzienlijk vereenvoudigen, omdat ze betrokken zijn kant-en-klare sjablonen en blanco's. Bekijk de bovenstaande methoden, kies degene die het beste bij u past en probeer applicaties te maken.

De ontwikkeling van mobiele applicaties is een van de meest lucratieve banen in de computerindustrie. Het maken van een game op Android kost enkele honderden of duizenden dollars, en de winst kan oplopen tot een miljoen dollar. In dit opzicht zijn veel mensen geïnteresseerd in het ontwikkelen van applicaties voor hun telefoons. In dit artikel leer je hoe je helemaal opnieuw een game op Android kunt maken met behulp van een computer, welke engine en ontwerper je beter kunt kiezen.

Geen succesvol spel is niet compleet zonder prachtige graphics, dus het maken van een ontwerp is een van de belangrijkste ontwikkelingsfasen. Ontwerp op het Android-besturingssysteem wordt geïmplementeerd met behulp van een “ontwerpdocument” of ontwerpdocument. Je moet beginnen met het maken van speelgoed met de gedetailleerde uitwerking ervan. Het bestand bevat:

  1. Objectmodellen;
  2. Functionele specificaties;
  3. Spelinhoud;
  4. Koppel.

Laten we elk van de punten in meer detail bekijken.

Objectmodellen

Dit is informatie over de functionaliteit van elk item. Objectmodellen zijn verantwoordelijk voor de mogelijkheid om items te kopen en verkopen, en voor het verbeteren van de speleigenschappen van personages.

Functionele specificaties

De gameplay en de belangrijkste mogelijkheden van elk personage worden hier beschreven. Het biedt ook een beschrijving van de kenmerken van game-items: wapens, EHBO-koffers, pantsering en andere. In wezen zijn functionele specificaties de regels waarmee gameplay plaatsvindt. Hoe beter dit gedeelte is uitgewerkt, hoe gemakkelijker het zal zijn om een ​​Android-game van hoge kwaliteit te maken.

Spelinhoud

Dit is de tekstvulling van het spel. Het beschrijft de dialogen van de personages en welke wapens kunnen worden gebruikt om schade aan te richten, hoeveel gezondheid een treffer zal vergen en welke eigenschappen zullen toenemen bij het gebruik van verschillende apparatuur. Staat hier ook gedetailleerde beschrijving elk item.

Koppel

De interface is hoe de gebruiker met het spel zal omgaan. Het bevat knoppen waarmee je het personage kunt besturen, en menusecties: bijvoorbeeld spelen, scoren, instellingen, topspelers, hulp. Als u geen ervaring heeft met het maken van applicaties op Android, download dan eerst van de Play Market en analyseer voordat u uw eigen applicaties maakt populaire spellen en overdracht beste oplossingen aan uw project.

Game-engine

De basis van elk spel is de engine. Dit is de software waarmee u deze kunt ontwikkelen en uitvoeren. Het bevat een hele reeks programma's, waaronder een rendering-engine, een fysica-engine, geluid, animatie en nog veel meer. Om het proces van het schrijven van programma's eenvoudiger te maken, maken externe ontwikkelaars hun eigen game-engines speciaal voor Android-applicaties.

Elk biedt verschillende functies: sommige zijn ontworpen voor 3D, andere voor 2D en kunnen multiplatform ondersteunen. Er zijn een groot aantal van dergelijke motoren, maar als je een beginner bent, is het beter om een ​​van de meest populaire te kiezen, omdat daar alle noodzakelijke functies aanwezig zullen zijn.

UDK

Koppel 2d/3d

Wat is een gameontwerper?

De designer is een programma dat een game-engine en een geïntegreerde ontwikkelomgeving combineert. De ontwerper maakt het ontwikkelproces toegankelijk voor mensen die geen programmeervaardigheden hebben. Bij sommige ontwerpers kun je games van bepaalde genres maken, andere hebben maximale functionaliteit, maar kosten veel meer geld. Voor een beginnende maker van mobiele applicaties is het kiezen van een ontwerper een van de meest cruciale momenten, omdat het lot van de toekomstige applicatie zal afhangen van de mogelijkheden ervan.

Met de ontwerper kun je games van verschillende genres maken voor Windows, Android en iOS. Aanbiedingen grote keuze kant-en-klare locaties, objecten, personages en geluidsontwerpen, dus het maken van je eerste Android-game kost niet veel tijd. Gebruikers die bekend zijn met de programmeertalen JS en C++ kunnen gebruik maken van de embedded GML. Het enige nadeel is dat het programma niet in het Russisch is vertaald.

Conclusie

Een game maken op Android is geen gemakkelijke taak, maar het is zeer winstgevend. Als je besluit een spel te ontwikkelen en er geld mee te verdienen, werk dan eerst het idee uit. Schrijf vervolgens een ‘ontwerpdocument’ en beslis over een game-engine die zijn potentieel kan maximaliseren. Hierna kunt u direct doorgaan met het maken van de applicatie in de designer.

Video

Bekijk de reeks video's die aan deze activiteit zijn gewijd voor meer informatie over het proces van het maken van Android-games.

De mobiele gaming-industrie genereert inkomsten die vergelijkbaar zijn met die uit de verkoop van videogames op pc's en consoles. Gamen op telefoons wordt erkend door campagnes die AAA-projecten vrijgeven (games met een hoog budget). Dit is de reden waarom poorten van console- en computervideogames op het mobiele platform verschijnen. Daarnaast proberen kleine onafhankelijke studio's regelmatig aan populariteit te winnen onder smartphone- en tabletbezitters. Het is veel gemakkelijker om geld te verdienen door applicaties te maken, omdat de arbeidskosten en uitgaven voor het maken van een project lager zijn dan op een pc. Bovendien ontvangt de ontwikkelaar bij succes een aanzienlijke winst, vergelijkbaar met die van game-ontwikkelaars.

Creatiemethoden

Het voordeel van het Android-platform zijn de brede mogelijkheden. Zowel kleine onafhankelijke studio's als grote campagnes kunnen projecten maken op Android-smartphones.

Voor gewone of beginnende ontwikkelaars zijn er drie soorten tools voor het maken van een game op Android:

  1. Online diensten kunt u rechtstreeks in de browser ontwikkelen. Ze bieden gebruikers kant-en-klare en werkende sjablonen voor het werken met verschillende gamegenres. Vereisen minimale hoeveelheid programmeervaardigheden.
  2. Programma's hebben meer gedetailleerde functionaliteit. Op dezelfde manier bieden ze bij onlinediensten een reeks kant-en-klare sjablonen en scripts aan. Ze vereisen bepaalde kennis van programmeren, omdat je voor elke actie code moet schrijven.
  3. Ontwikkelomgevingcomplex instrument, waarvoor programmeervaardigheden vereist zijn. Hier moet je de competitieve programmeertaal kennen waarin het spel zal worden geschreven. Zonder speciale cursussen en kennis is het onmogelijk om games te schrijven, bijvoorbeeld in Java. Er zijn gespecialiseerde forums uitgevonden voor autodidactische mensen. De meest populaire is GeekBrains.

Idee en script

  • Verhaallijn: de man die in de trein aan het tekenen was, werd opgemerkt door de politie en probeert nu aan hem te ontsnappen.
  • Doel: wegrennen van de politieagent.

Om een ​​game op Android te maken, is het noodzakelijk dat de gameplay de volgende vragen beantwoordt:

  1. Partijen bij het conflict: Angry Birds voorbeeld - vogels en varkens.
  2. Hoe dit conflict wordt opgelost- vogels vliegen met een katapult naar varkens.
  3. Waar ze zich ontvouwen belangrijkste gebeurtenissen?

Voorbeeldscript voor hardloper op Android: hoofdpersoon - een eekhoorn die zich voorbereidt op zijn winterslaap. Haar taak, verzamel zoveel mogelijk voorraden voor de winter. IN als barrières bomen en andere bosbewoners presteren. Hoe complexer het spel, hoe meer vragen er worden gesteld om het te maken. Maar de waarom-, waarom- en hoe-vragen zijn van toepassing op elk project.

Objectmodel en specificaties

Verslavende gameplay en levendige graphics zijn niet de enige factoren voor een succesvolle applicatie. Belangrijke items zijn het objectmodel en de specificaties. De gepresenteerde parameters vervullen twee belangrijke functies:

  1. Directory met basiskenmerken. Deze map kan door elk teamlid worden bekeken zonder alle ontwerpdocumentatie of geavanceerd zoeken (bijvoorbeeld alfabetisch) te hoeven doorlopen.
  2. Structuur van interactie van kenmerken. Het vertegenwoordigt geavanceerde ontwerpdocumentatie die de architectuur van het toekomstige spel vormt.

Een voorbeeld van een game-entiteitsobjectmodel:

  • Basis hoofdstuk– artikelen:
    • Speciaal classificatie- wapen:
      • Bekijk nr. 1 – zwaard;
      • Bekijk nr. 2 – ui.

Inhoud en interface

Inhoud en interface zijn parameters waarmee de speler vertrouwd zal raken voordat hij begint speelplezier. Interface - een opdrachtmenu waarmee de gamer communiceert omgeving. Om een ​​succesvolle interface voor je game te creëren, moet je:

  1. Gebruik intuïtief duidelijke iconen(instellingenmenu – versnellingen).
  2. Toepassen minimalistische objecten, wat niet afleidt van het spel.
  3. Structuur informatie.

Inhoud is het aspect dat een videogame vult. Inhoud verwijst naar items die een speler tijdens het spelen kan verkrijgen voor in-game of echte valuta. Er zijn drie soorten inhoud:

  • Betaald inhoud is iets dat met echt geld kan worden gekocht (helpt de winstgevendheid te vergroten).
  • Vrij inhoud – gegeven aan de speler wanneer aan bepaalde voorwaarden is voldaan. Bijvoorbeeld als u dagelijks inlogt op het spel.
  • Spel inhoud is de uitwisseling van spelvaluta voor verschillende functies: verbeteringen, nieuwe personages, enz.

Het is erg belangrijk om het spel met voldoende inhoud te vullen, zodat de gamer een stimulans heeft om het spel te blijven spelen. In Subway Surfer kun je bijvoorbeeld gouden munten gebruiken om nieuwe personages of tijdelijke bonussen te kopen waarmee je het record kunt verbreken.

Motorselectie

Een game-engine is een set tools die de ontwikkeling van games vereenvoudigen. Voornaamst motorvoordeel– automatisering van de meest gebruikte spelfuncties. Je kunt natuurlijk zelf een game-engine schrijven, maar dit proces is uiterst arbeidsintensief en tijdrovend. Elke game-engine is geschikt om bepaalde doelen te bereiken.

Elke engine kan bepaalde taken uitvoeren en wordt voor verschillende genres gebruikt. Laten we voorbeelden van verschillende motoren bekijken:


De uitzondering op de regel vormen de eigen motoren van de ontwikkelaars. Rockstar (makers van de GTA Red Dead Redemption-serie) gebruikt bijvoorbeeld hun eigen privé-engine.

Proces voor het maken van games

Als je de creatie van een game in detail benadert, kun je verschillende fasen onderscheiden die dit proces combineren. Alle schema's zijn algemeen van aard, dus sommige spellen kunnen tussenfasen hebben.

We gebruiken Game Maker als constructor - dit is er een van de beste hulpmiddelen voor nieuwkomers. Laten we in het eerste voorbeeld eens kijken naar het ontwikkelen van een eenvoudig arcadespel:

  1. We creëren belangrijkste achtergrond– de locatie waar de belangrijkste evenementen zullen plaatsvinden.
  2. Laten we doen hoofdpersoon: we tekenen het zelf of downloaden een kant-en-klaar sjabloon.
  3. Wij ontwerpen objecten voor interactie: munten, vallen, vijanden, enz.
  4. Programmering van het evenement, wat zal gebeuren bij interactie met een object: op een val getrapt - het spel is afgelopen, een munt opgepakt - het pad gaat verder.

Laten we naar meer kijken om het verschil tussen gamegenres te laten zien complex voorbeeld. Nu gebruiken we de Unity 3D-constructor en veranderen we het spelgenre in CCG:

  1. Het eerste punt blijft ongewijzigd: een achtergrond creëren voor een toekomstig project.
  2. De plaats van de hoofdpersoon wordt ingenomen kaarten, het zijn er veel meer, dus het werk kost meer tijd.
  3. Wij ontwerpen logische interacties tussen kaarten (de moeilijkste fase).
  4. Wij definiëren aantal spelers.
  5. Overzetten spelmenu van driedimensionale dimensie naar tweedimensionale ruimte.
  6. Het bepalen van de voorwaarden, waarna de wedstrijd als voltooid wordt beschouwd.

De beste ontwerpers

Constructie 2 en 3

– een tool waarmee je videogames op telefoons kunt maken zonder programmeerkennis. Met zijn hulp kun je een videogame maken zonder ook maar één regel code te schrijven. Als je denkt dat het werken met zo'n tool een verliezende optie is, kijk dan eens sollicitatieFloppy Vogel, dat is geschreven in Construct 2.

Er zijn twee versies van de motor: " normaal", gemaakt voor informatieve doeleinden. EN bedrijfsaudit, dat een volledig scala aan functies heeft voor het maken van een commercieel product.

Construct 3 is een verbeterde engine die Construct 2 systematisch vervangt. Het uitbreiden van de gebruikelijke opties en het bieden van nieuwe functies zijn de voordelen van de bijgewerkte versie. Bij deze herziening echter wel geen gratis abonnement. Maar er is achterwaartse compatibiliteit met vorige versie nutsvoorzieningen.

– verdeeld in drie versies: “ vrij versie", " normaal variatie", en " professioneel herziening". Hoe diverser de functionaliteit van een versie, hoe hoger de prijs uiteraard.

Clickteam Fusion is een multi-platform engine waarmee je games voor verschillende platforms kunt maken en deze kunt porten. Hoofdspecialisatie is 2D. Het is echter mogelijk om in 3D te schrijven. Het was op deze motor dat Five Nights at Freddy’s werd geschreven.

De motor is een andere vertegenwoordiger van de ontwerpers die aanwezig zijn minimale eisen naar programmeerkennis. De gepresenteerde engine is een tool voor meerdere platforms waarmee je games kunt schrijven voor zowel mobiele als oudere platforms. Heeft een Drag & Drop-interface.

De applicatie-interface is het belangrijkste kenmerk, sinds het bedieningsmenu simuleert een Photoshop-paneel, wat best handig blijkt te zijn voor gameontwerp. Op deze engine worden applicaties van studio's als ArmorGames, Kongregate, Newground en andere kleinere campagnes geschreven.

GameMaker is een engine die gespecialiseerd is in het maken van 2D-projecten die populair zijn op mobiele platforms. De motor is erop gericht beginnende ontwikkelaars hebben basisset kennis. Hotline Miami en andere 2D-meesterwerken zijn ontwikkeld met GameMaker. De voor de hand liggende voordelen van de motor zijn onder meer:


Unity is de meest populaire engine onder ontwikkelaars. Uitgelichte motor: het meest flexibele systeem op de lijst van vandaag. Het is handig om hier met 2D- en 3D-projecten te werken. Op dit platform zijn videogames ontwikkeld voor verschillende systemen:

  • PS3– Cuphead, Escape from Tarkov, Life Is Strange: Before the Storm.
  • AndroidEnIO's– Angry Birds 2, Hitman Go, Heartstone.
  • PC– Pijlers van de eeuwigheid, Ori en het blinde bos.

Onder de voordelen van Unity zou ik een breed scala willen noemen betaald en gratis tools: kant-en-klare modellen, texturen, werkanimaties, enz. Speciale aandacht plug-ins verdienen voor in-game aankopen. Kant-en-klare Playmaker-plug-ins zijn beschikbaar als betaalde add-ons, waardoor gebruikers geen code hoeven te schrijven.

Laten we nu de bovenstaande constructors visueel vergelijken.

Constructeur Prijs Voordelen
Constructie 2 en 3 Gratis/$199 Multiplatform, snelheid van gegevensverwerking, eenvoudige interne taal.
Klikteam Fusio 148 $ Creatie van prototypes, minimale programmeervereisten, creatie van een volwaardig commercieel product.
Gratis/$99/$199 Drag & Drop-interface, gericht op 2D-games, imitatie van het Photoshop-configuratiescherm.
Spel maken Gratis Multiplatform, regelmatige updates, actieve gebruikersgemeenschap, eenvoudig controlepaneel.
Vrij Multiplatform, variabiliteit van spelinstellingen, kant-en-klare sjablonen voor het maken van games, populariteit onder ontwikkelaars, open systeem

In feite zijn er een groot aantal game-engines, dus de ontwikkelaar moet deze zelf kiezen op basis van de volgende criteria:

  • Beschikbaarheid meerdere spelers;
  • eigen programmeerkennis;
  • complexiteit project: tweedimensionale of driedimensionale spellen;
  • mate van compatibiliteit met andere spelplatforms;
  • financiële mogelijkheden(kosten van betaalde tools).

Online dienst AppsGeyser

is een service, een gratis ontwerper waarmee u rechtstreeks vanuit de browser videogames en applicaties helemaal opnieuw kunt maken. Opmerkelijk is dat de gebruiker geen programmeerkennis nodig heeft. U hoeft alleen maar naar de website te gaan en de instructies te volgen.

Laten we als voorbeeld kijken naar het maken van een game:


Houd er rekening mee dat u projecten alleen kunt downloaden en opslaan nadat u zich bij AppsGeyser heeft geregistreerd. Na registratie kunnen ontwikkelaars de resultaten van hun werk publiceren in Google Spelen Markt. Deze procedure kost echter $ 25 per post.

Beste apps

Beginnende gamemakers zullen profiteren van applicaties waarmee ze eenvoudige arcadespellen kunnen ontwikkelen voor smartphones en tablets met Android OS. Het is opmerkelijk dat zelfs in dergelijke gevallen eenvoudige toepassingen Er zijn plug-ins voor het installeren van advertenties en interne aankopen. Laten we eens kijken naar de meest interessante toepassingen voor het maken van games.

Een leuke applicatie waarmee je kunt schrijven handgetekende videogame. Het is opmerkelijk dat u, om het idee te implementeren, een paar eenvoudige stappen moet uitvoeren:


De gameplay, gemaakt met behulp van , vertegenwoordigt een arcadespel waarin de held een uitweg uit de kamer moet vinden. In dit geval zijn alle getekende objecten dynamisch en toegankelijk voor interactie.

Apper

Apper is een klein programma voor het maken van applicaties. Hiermee kunt u handige software maken voor mobiele telefoon of tablet. Het gepresenteerde project heeft een intuïtieve interface en relatief flexibel systeem instellingen.

Biedt gebruikers een geïntegreerde ontwikkelomgeving waarmee ze applicaties voor het Android-platform kunnen maken rechtstreeks vanaf uw smartphone. Om kennis te maken met het hulpprogramma heb je de basisprincipes van programmeren of het bekijken van videolessen nodig.


is een compleet platform voor beginnende gamemakers. Het belangrijkste kenmerk van het project is de focus op videogames voor meerdere spelers. Met behulp van het hulpprogramma kunnen gebruikers in realtime kleine online projecten maken. Het gepresenteerde hulpprogramma heeft een breed scala aan hulpmiddelen waarmee u speelgoed van verschillende complexiteit kunt maken.

Voorbeeld van het maken van een spel

Beschouw als voorbeeld een racesimulator in moderne verwerking. Houd er rekening mee dat dit voorbeeld is bedoeld voor beginnende ontwikkelaars. Unity wordt gebruikt om het spel te ontwikkelen.

Gameplay

De gameplay is gebaseerd op met de auto overwonnen de maximaal mogelijke afstand. De functie van "barrières" wordt uitgevoerd dynamische obstakels op de weg verschijnen. Als je tegen een van de obstakels botst, eindigt het spel. Om de gameplay ingewikkelder te maken, introduceren we een brandstofreserve die tijdens de race wordt verbruikt. Om de benzinetank bij te vullen, moet je tanks met benzine verzamelen.

Begin van de ontwikkeling

"Racing Tetris" bestaat uit twee eenvoudige scènes: Hoofdmenu En gameplay-venster. Laten we eerst eens naar het menu kijken. Hiervoor moet je gebruiken GUI-besturing– een standaard platformtool.

Voor de achtergrond gebruiken we een sprite genaamd " achtergrond" Het voorbeeld gebruikt grijze kleur. Indien gewenst kleurenpalet veranderingen.

De tweede stap is het maken van een script " menu.cs" Opdrachtpad: Klik met de rechtermuisknop op de scriptregel – “Create” – “ C#-script" Vergeet niet om deze op "achtergrond" te zetten. De inhoud van het script ziet er als volgt uit:

UnityEngine gebruiken; met behulp van System.Collections; met behulp van System.Collections.Generic; met behulp van System.Runtime.Serialization.Formatters.Binary; met behulp van System.IO; public class menu: MonoBehaviour ( public GUIStyle mystyle; //verklaard dat de stijl van GUI-componenten (lettertype, grootte, etc.) wordt gewijzigd stringscore; //variabele voor het opslaan van de afgelegde afstand void Start () ( StreamReader scoredata = new StreamReader ( Application.persistentDataPath + "/score.gd"); // een bestandsvariabele score = scoredata.ReadLine ( // een regel lezen scoredata.Close ( // een bestandsvariabele sluiten) void Update () ( ); void OnGUI())( GUI.Box (nieuwe Rect (Screen.width*0.15f, Screen.height*0.8f, Screen.width*0.7f, Screen.height*0.1f), "MAX DISTANCE:"+score, mystyle); //maak een klein venster om de afgelegde afstand weer te geven if (GUI.Button (nieuwe Rect (Screen.width*0.15f, Screen.height*0.25f, Screen.width*0.7f, Screen.height*0.1f ), "Start game",mystyle)) //maak een knop om de gamescène te starten ( Application.LoadLevel(1);//De gamescène laden) if (GUI.Button (nieuwe Rect (Screen.width*0.15f , Screen.height*0.4f, Screen.width*0.7f, Screen.height*0.1f), "Exit",mystyle)) //maak een knop om het spel af te sluiten ( Application.Quit();//Verlaat het spel ) ) )

Eindig op het scherm zou moeten krijgen een voorbeeldvenster zoals dit:

Vergeet niet dat het programma een functie heeft voor het bewerken van tekstelementen met MyStyle.

Spelvenster

Voordat u begint, moet u de belangrijkste elementen in deze afbeelding identificeren.

Deze omvatten:

  • auto;
  • benzinetank;
  • weg.

Laten we de creatie van elk element afzonderlijk bekijken.

Weg

De gepresenteerde game is een eindeloze race, dus vanuit technisch oogpunt is de baan in beweging. Als we accepteren dat de gamer alleen naar links of rechts kan bewegen, is dit de weg zal de illusie van beweging creëren.

Laten we beginnen:

  1. We laden het met gameplay op de scène en passen het aan de grootte van de camera aan.
  2. Voeg vervolgens objecten binnen de weg toe als onderliggende objecten vier blokken met obstakels en een benzinetankpictogram.
  3. Vergeet niet Box Collider 2D eraan toe te voegen. Bovendien vereist markeer het Is Triger-pictogram zodat objecten de auto kruisen.
  4. Maak een script met de naam " moveroad.cs' en hang hem aan de baan. Vervolgens schrijven we de code: met UnityEngine; met behulp van System.Collections; met behulp van System.Collections.Generic; met behulp van System.Runtime.Serialization.Formatters.Binary; met behulp van System.IO; public class moveroad: MonoBehaviour ( public GUIStyle mystyle;//maak een stijl int f,fuelst; float score=0,speed=-0.2f,data,fuelpos;//variabelen voor het opslaan van afstand, snelheid en record public GameObject block;/ / game-object om het blok public GameObject block2 te plaatsen; public GameObject-brandstof; void Start () ( StreamReader scoredata = new StreamReader (Application. persistentDataPath + "/score.gd"); = zwevende wegen met de hierboven gespecificeerde snelheid score = score + (snelheid*-10); // bereken de afstand als (transform.position.y< -19f) // если дорога уходит за пределы камеры то она "теле портируется" вверх { transform.position=new Vector3(0f,33.4f,0f);//новая позиция дороги block.transform.position=new Vector3(10.15f,block.transform.position.y,block.transform.position.z); block1.transform.position=new Vector3(8.42f,block1.transform.position.y,block1.transform.position.z); block2.transform.position=new Vector3(6.62f,block2.transform.position.y,block2.transform.position.z); block3.transform.position=new Vector3(4.95f,block3.transform.position.y,block3.transform.position.z); fuel.transform.position=new Vector3(11.86f,fuel.transform.position.y,fuel.transform.position.z); //скрытие за пределы камеры всех препятствий(блоков) f = Random.Range (0, 5);//случайное появление на дороге 1-го из 4-х блоков или канистры с бензином switch (f) { case 0:block.transform.position=new Vector3(2.40f,block.transform.position.y,block.transform.position.z); break; case 1:block1.transform.position=new Vector3(0.90f,block1.transform.position.y,block1.transform.position.z); break; case 2:block2.transform.position=new Vector3(-0.80f,block2.transform.position.y,block2.transform.position.z); break; case 3:block3.transform.position=new Vector3(-2.35f,block3.transform.position.y,block3.transform.position.z); break; case 4: fuelst=Random.Range(0,4); if(fuelst==0){fuelpos=2.40f;} if(fuelst==1){fuelpos=0.90f;} if(fuelst==2){fuelpos=-0.80f;} if(fuelst==3){fuelpos=-2.35f;} fuel.transform.position=new Vector3(fuelpos,fuel.transform.position.y,fuel.transform.position.z); break; } if (score>data) // als de huidige afgelegde afstand groter is dan wat is vastgelegd in het recordbestand, worden de gegevens bijgewerkt ( StreamWriter scoredata = new StreamWriter (Application.persistentDataPath + "/score.gd"); // maak een bestandsvariabele om op te slaan de afgelegde afstand scoredata.WriteLine (score);//schrijf de nieuwe waarde naar het bestand scoredata.Close();//close de bestandsvariabele ) ) ) void OnGUI())( GUI.Box (nieuwe Rect (0, 0 , Screen.width, Screen.height*0.05 f), "Distance(m): " + score,mystyle);//maak een venster voor het berekenen van de afstand ) )

Uiteindelijk zou je moeten eindigen met een bewegende weg die dat wel doet automatisch verlengen na het bereiken van het "controlepunt". In wezen blijkt het een eindeloos nummer te zijn. Zonder wijzigingen zal de ontwikkelaar echter een probleem krijgen als er na het passeren van het "punt" lege ruimte is. Om deze situatie te corrigeren, moet u creëren een kopie van de voltooide route en bewerk het script een beetje.

Met andere woorden, het is noodzakelijk om twee identieke wegen te creëren. Deze actie zou het scheurprobleem moeten oplossen.

Auto

Gooi de auto-sprite op het podium.

Plaats de auto waar dan ook op de baan. Maak een script autocontroller.cs en breng hem naar de auto. Hieronder vindt u de inhoud van het script:

UnityEngine gebruiken; met behulp van System.Collections; met behulp van UnityStandardAssets.CrossPlatformInput; public class carconroller: MonoBehaviour ( void Start () ( ) public void Update () ( if (transform.rotation.z !=0) // controleert de botsing van de auto-botser en een obstakel, wanneer er een botsing plaatsvindt, wordt het menu weergegeven geladen ( Application.LoadLevel (0) ; ) ) ) public void OnGUI() ( if (GUI.RepeatButton (nieuwe Rect (Screen.width*0.1f, Screen.height*0.9f, Screen.width*0.2f, Screen. height*0.08f), "L ")) //maak een knop om naar links te bewegen ( if (transform.position.x > -2.4f) ( transform.Translate (nieuwe Vector3 (-0.05f, 0f, 0f)); ) ) if (GUI.RepeatButton (nieuwe Rect (Screen.width*0.7f, Screen.height*0.9f, Screen.width*0.2f, Screen.height*0.08f), "R")) //maak een knop naar rechts bewegen ( if (transform.position. x< 2.4f) { transform.Translate (new Vector3 (0.05f, 0f, 0f)); } } } }

Met behulp van het script ontvangt de auto vermogen om te bewegen.

Benzinetank

Om een ​​indicator te creëren van hoe vol de benzinetank is, moet u gebruiken identieke sprites van verschillende kleuren.

Doen groene spriet dochterondernemingen Het volgende is vergelijkbaar met de vorige punten: maak een script(fuelscript.cs) en hang deze aan de benzinetank (brandstof) met de volgende inhoud:

UnityEngine gebruiken; met behulp van System.Collections; public class Fuelscript: MonoBehaviour ( public GameObject Fuelall; float mytimer=100f; // stel een zwevend getal in // Gebruik dit voor initialisatie void Start () () void Update () ( mytimer = 100f; mytimer -= Time.deltaTime;/ / getal verandert in de loop van de tijd if (mytimer/mytimer==1f) //controleer gedurende een tijdsperiode van 1 seconde (fuelall.transform.position=new Vector3(fuelall.transform.position.x-0.0011f,fuelall.transform.position y,fuelall.transform.position.z); brandstofall.transform.localScale = new Vector3(fuelall.transform.localScale.x-0.001f, 1, 1); in de breedte van de groene strook voor simulatieschalen ) if (fuelall.transform.localScale.x< 0) //если шкала исчезла то загрузка идет загрузка главного меню { Application.LoadLevel(0); } } }

De track in ons menu heet weg183, en de kopie ervan is weg183(1). Tegen kind bezwaar brandstofspoor voeg een script toe dat verantwoordelijk is voor het bijvullen van de gastank wanneer deze in contact komt met de auto. De volgende stap zou zijn script creatie triger.cs. Hang hem bij elke baan op de brandstofbaan. En markeer het object als Is Triger met code als deze:

UnityEngine gebruiken; met behulp van System.Collections; public class trigger: MonoBehaviour ( public GameObject brandstof;//add greenfuel here // Gebruik dit voor initialisatie void Start () () // Update wordt één keer per frame aangeroepen void Update () () void OnTriggerEnter2D(Collider2D col) ( if ( col.gameObject.name == "playercar") //controle van de kruising van de auto en het brandstofobject (fuel.transform.position=new Vector3(0,fuel.transform.position.y,fuel.transform.position.z ); brandstof.transform.localScale = new Vector3(1, 1, 1); //het brandstofobject herstellen naar standaardwaarden) ) )

Het eindresultaat is een eenvoudige arcaderace die op Android als een ‘tijdmoordenaar’ kan worden beschouwd.

Instructies

Selecteer het platform waarvoor je game bedoeld is. Omdat de markt voor mobiele besturingssystemen zeer divers is en elk systeem zijn eigen kenmerken heeft bij het maken van applicaties. De meest populaire zijn nu volgende systemen iOS, Android, Symbian-besturingssysteem en Windows telefoon 7. De operatiekamer is de beste plek om te beginnen. Windows-systeem Telefoon 7. Het heeft een handige ontwikkelomgeving die ondersteuning biedt verschillende technologieën zoals XNA en Silverlight.

Leer een programmeertaal. Dit hoofdpodium bij het maken van welk programma dan ook. En hoe meer programmeervaardigheden, hoe meer mogelijkheden om ideeën te implementeren. Een van de krachtige en tegelijkertijd gemakkelijk te leren programmeertalen is C#. Deze taal is door Microsoft ontwikkeld als alternatief voor de Java-taal en heeft geweldige mogelijkheden.

Bedenk je eigen idee voor een spel. Schrijf op een vel papier of in een apart document alles wat je in je spel wilt implementeren. Maar denk eens aan je mogelijkheden. Het is niet nodig om plannen te maken die moeilijk uitvoerbaar zijn. Overweeg alle punten en markeer de punten die u op basis van uw kennis niet kunt voltooien. Om moeilijke problemen op te lossen, kun je lid worden van de ontwikkelaarsforums. Daar kun je altijd vragen stellen aan meer ervaren programmeurs.

Installeer de ontwikkelomgeving. Om games voor Windows Phone 7 te maken, heb je Visual Studio 2010 en Windows Phone Developer Tools nodig. Beide producten zijn volledig gratis

Begin met het ontwikkelen van het spel. Bepaal het type project, aanvullende technologieën en klassen. Bepaal onmiddellijk het type spelbesturing. Misschien zijn dit eenvoudige tikken waarbij één of beide handen worden gebruikt. Of misschien worden er verschillende positiesensoren en een camera gebruikt. Denk na over de spellogica en de implementatie ervan.

Doe mee met het ontwerpen van games. Een deel van de applicatie-inhoud, zoals texturen, afbeeldingen, lettertypen en geluiden, is te vinden op internet. De rest kun je zelf tekenen of aan iemand anders vragen.

Begin met het testen van het spel. Dit is de laatste fase van de applicatieontwikkeling. Maak tests voor applicatielogica en volg fouten die optreden. Probeer hun aantal tot een minimum te beperken.

Als het spel klaar is, publiceer het dan. Maak het openbaar beschikbaar of registreer je in de app store en probeer er geld aan te verdienen. Laat uw geesteskind niet in de steek, maar probeer het te ondersteunen door het te verbeteren en iets nieuws te introduceren.

Video over het onderwerp

Bronnen:

  • Alles wat je nodig hebt om games te maken
  • online spel naar de telefoon

Het maken van games voor telefoons wordt uitgevoerd door een ontwikkelaar die in de regel wordt vertegenwoordigd door een bedrijf. Maar er zijn ook gevallen waarin één persoon bij een dergelijk proces betrokken is.

Instructies

Bepaal het mobiele besturingssysteem waarvoor de game zal worden ontworpen. Feit is dat er tegenwoordig in de wereld geen enkel mobiel platform is dat overweldigend is met zijn kwantitatieve meerderheid (bijvoorbeeld zoals computers, waar Windows ongetwijfeld voorop loopt). Elke fabrikant promoot iets anders, en als gevolg daarvan heeft de markt ongeveer tien besturingssystemen. De meest gebruikte zijn op te noemen Besturingssysteem Android, Symbian OS, iOS en Windows Phone 7.
Helemaal aan het begin zul je de game voor een van deze platforms moeten ontwikkelen, en pas daarna de game opnieuw maken (porten) voor anderen. Een dergelijk proces is niet triviaal en vereist een gedurfde aanpak, omdat Soms zijn de verschillen tussen platforms behoorlijk groot.

Leer een programmeertaal. Programmeren is het belangrijkste onderdeel bij het maken van een programma computerprogramma, en de programmeur is de belangrijkste schepper ervan, en het niveau van zijn professionaliteit is recht evenredig met het succes van het toekomstige spel.
Ideaal voor ontwikkeling onder mobiele toestellen Java-taal zal dienen. Voor beginners zal het moeilijk zijn om de basisprincipes ervan te begrijpen. Het zou correcter en gemakkelijker zijn om te beginnen met de basisprincipes van programmeren, eerst door het computerwetenschappencurriculum van de school onder de knie te krijgen.

Vorm een ​​idee voor een toekomstig spel. Maak een speciaal document waarin je alles beschrijft wat met het project te maken heeft, maar zonder fanatisme. Je hoeft geen grootse plannen te maken, maar je moet ze toch met je programmeervaardigheden in werkelijkheid omzetten. Denk bij het nadenken over het concept aan de literatuur over programmeren en denk na over alles vanuit een logisch gezichtspunt.

Denis Zaritski

Software ontwikkelaar. Hij is geïnteresseerd in het ontwikkelen van games met behulp van Unreal Engine, ook geïnteresseerd in: JavaScript, HTML5, Node.js, User Experience, online onderwijs, kunstmatige intelligentie en internetmarketing. Houdt ervan om mee te werken aan startups en interessante projecten.

Veel mensen dromen ervan hun eigen spel te creëren. Maar voordat je het gaat ontwikkelen, moet je beslissen over een game-engine, waarvan er een grote variëteit is.

Wat is een game-engine? Kortom, het is een reeks systemen die de meest gebruikte functies van het spel vereenvoudigen. Je kunt natuurlijk zelf een engine helemaal opnieuw schrijven, maar dit zal onredelijk lang duren. In dit artikel zullen we kijken naar populaire game-engines voor het ontwikkelen van games voor mobiele apparaten. Door hun functies te vergelijken, kunt u degene kiezen die het beste bij u past en uw volgende grote hit creëren.

Laten we de lijst eens bekijken!

Het is een platformonafhankelijke engine voor het maken van games voor iOS en Android. Met de API kun je 2D-games maken en ook helpen bij het maken ervan complexe functies, met behulp van op Lua gebaseerde API. Bovendien kunt u met Corona-advertenties inkomsten genereren met de Corona SDK. Ontwikkeling met Corona is vrij eenvoudig dankzij realtime testen.

Corona bevat interessante functies als Corona Editor, Sublime Text-plug-in en vele andere. Composer GUI, beschikbaar op OS X, biedt je een grafische omgeving waarin je niveaus voor games kunt creëren en kunt zien hoe objecten met elkaar omgaan met behulp van Corona's fysica-engine.

Eenheid

Dit is een raamwerk voor het ontwikkelen van HTML5-games voor desktop en mobiel, gebaseerd op de PIXI.js-bibliotheek. Ondersteunt Canvas- en WebGL-rendering, geanimeerde sprites, deeltjes, audio, verschillende manieren invoer- en objectfysica. Phaser is open source onder de MIT-licentie. Dit betekent dat u de code zonder beperkingen kunt gebruiken, maar dat u de auteursrechtvermeldingen in kopieën van de software moet behouden, wat betekent dat u een auteursrechtvermelding voor het raamwerk in uw licentietekst moet opnemen. Het wordt goed ondersteund door Richard Davey en de gemeenschap die om hem heen is ontstaan.

Het werd geïntroduceerd in 2010 en is een open source-project dat wordt gedistribueerd onder de MIT-licentie. De spelontwikkeling in Cocos2d-x is gebaseerd op het gebruik van sprites. Met behulp van deze containers worden allerlei scènes gecreëerd, bijvoorbeeld spellocaties of menu's. Sprites worden bestuurd met behulp van animatie of programmacode in C++, JavaScript of Lua. Dankzij de moderne visuele interface kunnen sprites eenvoudig worden gewijzigd, verplaatst, geschaald en anderszins gemanipuleerd.

Het is een platformonafhankelijk raamwerk dat is geschreven in Java en werkt met OpenGL. Biedt ondersteuning voor meerdere game-publicatieplatforms. Ingress (voorloper van Pokémon GO) is ontwikkeld met behulp van libGDX. De communityondersteuning is ook geweldig, waardoor je geweldige documentatie hebt om mee te werken.

Conclusie

In dit artikel hebben we gekeken naar verschillende raamwerken en motoren voor game-ontwikkeling. U zou nu een idee moeten hebben welke oplossingen het beste passen bij uw volgende ontwikkelingsbehoeften. mobiel spel. Bedankt voor uw aandacht. Ik hoop dat het artikel nuttig voor je was.