Mô tả

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.

Bạn sẽ học được gì

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

Yêu cầu

  • We assume that you have some coding experience with an Object Oriented language such as Java, C++, C#, Swift, or TypeScript.
  • Some knowledge of Flutter/Dart is helpful but not strictly required. We will teach you everything you need to know.
  • Access to a computer. A Mac, Windows, or a Linux based operating system is equally fine. All the tools are OS Independent.
  • You should have access to a mobile device but this is not strictly necessary as we will develop our code on an emulator/simulator first.

Nội dung khoá học

13 sections

Introduction

5 lectures
What is the Flame Engine?
01:32
What The Course Covers
02:29
Concept vs. Code
06:04
Quick overview of Visual Studio IDE
01:53
Introduction Quiz
2 questions

Setup

5 lectures
Setting Up Your Environment
01:56
Windows Setup
04:39
macOS Setup
03:24
Linux Setup
03:51
Testing Your Flutter Environment with Visual Studio
05:35

2D Game Basics with Flame Game Engine

8 lectures
The Game Loop - Flame Engine's Secret Weapon
01:26
Game Instantiation - How does Flutter Run Flame Games?
01:35
Game Execution - How does Flutter execute and run Flame Games?
01:50
Generating Our First Flame Project
01:30
Running Our First Minimalist Game-Loop Code
06:04
Adding Explicit Game-Loop Code Hook Methods
12:31
What are "Game Components" In the Flame Engine?
03:25
2D Game Basics Quiz
4 questions

Learning About Flame Game Engine - Case Studies

2 lectures
Case-Studies: Introduction
01:04
How to Run The Provided Lecture Source Code
06:36

Case Study #1 - Flame Engine Essentials

16 lectures
Case Study #1 - Introduction
01:18
Position Component
03:31
"Squares" Code Demo
01:41
"Squares" - Architectural UML Diagram
04:09
Coding "Squares"
18:58
Importance of Vectors in Game Development: Velocity, Rotation. and Anchor points
17:45
Flame Engine Essentials Quiz #1
5 questions
Adding Vector Dynamics to "Squares" code
11:36
The concept of Component Composability
09:27
Architecting Composability: UML Diagram for Adding a Health Bar to "Squares"
03:14
Composability: Coding a Health Bar for Game characters
07:56
Flame Engine Essentials Quiz #2
3 questions
Case Study #1 - Exercises
05:03
Case Study #1 - Solution to Exercise #1
03:09
Case Study #1 - Solution to Exercises #2 and #3
06:28
Case Study #1 - Solution to Exercise #4
11:52

Case Study #2 - Joystick Component

9 lectures
The anatomy of the Flame Joystick Component
03:17
Joystick Component - Architectural UML Diagram
04:49
Coding the Joystick Experience
15:07
Shooting Bullets - The Issue of Angle of Rotation
02:33
Shooting Bullets - UML Diagram
01:27
Shooting Bullets - Coding the Solution for correct Bullets angle
08:47
Joystick Component Quiz
2 questions
Case Study #2 - Exercises
01:02
Case Study #2 - Solution to Exercises #1 and #2
02:59

Case Study #3 - Sound in Games

5 lectures
Using Sound in flame Engine
06:34
Coding Sound Fxs and Music
11:44
Sound in Games Quiz
2 questions
Case Study #3 - Exercises
01:17
Case Study #3 - Solution to Exercises #1 and #2
04:36

Case Study #4 - Collision Detection

9 lectures
Collsion Detection in games
10:23
Collision Detection Quiz #1
3 questions
Screen Boundary Detection and HitBox Rendering
03:05
Collision Detection - UML Diagram
06:21
Coding Collision Detection
17:44
Collision Detection Quiz #2
1 question
Case Study #4 - Exercises
01:33
Case Study #4 - Exercise Solutions - Solution to Exercise #1
06:11
Case Study #4 - Exercise Solutions - Solution to Exercise #2
08:45

Case Study #5 - Using Timers in Games

8 lectures
What are Timers and how do we utilize them?
08:50
Its time for Timers Quiz #1
2 questions
Coding with Timer Utility Classes
07:20
Coding with Timer Components
08:15
Its time for Timers Quiz #2
2 questions
Case Study #5 - Exercises
01:45
Case Study #5 - Exercise Solutions - Solution to Exercise #1
04:05
Case Study #5 - Exercise Solutions - Solution to Exercise #2
14:00

Case Study #6 - Parallax

7 lectures
What is Parralax?
08:57
Coding Parallax
08:48
Coding more Parallax
03:39
Parral Quiz
3 questions
Case Study #6 - Exercises
00:59
Case Study #6 - Exercise Solutions - Solution to Exercises #1 and #2
05:35
Case Study #6 - Exercise Solutions - Solution to Exercise #3
07:45

Case Study #7- Particle System

21 lectures
Introduction to Particle System in Flame
12:41
Particle Systems Quiz #1
3 questions
Creating Simple Particle Simulations
06:39
Particle Systems Quiz #2
2 questions
Coding a Particle Stream Simulation
08:34
Designing an "explosion" Particle Simulation
07:15
Coding a Particle Explosion Simulation
09:12
Designing A "fireworks" Particle Simulation
12:25
Coding a "fireworks" Particle Simulation
10:15
Particle Systems Quiz #2
2 questions
Working with SpriteSheet "explosion" Particle Simulation
08:32
Case Study #7 - Exercises
01:22
Case Study #7 - Solution to Exercise #1
10:01
Case Study #7 - Solution to Exercise #2 - Segment #1
03:24
Case Study #7 - Solution to Exercise #2 - Segment #2
09:39
Case Study #7 - Solution to Exercise #2 - Segment #3
09:57
Case Study #7 - Solution to Exercise #2 - Segment #4
10:36
Case Study #7 - Solution to Exercise #2 - Segment #5
06:35
Case Study #7 - Solution to Exercise #2 - Segment #6
06:30
Case Study #7 - Solution to Exercise #2 - Segment #7
08:47
Case Study #7 - Solution to Exercise #2 - Segment #8
21:17

Case Study # - Architecting and Coding the Asteroids Game

11 lectures
Introduction To Our Approach
08:42
Top Level Architecture for Our Game
13:29
Design Patterns We Use - Factory Method Pattern
13:11
Design Patterns We Use - Command Pattern
18:46
Putting It All Together - Architectually Speaking
05:10
Using JSON and Serialization in Our Architecture
12:53
Generating Levels for Our Game Part #1
10:23
Generating Levels for Our Game Part #2
11:58
Putting It all Together: Architecture to Code Part #1
14:15
Putting It all Together: Architecture to Code Part #2
17:34
Deploying Your Game to a Mobile Device
05:25

Where Do You Go From Here?

1 lectures
Final Thoughts
02:03

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.