Development of 2D and 3D games in Python - course 48,000 rub. from Coddy School of Programming for Children, training 8 modules (months)
Miscellaneous / / November 28, 2023
Until recently, the development of computer games was considered an exclusively professional field of activity for a small circle of companies, but with the development of modern technologies everything has changed dramatically! Game development is more accessible than ever. Now everyone, including children, can create their own game!
Nowadays, almost every child is passionate about computer games and spends their free time on them, and some children dream of creating their own masterpieces. Thanks to the study of such a promising area as game development, a small programmer will no longer be waste time - he will learn to develop, program and create his own game universes!
If your children are interested in computer games or information technology, enroll them in the 2D-3D Game Development in Python course, where they will learn to program by creating their own games.
Purpose of the course: get acquainted with the Godot program and learn programming in the Gdscript language.
Course content:
- Introduction to Godot and interface basics
- Creating a 2D Platformer Game
- Coins and UI
- Enemies and portals
- Bullets and lives
- Potions and powerups
- Items and inventory
- NPCs and dialogues
- Introducing 3D
- Physics in Godot
- Terrain. Landscape formation
- NPCs and enemies in 3D
- Crafting weapons and bullets
- UI in 3D games
- Adding sound design to the game
- Visual design and working with light
- Preparing to create a horror film
- Creation of horror
- Refinement of horror
- Improved Horror
- Preparing to create a Racing game
- Physics and UI in racing
- Conduct of opponents and finish
- Improved racing game
- Returning to 2D and Creating a Roguelike RPG
- Introduction to Tilesets
- Procedural generation
- Adding chests and collectibles
- Adding enemies and lives system
- New locations
- Quests
- Exporting the game and uploading it to hosting
Course objectives:
- Get to know Godot.
- Learn programming in Gdscript.
- Give a complete and comprehensive understanding of how the game works and how it is structured internally.
- To take children from an interest in simply playing computer games to a desire to create them and develop in the future in the IT field.
About the course:
During the training process, the guys work with Godot Engine, a professional game engine with a unified interface for creating both 2D and 3D games, which supports most programming languages thanks to its openness.
This engine comes with a programming language called GDScript, which is based on Python. Many developers who start with Godot have been pleasantly surprised by how quickly they pick up the language. That is why our course is suitable for both beginners and students familiar with the basics of programming.
We'll explore the features and capabilities of the Godot engine, learn how to develop games using its GDScript programming language, gain teamwork skills, create our own worlds, and much more.
Training begins with studying the program and ends with the publication of your own projects. This way, kids will not only learn how to create 2D and 3D games, but will also be able to share them.
During the learning process, the children's creative thinking develops, which helps generate many ideas for plots for their works, create unique worlds and develop an exciting setting.
Since the programming language studied in the course is based on Python, the student will become familiar with its syntax and it will be easier for him to program in this language in the future.
At the end of the course, the student will have a portfolio of projects created throughout the course.
Benefits of Godot Engine
- Godot is completely free, unlike Unity which has limitations in the free version. Godot is open source under the very liberal MIT license. No strings attached, no fees, nothing. Your game is yours down to the last line of engine code.
- Cross-platform editing and publishing. Godot has a corresponding version of the editor for each operating system: Windows, Mac and Linux.
- Godot's animation system is one of the most powerful and easy to use systems.
- Number of languages. Unlike Unity, which only uses C#, Godot allows you to write games in the Python-based GDScript programming language, as well as C++, D, Rust, and C#.
- Intuitive node system. Godot has a visual scripting system using blocks that can be connected, making it accessible to beginners. You can simply drag and drop any information using nodes and scenes.
- Godot is one of the simplest game engines to write code.
Before starting to work in Unity, we recommend getting acquainted with Godot Engine, as it is easier for guys who do not have any knowledge and skills in game development, in terms of interface and individual mechanics. GDScript is designed specifically for writing short and simple scripts for games on the Godot engine. By programming on it, it will be much easier for the student to understand the logic of object-oriented programming and start working with other game engines and learning more complex languages programming.
As part of the course, your child:
- learn the professional programming language GDScript;
- learn to work in the Godot game engine;
- will gain skills in developing 2D and 3D games;
- will create several of his own game projects;
- Learn to understand fundamental programming concepts and rules.
What do you need for classes?
- To complete the course, your child will need a computer/laptop with programs installed on it.
If classes are online:
- Internet access (check the stability of the Internet connection, from 20 Mbit/sec).
- Headphones, as well as additional equipment for better sound quality: microphone or headset.
10
coursesCourse teacher:
“Unity 3D”, “JavaScript Programming”, “Game Programming in Python”, “Site Design”, “Web Programming”, “Bots in Python”, “Programming in Python3”, “Creating games in Scratch”, “Video game developer: creating 2D games of different genres”, “Developing 2D and 3D games in Python"
Education:
Bryansk State University named after a.c. I.G. Petrovsky, Faculty of Physics and Mathematics, direction “Network Technologies”.
Experience:
Project manager, program director at Coddy. Has been programming for more than 5 years in various languages C#, Java, Python, JavaScript. Created web applications of varying complexity. Developed games in Unity3D, Construct and applications in AndroidStudio.
Why CODDY?
“Excellent reviews, good salary, great prospects!”
Interests:
Loves to travel. In his free time he plays volleyball. Hobbies include cooking, origami, and cycling. “Typically, the simplest approach is the most effective.”
Module 1
Day One - Introduction to Godot and Interface Basics
- studying the main properties and features of Godot
- learning the Godot interface
- introduction to the Nod system
- adding pictures to the project
- creating objects in Godot
Result of the lesson: Getting to know Godot
Practical task: add new objects to the level
Day Two - Creating a 2D Platformer Game
- learning the basics of programming in Godot
- creation of the first scripts
- adding the “CollisionShape” node
- creating the basis of the “Platformer” game
Result of the lesson: learning the basics of programming in GDScript
Practical task: come up with and implement a level concept
Day three - Coins and UI
- familiarity with variables and conditions
- creating a coin script
- study of the Area2d node and related events
- familiarization with the user interface and creating Text elements
- learning commands to interact with the UI
Result of the lesson: learning how to work with new components and adding a user interface
Practical task: Adding a new item to collect
Day Four - Enemies and Portals
- learning how to work with wood and the change_scene command
- creating scripts for enemy movement and attack
- introduction to the concept of prefab
- creation of new levels
Result of the lesson: learning how scenes work in Godot and creating new levels
Practical task: adding new levels and prefabs to the game
Module 2
Day one - Bullets and lives
- in-depth study of the operation of variables
- adding new elements to the UI
- creating scripts to display values in the UI
- introduction to instance and creating objects through code
Result of the lesson: adding new UI elements to the game
Practical task: create items that increase the number of lives and bullets
Day two - Potions and powerups
- studying how scripts interact with each other
- creation of potions and powerups in the game
- introduction to Timer and wait commands
Result of the lesson: adding powerups to the game and working with new teams
Practical task: add a new type of potion to the game
Day three - Items and equipment
- introduction to creating arrays
- adding items to the game
- introduction to grid elements, texture button
- studying button press events
Result of the lesson: creating an interface, learning how new UI elements work
Practical task: add new items to collect
Day four - NPCs and dialogues
- installing extensions in godot
- introduction to dictionaries
- creation of non-player characters
- creation of an in-game store
Result of the lesson: adding non-player characters to the game and learning how the “dictionary” structure works
Practical task: adding new dialogues and NPCs to the game
Module 3
Day One - Introducing 3D
- familiarization with controls in 3D space
- creating primitive objects in godot
- downloading and importing models
- learning coordinates in Godot
- creation of materials
Result of the lesson: introduction to creating 3D elements, adding 3D models
Practical task: add and import new models into the game
Day Two - Physics in Godot
- study of StaticBody and KinematicBody nodes
- creating a character movement script
- creation and design of the game “Parkour”
Result of the lesson: creation of the game "Parkour"
Practical task: improve the appearance of the game, add new game elements
Day three - Terrain. Landscape formation
- installing plugins in Godot
- familiarization with the capabilities of the Terrain Editor
- creation of a 3D world map
- adding a character
Result of the lesson: creating a landscape in the game, getting to know the possibilities of terraforming
Practical task: make the game world more alive
Day Four - NPCs and Enemies in 3D
- adding enemy models
- programming the movement of non-player characters
- introduction to enum and states
- learning scripts for pursuing and attacking a character
Result of the lesson: adding non-player characters and enemies to the game, introducing new commands in programming
Practical task: add new enemies with different characteristics
Module 4
Day One - Crafting Weapons and Bullets
- interaction with the Rigidbody node and creation of physical objects
- working with the Area node and its events
- programming weapon selection
- bullet firing programming
Result of the lesson: creating weapons and bullets in the game, getting to know new nodes
Practical task: add a new type of weapon
Day two - UI in 3D games
- adding a user interface to display the number of bullets
- adding collectable items and displaying their quantity on the screen
- creating a button to exit the game
- creating an initial menu
Result of the lesson: adding a user interface to the game
Practical task: improvement of UI appearance
Day three - Adding sound design to the game
- downloading and importing sound files
- introduction to Audio elements
- activation of sounds through a script
- synchronization of game and sounds
Lesson result: Add sounds to the game
Practical task: adding new sounds to the game
Day four - Visual design and working with light
- adding a particle system
- work with light nodes
- acquaintance with the properties of light
- applying shadows and working with light through a script
Result of the lesson: introduction to the particle system and new commands
Practical task: improving the appearance of the game
Module 5
Day one - Preparing to create a horror film
- adding models
- working with the camera
- interaction of elements and buttons in the UI
- switch between cameras
Result of the lesson: creating the basis of a horror game
Practical task: downloading and adding new models to the game
Day two - Creating horror
- adding enemies
- animation of objects
- introduction to states, animations and keys
- scripts for interacting with animations
Result of the lesson: improvement of the Horror game, introduction to animations
Practical task: adding new types of enemies to the game
Day three - Finalizing the horror
- creating an initial menu
- adding quests
- introduction to the concept of signal
- programming interactions between scripts through signals
Result of the lesson: introduction to the concept of signal and creation of the initial menu
Practical task: improving the appearance of the game
Day Four - Upgrading Horror
- adding traps
- creating a scene of loss and victory
- adding sound effects and visual effects
- adjust the light level
Result of the lesson: improving game design
Practical task: finalization of the project
Module 6
Day one - Preparing to create a Racing game
- adding car models
- creation of Terrain
- adding tracks and obstacles
- programming the movement of the machine
Result of the lesson: preparation for the creation of the game "Racing"
Practical task: downloading and adding new models to the game
Day two - Physics and UI in racing
- adding a timer
- improved car physics
- adding weather conditions to the game
- adding rival models
Result of the lesson: introduction to the timer and new elements of physics
Practical task: adding new types of opponents
Day three - Conduct of opponents and finish
- programming the movement of opponents
- introduction to the PathFollow node
- finish programming
- creating a UI for displaying results
Result of the lesson: getting to know new nodes and commands
Practical task: improving the appearance of the game
Day four - Improving the racing game
- adding a menu with machine selection
- programming machine characteristics
- adding a start menu
- improved user interface
Result of the lesson: adding new elements to the game, improving the game
Practical task: improving game design
Module 7
Day One - Returning to 2D and Creating a Roguelike RPG
- preparation of character levels
- introduction to 2D animation
- studying the concept of “animation tree”
- character movement programming
Result of the lesson: preparation for the creation of the game “Roguelike RPG”
Practical task: adding new textures to the game
Day two - Getting to know Tilesets
- introduction to the concept of procedural generation
- adding new objects
- study of the YSort node and arrangement by layers
Result of the lesson: getting to know new nodes
Practical task: improving the generator and adding new elements there
Day three - Procedural generation
- adding grenades and throwable items
- game soundtrack
- adding particles to improve the visual component
Result of the lesson: adding new collectible elements to the game, programming sounds
Practical task: improving the appearance of the game
Day Four - Adding Chests and Collectibles
- adding chests
- creating a user interface
- adding items
- writing scripts for items
Result of the lesson: improving game design, introducing new teams
Practical task: adding new items
Module 8
Day One - Adding Enemies and Lives System
- creating enemies and programming their movement
- creation of programs for causing and receiving damage
- learning the concept of Hitbox and Hurtbox
- adding and programming UI for displaying lives
Result of the lesson: adding a life system and UI elements to the game
Practical task: improving the characteristics of enemies, adding new types of enemies
Day two - New locations
- creation of new scenes
- programming the transition between levels
- design of new levels
- improved procedural generation
Result of the lesson: creating new levels in the game
Practical task: adding new levels to the game
Day three - Quests
- introduction to the concept of quests
- quest programming
- use of conditions and signals to implement quests
Result of the lesson: adding quests to the game, learning new commands in programming
Practical task: add a new quest
Day four - Exporting the game and uploading it to hosting
- introduction to hosting
- registration and website creation
- export the game to the desired format
- uploading the game to the site
Result of the lesson: publishing the game in the public domain
Practical task: make publicly available all the games created during the course