Ontwikkeling van 2D- en 3D-spellen in Python - cursus 48.000 wrijven. van Coddy School of Programming for Children, training 8 modules (maanden)
Gemengde Berichten / / November 28, 2023
Tot voor kort werd de ontwikkeling van computerspellen beschouwd als een exclusief professioneel werkterrein voor een kleine kring van bedrijven, maar met de ontwikkeling van moderne technologieën is alles dramatisch veranderd! Gameontwikkeling is toegankelijker dan ooit. Nu kan iedereen, inclusief kinderen, zijn eigen spel maken!
Tegenwoordig is bijna elk kind gepassioneerd door computerspellen en besteedt het zijn vrije tijd eraan, en sommige kinderen dromen ervan hun eigen meesterwerken te maken. Dankzij de studie van zo'n veelbelovend gebied als game-ontwikkeling zal een kleine programmeur dat niet langer zijn tijd verspillen - hij zal leren zijn eigen speluniversums te ontwikkelen, programmeren en creëren!
Als uw kinderen geïnteresseerd zijn in computerspellen of informatietechnologie, schrijf ze dan in voor de cursus 2D-3D Game Development in Python, waar ze leren programmeren door hun eigen spellen te maken.
Doel van de cursus: maak kennis met het Godot-programma en leer programmeren in de Gdscript-taal.
Cursusinhoud:
- Inleiding tot Godot en de basisprincipes van de interface
- Een 2D-platformgame maken
- Munten en gebruikersinterface
- Vijanden en portalen
- Kogels en levens
- Drankjes en power-ups
- Artikelen en inventaris
- NPC's en dialogen
- Maak kennis met 3D
- Natuurkunde in Godot
- Terrein. Landschapsvorming
- NPC's en vijanden in 3D
- Wapens en kogels maken
- UI in 3D-games
- Geluidsontwerp aan het spel toevoegen
- Visueel ontwerpen en werken met licht
- Voorbereiding op het maken van een horrorfilm
- Creatie van horror
- Verfijning van horror
- Verbeterde horror
- Voorbereiden om een racegame te maken
- Fysica en gebruikersinterface in racen
- Gedrag van tegenstanders en finish
- Verbeterd racespel
- Terugkeren naar 2D en een Roguelike RPG creëren
- Inleiding tot tegelsets
- Procedurele generatie
- Kisten en verzamelobjecten toevoegen
- Vijanden en levenssysteem toevoegen
- Nieuwe locaties
- Zoektochten
- Het spel exporteren en uploaden naar hosting
Cursus Doelstellingen:
- Maak kennis met Godot.
- Leer programmeren in Gdscript.
- Geef een volledig en uitgebreid inzicht in hoe het spel werkt en hoe het intern is gestructureerd.
- Om kinderen te laten evolueren van een interesse in het simpelweg spelen van computerspelletjes naar een verlangen om deze te creëren en zich in de toekomst te ontwikkelen op IT-gebied.
Over de cursus:
Tijdens het trainingsproces werken de jongens met Godot Engine, een professionele game-engine met een uniforme interface voor het maken van zowel 2D- als 3D-games, die dankzij zijn de meeste programmeertalen ondersteunen openheid.
Deze engine wordt geleverd met een programmeertaal genaamd GDScript, die is gebaseerd op Python. Veel ontwikkelaars die met Godot beginnen, zijn aangenaam verrast door hoe snel ze de taal oppikken. Daarom is onze cursus geschikt voor zowel beginners als studenten die bekend zijn met de basisprincipes van programmeren.
We zullen de kenmerken en mogelijkheden van de Godot-engine verkennen, leren hoe we games kunnen ontwikkelen met behulp van de GDScript-programmeertaal, teamwerkvaardigheden opdoen, onze eigen werelden creëren en nog veel meer.
De training begint met het bestuderen van het programma en eindigt met de publicatie van uw eigen projecten. Op deze manier leren kinderen niet alleen hoe ze 2D- en 3D-games kunnen maken, maar kunnen ze deze ook delen.
Tijdens het leerproces ontwikkelt het creatieve denken van de kinderen zich, wat helpt bij het genereren van veel ideeën voor plots voor hun werken, het creëren van unieke werelden en het ontwikkelen van een spannende omgeving.
Omdat de in de cursus bestudeerde programmeertaal gebaseerd is op Python, zal de student vertrouwd raken met de syntaxis ervan en zal het voor hem in de toekomst gemakkelijker zijn om in deze taal te programmeren.
Aan het einde van de cursus beschikt de student over een portfolio met projecten die tijdens de cursus zijn gemaakt.
Voordelen van Godot-engine
- Godot is volledig gratis, in tegenstelling tot Unity, dat beperkingen heeft in de gratis versie. Godot is open source onder de zeer liberale MIT-licentie. Geen verplichtingen, geen kosten, niets. Je spel is van jou tot aan de laatste regel enginecode.
- Bewerken en publiceren op meerdere platforms. Godot heeft voor elk besturingssysteem een overeenkomstige versie van de editor: Windows, Mac en Linux.
- Het animatiesysteem van Godot is een van de krachtigste en meest gebruiksvriendelijke systemen.
- Aantal talen. In tegenstelling tot Unity, dat alleen C# gebruikt, kun je met Godot games schrijven in de op Python gebaseerde GDScript-programmeertaal, evenals in C++, D, Rust en C#.
- Intuïtief knooppuntsysteem. Godot heeft een visueel scriptsysteem dat gebruik maakt van blokken die met elkaar kunnen worden verbonden, waardoor het toegankelijk is voor beginners. U kunt eenvoudig alle informatie slepen en neerzetten met behulp van knooppunten en scènes.
- Godot is een van de eenvoudigste game-engines om code te schrijven.
Voordat we in Unity gaan werken, raden we aan om kennis te maken met Godot Engine, omdat het gemakkelijker is voor jongens die geen kennis en vaardigheden hebben op het gebied van game-ontwikkeling, in termen van interface en individuele mechanica. GDScript is speciaal ontworpen voor het schrijven van korte en eenvoudige scripts voor games op de Godot-engine. Door erop te programmeren, zal het voor de student veel gemakkelijker zijn om de logica van objectgeoriënteerd te begrijpen programmeren en gaan werken met andere game-engines en complexere talen leren programmeren.
Tijdens de cursus zal uw kind:
- leer de professionele programmeertaal GDScript;
- leren werken in de Godot game-engine;
- vaardigheden opdoet in het ontwikkelen van 2D- en 3D-games;
- zal verschillende van zijn eigen gameprojecten creëren;
- Leer fundamentele programmeerconcepten en -regels begrijpen.
Wat heb je nodig voor lessen?
- Om de cursus te kunnen voltooien heeft uw kind een computer/laptop nodig waarop programma's zijn geïnstalleerd.
Als de lessen online zijn:
- Internettoegang (controleer de stabiliteit van de internetverbinding, vanaf 20 Mbit/sec).
- Koptelefoons, evenals extra apparatuur voor een betere geluidskwaliteit: microfoon of headset.
10
cursussenCursusdocent:
“Unity 3D”, “JavaScript-programmering”, “Gameprogrammering in Python”, “Siteontwerp”, “Webprogrammering”, “Bots in Python”, “Programmeren in Python3”, “Games maken in Scratch”, “Videogame-ontwikkelaar: 2D-games van verschillende genres maken”, “2D- en 3D-games ontwikkelen in Python"
Onderwijs:
Bryansk State University vernoemd naar AC I.G. Petrovsky, Faculteit Natuurkunde en Wiskunde, richting “Netwerktechnologieën”.
Ervaring:
Projectmanager, programmadirecteur bij Coddy. Programmeert al ruim 5 jaar in diverse talen C#, Java, Python, JavaScript. Creëerde webapplicaties van verschillende complexiteit. Ontwikkelde games in Unity3D, Construct en applicaties in AndroidStudio.
Waarom CODDY?
“Uitstekende recensies, goed salaris, mooie vooruitzichten!”
Interesses:
Houdt van reizen. In zijn vrije tijd speelt hij volleybal. Hobby's zijn koken, origami en fietsen. “Normaal gesproken is de eenvoudigste aanpak het meest effectief.”
Module 1
Dag één - Inleiding tot Godot en de basisprincipes van interfaces
- het bestuderen van de belangrijkste eigenschappen en kenmerken van Godot
- het leren van de Godot-interface
- introductie tot het Nod-systeem
- afbeeldingen toevoegen aan het project
- objecten maken in Godot
Resultaat van de les: Kennismaken met Godot
Praktische taak: voeg nieuwe objecten toe aan het niveau
Dag twee - Een 2D-platformgame maken
- het leren van de basisprincipes van programmeren in Godot
- creatie van de eerste scripts
- het toevoegen van het knooppunt “CollisionShape”.
- het creëren van de basis van het spel “Platformer”.
Resultaat van de les: het leren van de basisprincipes van programmeren in GDScript
Praktische taak: een niveauconcept bedenken en implementeren
Dag drie - Munten en gebruikersinterface
- bekendheid met variabelen en omstandigheden
- het maken van een muntscript
- studie van het Area2d-knooppunt en gerelateerde gebeurtenissen
- vertrouwd raken met de gebruikersinterface en tekstelementen maken
- commando's leren om met de gebruikersinterface te communiceren
Resultaat van de les: leren werken met nieuwe componenten en een gebruikersinterface toevoegen
Praktische taak: een nieuw item toevoegen om te verzamelen
Dag vier - Vijanden en portalen
- leren werken met hout en het commando change_scene
- scripts maken voor vijandelijke bewegingen en aanvallen
- kennismaking met het concept prefab
- creatie van nieuwe niveaus
Resultaat van de les: leren hoe scènes werken in Godot en nieuwe niveaus creëren
Praktische taak: nieuwe niveaus en prefabs aan het spel toevoegen
module2
Dag één - Kogels en levens
- diepgaande studie van de werking van variabelen
- nieuwe elementen toevoegen aan de gebruikersinterface
- scripts maken om waarden in de gebruikersinterface weer te geven
- introductie tot instance en het maken van objecten via code
Resultaat van de les: nieuwe UI-elementen aan het spel toevoegen
Praktische taak: maak items die het aantal levens en kogels vergroten
Dag twee - Drankjes en power-ups
- bestuderen hoe scripts met elkaar omgaan
- creatie van drankjes en power-ups in het spel
- inleiding tot timer- en wachtopdrachten
Resultaat van de les: power-ups aan het spel toevoegen en met nieuwe teams werken
Praktische taak: voeg een nieuw type drankje toe aan het spel
Dag drie - Artikelen en uitrusting
- inleiding tot het maken van arrays
- items toevoegen aan het spel
- introductie tot rasterelementen, textuurknop
- het bestuderen van knopdrukgebeurtenissen
Resultaat van de les: een interface creëren en leren hoe nieuwe UI-elementen werken
Praktische taak: voeg nieuwe items toe om te verzamelen
Dag vier - NPC's en dialogen
- extensies installeren in godot
- inleiding tot woordenboeken
- creatie van niet-spelerkarakters
- creatie van een in-game winkel
Resultaat van de les: het toevoegen van niet-speler-personages aan het spel en leren hoe de ‘woordenboek’-structuur werkt
Praktische taak: het toevoegen van nieuwe dialogen en NPC's aan het spel
module3
Dag één - Introductie van 3D
- vertrouwd raken met de bedieningselementen in de 3D-ruimte
- primitieve objecten maken in godot
- Modellen downloaden en importeren
- leercoördinaten in Godot
- creatie van materialen
Resultaat van de les: introductie tot het maken van 3D-elementen en het toevoegen van 3D-modellen
Praktische taak: nieuwe modellen toevoegen en importeren in het spel
Dag twee - Natuurkunde in Godot
- studie van StaticBody- en KinematicBody-knooppunten
- het creëren van een karakterbewegingsscript
- creatie en ontwerp van het spel “Parkour”
Resultaat van de les: creatie van het spel "Parkour"
Praktische taak: verbeter het uiterlijk van het spel, voeg nieuwe spelelementen toe
Dag drie - Terrein. Landschapsvorming
- Plug-ins installeren in Godot
- vertrouwd raken met de mogelijkheden van de Terrain Editor
- creatie van een 3D-wereldkaart
- een karakter toevoegen
Resultaat van de les: het creëren van een landschap in het spel, het leren kennen van de mogelijkheden van terraforming
Praktische taak: maak de spelwereld levendiger
Dag vier - NPC's en vijanden in 3D
- vijandige modellen toevoegen
- programmeren van de beweging van niet-spelerkarakters
- inleiding tot enum en staten
- scripts leren voor het achtervolgen en aanvallen van een personage
Resultaat van de les: het toevoegen van niet-spelerpersonages en vijanden aan het spel, het introduceren van nieuwe commando's in het programmeren
Praktische taak: voeg nieuwe vijanden toe met verschillende kenmerken
module4
Dag één - Wapens en kogels maken
- interactie met het Rigidbody-knooppunt en creatie van fysieke objecten
- werken met het Area-knooppunt en zijn gebeurtenissen
- Programmeren van wapenselectie
- programmering van het afvuren van kogels
Resultaat van de les: wapens en kogels maken in het spel, nieuwe knooppunten leren kennen
Praktische taak: voeg een nieuw type wapen toe
Dag twee - UI in 3D-games
- het toevoegen van een gebruikersinterface om het aantal kogels weer te geven
- verzamelbare items toevoegen en hun aantal op het scherm weergeven
- het creëren van een knop om het spel te verlaten
- het creëren van een eerste menu
Resultaat van de les: een gebruikersinterface aan het spel toevoegen
Praktische taak: verbetering van het uiterlijk van de gebruikersinterface
Dag drie - Geluidsontwerp aan het spel toevoegen
- Geluidsbestanden downloaden en importeren
- introductie tot audio-elementen
- activering van geluiden via een script
- synchronisatie van spel en geluiden
Resultaat van de les: geluiden toevoegen aan het spel
Praktische taak: nieuwe geluiden aan het spel toevoegen
Dag vier - Visueel ontwerpen en werken met licht
- het toevoegen van een deeltjessysteem
- werken met lichte knooppunten
- Kennismaking met de eigenschappen van licht
- schaduwen aanbrengen en met licht werken via een script
Resultaat van de les: introductie tot het deeltjessysteem en nieuwe commando's
Praktische taak: het uiterlijk van het spel verbeteren
module5
Dag één - Voorbereiding op het maken van een horrorfilm
- modellen toevoegen
- werken met de camera
- interactie van elementen en knoppen in de gebruikersinterface
- schakelen tussen camera's
Resultaat van de les: het creëren van de basis van een horrorspel
Praktische taak: downloaden en nieuwe modellen aan het spel toevoegen
Dag twee – Horror creëren
- vijanden toevoegen
- animatie van objecten
- inleiding tot staten, animaties en toetsen
- scripts voor interactie met animaties
Resultaat van de les: verbetering van het horrorspel, introductie tot animaties
Praktische taak: nieuwe soorten vijanden aan het spel toevoegen
Dag drie - De horror afronden
- het creëren van een eerste menu
- speurtochten toevoegen
- inleiding tot het concept signaal
- Programmeren van interacties tussen scripts via signalen
Resultaat van de les: introductie tot het concept van signaal en creatie van het initiële menu
Praktische taak: het uiterlijk van het spel verbeteren
Dag vier - Horror upgraden
- vallen toevoegen
- het creëren van een scène van verlies en overwinning
- geluidseffecten en visuele effecten toevoegen
- Pas het lichtniveau aan
Resultaat van de les: het verbeteren van het spelontwerp
Praktische taak: afronding van het project
module6
Dag één - Voorbereiding op het maken van een racegame
- automodellen toevoegen
- creatie van terrein
- tracks en obstakels toevoegen
- programmeren van de beweging van de machine
Resultaat van de les: voorbereiding op de creatie van het spel "Racing"
Praktische taak: downloaden en nieuwe modellen aan het spel toevoegen
Dag twee - Fysica en gebruikersinterface in racen
- een timer toevoegen
- verbeterde autofysica
- weersomstandigheden aan het spel toevoegen
- rivaliserende modellen toevoegen
Resultaat van de les: introductie tot de timer en nieuwe elementen van de natuurkunde
Praktische taak: het toevoegen van nieuwe soorten tegenstanders
Dag drie - Gedrag van tegenstanders en finish
- programmeren van de beweging van tegenstanders
- introductie tot het PathFollow-knooppunt
- Programmering voltooien
- het creëren van een gebruikersinterface voor het weergeven van resultaten
Resultaat van de les: nieuwe knooppunten en commando's leren kennen
Praktische taak: het uiterlijk van het spel verbeteren
Dag vier - Het racespel verbeteren
- het toevoegen van een menu met machineselectie
- Programmeren van machinekarakteristieken
- een startmenu toevoegen
- verbeterde gebruikersinterface
Resultaat van de les: nieuwe elementen aan het spel toevoegen, het spel verbeteren
Praktische taak: het verbeteren van het spelontwerp
Module 7
Dag één - Terugkeren naar 2D en een roguelike RPG creëren
- voorbereiding van karakterniveaus
- introductie tot 2D-animatie
- het concept van “animatieboom” bestuderen
- Programmeren van karakterbewegingen
Resultaat van de les: voorbereiding op de creatie van het spel “Roguelike RPG”
Praktische taak: nieuwe texturen aan het spel toevoegen
Dag twee - Kennismaken met Tilesets
- inleiding tot het concept van procedurele generatie
- nieuwe objecten toevoegen
- studie van het YSort-knooppunt en rangschikking in lagen
Resultaat van de les: nieuwe knooppunten leren kennen
Praktische taak: het verbeteren van de generator en het toevoegen van nieuwe elementen daar
Dag drie - Procedurele generatie
- granaten en werpbare items toevoegen
- soundtrack van het spel
- deeltjes toevoegen om de visuele component te verbeteren
Resultaat van de les: nieuwe verzamelelementen aan het spel toevoegen, geluiden programmeren
Praktische taak: het uiterlijk van het spel verbeteren
Dag vier - Kisten en verzamelobjecten toevoegen
- kisten toevoegen
- het creëren van een gebruikersinterface
- artikelen toevoegen
- schrijven van scripts voor artikelen
Resultaat van de les: het verbeteren van het spelontwerp, het introduceren van nieuwe teams
Praktische taak: nieuwe artikelen toevoegen
Module 8
Dag één - Vijanden en levenssysteem toevoegen
- vijanden maken en hun bewegingen programmeren
- creatie van programma's voor het veroorzaken en ontvangen van schade
- het concept van Hitbox en Hurtbox leren
- toevoegen en programmeren van een gebruikersinterface voor het weergeven van levens
Resultaat van de les: het toevoegen van een levenssysteem en UI-elementen aan het spel
Praktische taak: het verbeteren van de kenmerken van vijanden, het toevoegen van nieuwe soorten vijanden
Dag twee - Nieuwe locaties
- creatie van nieuwe scènes
- programmeren van de overgang tussen niveaus
- ontwerp van nieuwe niveaus
- verbeterde procedurele generatie
Resultaat van de les: nieuwe niveaus in het spel creëren
Praktische taak: nieuwe niveaus aan het spel toevoegen
Dag drie - Quests
- introductie tot het concept van speurtochten
- zoektochtprogrammering
- gebruik van voorwaarden en signalen om speurtochten uit te voeren
Resultaat van de les: speurtochten aan het spel toevoegen, nieuwe programmeercommando's leren
Praktische taak: voeg een nieuwe zoektocht toe
Dag vier - Het spel exporteren en uploaden naar hosting
- introductie tot hosting
- registratie en website maken
- exporteer het spel naar het gewenste formaat
- het spel uploaden naar de site
Resultaat van de les: het spel publiceren in het publieke domein
Praktische taak: maak alle spellen die tijdens de cursus zijn gemaakt openbaar beschikbaar