Have you ever dreamed of creating your own mobile game? Have you ever wanted to code your own mobile game? If the answer is YES, then THIS course is for you. You can learn to code a 2D mobile game from the ground up. Welcome to the Flame Engine 2D Game Crash Course where you will learn how to design and code a full mobile game in less than 6 hours. There are so many game enthusiasts who would love to learn how to write mobile games, but do not necessarily have the time to dedicate to it. Many Game Engines have a steep learning curve, so creating a full mobile game would take considerable time and effort. We have created this course for all the coders who want to get into creating their own mobile game using a 2D Game Engine, and more importantly, we have created this course to take you from 0 to hero in less than 6 hours. We have provided core 6 hours of lectures but, we also provided more than 5 extra hours of Bonus Material including Coding Exercises and extra eplainers. Why Flame EngineThe Flame Engine is a minimalist 2D game engine that runs on top of the Flutter framework. So it is light-weight with a small footprint. This is perfect for mobile games. Advantages of The Flutter FrameworkYou work with one code base but get multiple platform deployment. Basically write once, and deploy to both iOS and Android. This is a huge advantage as it saves you time and effort. And this is great for mobile games since we do not rely on the specific OS GUI as we basically take over the screen and create our own GUI from scratch. Crash Course FormatThis is a crash course. So we remove all the fluff from the usual approach and we focus and zone in, with laser precision, on the fundamentals that apply to all 2D engines. We explain the necessary fundamentals such as: Game LoopComponent RenderingSpritesheet AnimationGame MechanicsInter-Component Communication and MessagingComponent Interoperability and ComposabilityCollision DetectionParticle PhysicsMath for Game developers such as: Vector MathVelocity ControlRotational ControlCollision DetectionBoundary DetectionGame Parallax For Creating Complex Background MotionSound Design - For Adding Sounds, Sound Effects, and Music to Your Game. All The needed API will be explored as well. Focus on FundamentalsWe will spend the first 3 hours focusing on fundamentals with sample code and architectural examples. Architectural ApproachOur approach to teaching the material is a bit different from most courses. We take the architectural approach. This means that we will also teach you some Software Engineering while we are teaching you about the Flame Engine. We will use UML diagrams to show you the context of what we are doing. All of this is to give you a better perspective of how everything fits together. In other words we will not only work with code. The main objective here is to teach you to think like a Software Architect. We do not want you to just code this game. We want you to go through the process of designing and architecting it in a professional manner. Using Case StudiesPart of how we teach you in this course revolves around practical case studies. Each case study shows you a full solution to a given element of 2D game coding such as for example Joystick control or collision detection. The Game we will developWe will develop, from scratch, using our architectural approach, a game based on the famous retro-game from ATARI: Asteroids. This is a perfect game for learning all the fundamentals. Why this particular gameThis is a perfect game to learn a 2D game engine for the following reasons: It has great Game Mechanics such as: Spaceship ControlSpaceship ExplosionTracking of Score and Player’s LivesFiring of BulletsAsteroid Motion/Rotation and Splitting upOccasional UFOBonus Showing upDeterministic Game Level Generation from a JSONFileThis will lead us to fully explore and understand: Joystick ControlGame Loop Update And RenderTimer Component CallbacksVector MathCollision DetectionParticle PhysicsRefresh-Rate Independent RenderingSounds Design and Game MusicParallax Effects for BackgroundThis game is also great to be played on both a phone as well as a tablet device. AssumptionsWe assume that you have some coding experience and we also assume that you know Flutter/Dart and have worked with it. But in case you have not worked with Flutter do not fret! The course is designed to help you with the setup and a solid understanding of the language elements because of the architectural approach. So in reality all you need is experience with any Object Oriented language such as Java, Swift, C#, C++, or TypeScript and you will be fine! Practice Makes PerfectFor each Case Study we have provided you with a number of Coding Exercises. We also provide Solution Videos to explain the solution itself, along with code and some PDFmaterials as well.