Skip to content
UdemyGame Development FundamentalsPaid courseAll LevelsCertificate

Flame & Flutter with Dart : Build your First 2D Mobile Game (Udemy.com)

Game Development from ground up. Learn to design and code a 2D Mobile Game, using full Architectural approach with UML

Created by: Piotr Paweska

Last updated August 2023

icon
What you will learn

  • Use Flutter and Dart to write a complete 2D Game on top of the Flame Engine. No prior experience necessary.
  • Create from scratch, a game based on the famous retro-game from ATARI: Asteroids.
  • Learn collision detection, particle physics, frame independent motion, parallax, sound design, and other advanced topics in game development.
  • Master design and coding fundamentals that apply to all 2D Game engines.
  • Think like a Software Architect. Go through the complete process of designing, architecting, and coding the game.
  • Learn how to write once and deploy to iOS, Android, and the Web from a single codebase.
  • Develop a solid foundation for game design and game creation that will empower you to build your own games.
  • Learn how to use Object Oriented Programming practically and effectively using Design Patterns

How it compares

Against the other 281 rated Udemy courses in Game Development Fundamentals on CourseDuck:

  • Rating4.8 out of 5higher than 88% of them
  • Reviews257#125 of 282 by number of reviews
  • Length11.2 hourslonger than 64% of them
  • Last updatedAugust 2023earlier than 60% of them

icon
Course Description

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 Engine

The 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 Framework

You 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 Format

This 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:


  1. Game Loop

  2. Component Rendering

  3. Spritesheet Animation

  4. Game Mechanics

  5. Inter-Component Communication and Messaging

  6. Component Interoperability and Composability

  7. Collision Detection

  8. Particle Physics

  9. Math for Game developers such as:

    1. Vector Math

    2. Velocity Control

    3. Rotational Control

    4. Collision Detection

    5. Boundary Detection

  10. Game Parallax For Creating Complex Background Motion

  11. Sound Design  - For Adding Sounds, Sound Effects, and Music to Your Game.

  12. All The needed API will be explored as well.



Focus on Fundamentals

We will spend the first 3 hours focusing on fundamentals with sample code and architectural examples.



Architectural Approach

Our 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 Studies

Part 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 develop

We 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 game

This is a perfect game to learn a 2D game engine for the following reasons:


  1. It has great Game Mechanics such as:

    1. Spaceship Control

    2. Spaceship Explosion

    3. Tracking of Score and Player's Lives

    4. Firing of Bullets

    5. Asteroid Motion/Rotation and Splitting up

    6. Occasional UFO Bonus Showing up

    7. Deterministic Game Level Generation from a JSON File

  2. This will lead us to fully explore and understand:

    1. Joystick Control

    2. Game Loop Update And Render

    3. Timer Component Callbacks

    4. Vector Math

    5. Collision Detection

    6. Particle Physics

    7. Refresh-Rate Independent Rendering

    8. Sounds Design and Game Music

    9. Parallax Effects for Background

This game is also great to be played on both a phone as well as a tablet device.



Assumptions

We 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 Perfect

For 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 PDF materials as well.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Piotr Paweska

"Coding lends you the ability to create your own universe."

I am a Software Architect, Game Developer, Media Enthusiast and an occasional musician and videographer.

I love Competitive coding and competitve development which I did with TopCoder.
I am passionate about 2D game development, especially for mobile devices.

Most of my work in the industry involved being a full-stack developer. I did work for companies such as Facebook, Google, Microsoft, and WWF.

icon
More courses by Piotr Paweska

$74.99

icon
More Game Development Fundamentals courses

$94.99

$19.99

$89.99

$59.99

$13.99

$94.99

icon
Reviews

4.8

257 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Adam Schlichter on 7/19/2024

This was definitely one of the best courses I have taken here on Udemy. The instructor is a deeply experienced guy who shares his very useful knowledge in an engaging way. Thank You, Piotr Paweska!

By KSnam Ace on 12/4/2023

After purchasing this course yesterday, I'm close to completing the lessons. The course impressed me, deepening my understanding of game development. The clear teaching and responsive instructor instilled confidence. Code writing and instruction are comprehensive. Inspired, I'm eager to start my own game project for the Play Store.

By Dadilton Melo on 9/23/2023

Ele explica com todos os detalhes os conceitos das ferramentas e como trabalhar com elas

By John Lentz on 4/1/2023

This course does a great job of showing how to design and develop a game. I really like the structured approach presented and how they emphasize a logical and clear process.

By Aykut Erdoğdu on 3/13/2023

Şimdilik konusuna hakim bir eğitmen tarafından verilen ayrıntılı bir kursa benziyor fakat henüz örneklere geçmediği için bu yönünü eksik buldum. İlerleyen zamanda neler olacak görelim.

By Tin Ho Chan on 3/6/2023

I have taken few courses in Udemy and it is important to me that the instructor can explain the course content in a clear and in an organized way with well-spoken English. This course has exceeded these expectations and I enjoyed all the lectures followed by the very detailed sample code. This course has the right mixture of teaching you the theory and then doing the hands-on exercises. On the other hand, you must have hands-on experience in Dart and Flutter with OOP in mind, otherwise you may have difficulties in understanding the "why" behind. If you want to learn Flame no matter in what version it is now, this is the course that I can fully recommend.

By Elizabeth Klopocka on 2/8/2023

So far I am really happy with this course, it is very helpful, well organized, and with clear explanations. As I am going deeper into the course I do appreciate the careful explanations and the extra documents provided.

By Shuky Badeer on 1/31/2023

I only finished the first section but I'm already in love with this course. I'm an experienced Flutter developer and I'm only here to get into Flame. I don't know who the instructor is but he sure knows what he's doing! There are just a few instructors on Udemy at this level! P.S - I released a large flutter app to Android/IOS in the past so my opinion might be biased. If you have 0 flutter experience I recommend making something as small as a weather app (should take up to 2 weeks) on your own to get familiarized with flutter then come back to this course. P.S2 - This is the first time I add a comment on Udemy, normally I wouldn't bother wasting my time but this course is the best investment I've ever made I can already feel that.

By Shamira Tranqui on 10/15/2022

I really enjoyed this course. It was so interesting to see design patterns applied to game development. I love how the instructor explains everything carefully with examples and code snippets. The exercises are challenging and worth trying. Explanations are very helpful. The particle physics unit was a highlight for me—the effects were so cool, and I found myself replaying the examples just to admire the results! The UML diagrams were another great touch, as they gave me a much better understanding of the development process and how the various components fit together. I would highly recommend this course if like me you have never coded a mobile game before. Would love to see a follow up with some more advanced game development. The architectural approach in this course has really helped me with my other project.

By Todd Jones on 10/11/2022

Thank you Piotr! This course was just what I was looking for. The depth and breadth of information conveyed was beyond my expectations. The presentation layout, examples and course files were all professionally done. In addition the pace at which the content was presented made it easier to absorb the information and follow along. Thanks again Piotr, hope there's more to come!

Showing all 10 reviews on CourseDuck

Read all 257 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 96 / 100