GameDev Boot Camp to be a professional game programmer
What you'll learn
- Fundamentals of software development to become a member of professional team of developers
- Universal architectural patterns used as the foundation of computer engineering in any professional software project
- Workflow used from the concept definition up to the full implementation of software features
- Advanced programming techniques, multiplayer programming, VR programming, mobile programming, Unity DOTS programming
- Basic knowledge about arithmetic and trigonometry concepts and basics concepts about programming
This course is targeted for the people who want to be a part of a professional team of developers. Like students that are
considering to study computer engineering and want a boost to know the basics of professional software development.
The reason why this course is called 1 to 7 is because:
In the case of 1, I've used it instead of 0 because in order to start this course you would need to know some basic arithmetic and trigonometry concepts that are learnt in high school. Also it's recommended, not required, that you have done some basic tutorials about the most basic programming concepts like variables.
On the other side, I've used 7 because, in the scale from 0 to 10, seven could be considered the necessary knowledge in order to be a junior software programmer that could consider to apply to software development entry level job.
The knowledge learnt in this course could be classified in 4 areas:
Team workflow: You will learn about the software development team workflow and how you can work synchronized with your colleagues.
Architecture: High level concepts not connected with any tool or programming language that software programmers use as a foundation to work together.
Tools: The framework or game development tool that we are using to apply the previous architectural concepts.
Basic programming syntax: The syntax of a programming language.
The lessons this course are:
Lesson 0: Introduction and first unity project.
Lesson 1: Basic programming concepts: public/private variables, methods, bucles
Lesson 2: Methods, Functions and Class Player
Lesson 3: Expanding Class Player: Members and Methods
Lesson 4: Inheritance
Lesson 5: Inheritance Gaming
Lesson 6: Design Pattern: The finite state machine.
Lesson 7: GameController Script.
Lesson 8: Design Pattern: Singleton pattern.
Lesson 9: Design Pattern: Component pattern.
Lesson 10: Design Pattern: Observer pattern.
Lesson 11: Unity: Prefabs and animations
Lesson 12: CameraController, 3rd person camera
Lesson 13: Version Control System.
Lesson 14: Pathfinding
Lesson 15: Design Pattern: The Command pattern.
Lesson 16: SOLID principles
Lesson 17: Design Pattern: Model View Controller and ScriptableObjects
Lesson 18: Multiplayer Development: Photon.
Lesson 19: Virtual Reality Development.
Lesson 20: Mobile development.
Lesson 21: Namespaces and libraries.
Lesson 22: Unity DOTS, ECS.
Lesson 23: Team Workflow.
The way this course works is like this:
I will introduce a concept and then I will ask you to do progress related to that concept. Every time you see "Motivational Shia" is the moment you will be asked to work on that concept.
Since I won't be next to you to solve all your doubts I've recorded all the coding process of the tasks I ask you to do. You can change the video speed in order to go through all the typing that I've done, but all these exercises are meant to be done by you, so you should have all the necessary knowledge up to that point.
There will be always links to the source code always at the start and end of each lesson, so you will always have the code available to compare it with your progress.
Finally thank you for your interest in this course and I hope it helps you to be a good member of a professional team of developers.
Who this course is for:
- Students or people who want to be a part of a professional team of developers and learn how they can work synchronized with the other team members
Game Developer who has developed games through 3 different seasons:
-The J2ME season (2004-2008) where I learnt how to optimize to low-end devices.
-The Flash season (2007-2013) where I learnt how creative you could be.
-The Unity season (2011-Now) where I learnt that developing games is a never ending process of learning and sharing.