Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Piotr Paweska

Welcome to the Mobile Game Development Course in which we will Reverse Engineer, Architect, and Develop a mobile version of the famous Chrome Dinosaur Game uing the Flame Game Engine with Flutter and Dart.Why Develop Mobile Games?Mobile Games are by far the largest share of Game Application revenue in the world. More than 50% of all game application development comes from Mobile games.

Being able to code Mobile Games offers great potential in such a large market.

Why Flame Engine

Read more

Welcome to the Mobile Game Development Course in which we will Reverse Engineer, Architect, and Develop a mobile version of the famous Chrome Dinosaur Game uing the Flame Game Engine with Flutter and Dart.Why Develop Mobile Games?Mobile Games are by far the largest share of Game Application revenue in the world. More than 50% of all game application development comes from Mobile games.

Being able to code Mobile Games offers great potential in such a large market.

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.

Why Take this course?

In this course we will teach you how to go through the full game development cycle and you will learn how to develop a mobile game from scratch.

  1. We will start with the game idea

  2. We will then reverse engineer this idea into game requirements

    1. they will include the game elements

    2. and the game mechanics

  3. We will then consider the game aesthetics

  4. We will create a game architecture

  5. And then we will fully develop the game.

Assumptions

We assume that you know Flutter/Dart and have worked with it.We also assume that you have some knowledge of the Flame Engine. This could be either through an introductory course such as "Flame & Flutter with Dart : Build your First 2D Mobile Game" which is offered on Udemy or through some online tutorials.

Everything in this course will be explained in detail including the code so you do not have to be an expert.

What will you learn?

This course will teach you not just to code the game but it will teach you the full scope of the game development cycle.

The Chrome Dinosaur game is an example of a very popular game genre which is the Endless Runner Game and also known as Infinite Runner Game.

Developing any game from scratch is a great exercise that will not only make you a better game developer but it will also help you master the Flame Game Engine API so that you will be able to create your own games.

Reverse Engineering a Game is a very important skill for a game developer and we will look carefully at every detail of the game mechanics and the game elements for the Chrome Dino game, and we will map the mechanics and the elements into an architecture which we will then develop.

We will use efficient sprite animation as well as simple sound design. We will map out all the individual game elements and their mechanics and then we will combine them into more complex behavior. For example we will combine the mechanics of our Dino and the obstacles to include Collision Detection in the most efficient and architecturally sound manner.

Milestone approach

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 Animation or Collision Detection.

Each milestone will build on the previous one which is one of the most important skills in software development. We will build for ease of modification and ease of enhancement.

Enroll now

What's inside

Syllabus

In this section the student will be introduced to the course and will get to know what we will develop as well as what the prerequisites are for taking this course.
Read more

You will learn about what we will develop and why we will be developing it.
This course is all about becoming very proficient in game development and we introduce you here to what we will be developing.

Here we will go over some assumptions that we make about the knowledge expected from the student. This is an intermediate course so some knowledge of Flutter and Dart and the Flame Engine is expected.

We will also cover the approach to how we will break down the development process.

Being able to Reverse-Engineer game concepts into actual architecture and then code is crucial to being a great game developer.

This lecture explains why that is the case and why this is an important skill.

In this lecture we will discuss the game development cycle and how to approach game development in the most efficient manner.

A simple exercise for the student to get into the thick of things. Here we begin to document the game mechanics of the game we will be developing.

Solution to our first exercise.

We will discuss mapping out the game elements and their mechanics in this intro into a number of steps before we architect our solution.

Delving deeper into the Dino Jumping and Ducking details

Delving deeper into the game obstacle generation.

Delving deeper into the game parallax generation. We will especially see the synergy between clouds, stars, and moon phases for the background parallax.

Delving deeper into the speed logic of the game

Delving deeper into the logic behind the collision detection.

Delving deeper into the game scoring mechanism and how it ties into the speed of the game as well as time elapsed.

Delving a bit deeper into sound FXs in the game. The sound logic for the game is rather trivial in the dino game with only three sounds to be used.

Delving deeper into how the horizon is generated in the game and how it affects other elements in the game.

We will discuss the development strategy and how to prioritize our approach to design and development of the game.

Exercise for the student which will focus on documenting game elements.

NOTE:
The template document has been attached with this lecture.

Solution to Exercise #2 with a sample document.

NOTE:
The solution document has been attached with this lecture.

We will establish in the lecture what the most important code elements of the game are as a priority for development.

In this lecture we will abstract a high-level Modular Architecture of the full solution.

The student will be shown what to review and research in the Flame Engine for the game development

In this lecture we will break down what we will accomplish in Milestone #1
Basically we will cover the following:

  1. Creating the Shell of the Game so we can run it in the Flutter/Flame Environment

  2. Creation of the Game Manager class which will coordinate all other components in the game

  3. Creation of the initial TRex/Dino player with the ability to Jump

In this lecture we code all the elements shown below for Milestone #1
Basically we will cover the following:

  1. Creating the Shell of the Game so we can run it in the Flutter/Flame Environment

  2. Creation of the Game Manager class which will coordinate all other components in the game

  3. Creation of the initial TRex/Dino player with the ability to Jump

NOTE:  The source code for Milestone #1 is attached with this lecture as a zipped file of .dart files as well as assets and pubspec.yaml file.

In this lecture we will look at some more detail of the Player class, especially concentrating on how Sprite Animation and State Switching is achieved.

In this exercise the student will take the shell code that we developed in our coding section for Milestone #1 and will add some new functionality for the Dino:

  1. The ability to duck with all the animation

  2. The zoned-distinction for the tapping in the left half of the screen for ducking and the right half of screen for jumping.

This is a solution to Exercise #3

NOTE: The Source Code for the solution has been attached to thsi lecture so you can just look at that.
If you need an explanation then this video lecture explain a bit more about the approach and how it was developed.

In this lecture we will break down what we will accomplish in Milestone #2
Basically we will cover the following:

  1. The Horizon Manager which will add smooth infinite horizon-line animation with images from the Asset PNG

  2. We will also add the speed generation functionality to the Game Manager.

We will look at the code that we will use in the Horizon Animation as a strategy.
We will abstract out an algoirithm for cycling through horizon snippets to create our own revolving parallax effect.

In this lecture we code all the elements shown below for Milestone #2
Basically we will cover the following:

  1. The Horizon Manager with proper animation that speeds up with passage of time

  2. Speed generation in Game Manager

NOTE:  The source code for Milestone #2 is attached with this lecture as a zipped file of .dart files as well as assets and pubspec.yaml file.
This code builds upon Milestone #1 but does not include any of the exercise changes.

In this exercise the student will take the HorizonManager code that we developed in Milestone #2 and we will modify/add some new functionality:

  1. Explore the horizion generation algorithm to create a more randomized horizon generation

  2. Add a debug text om the screen to show how the speed is changing.

In this lecture we will break down what we will accomplish in Milestone #3
Basically we will cover the following:

  1. The Cloud Manager which will add variable (i.e. randomly generated) cloud Parallax Generation with images from the Asset PNG

  2. We will also create our own randomizer.

We will look at the main code elements that we will use in the Cloud Animation as a strategy.
We will abstract out an algorithm for randomizing and animating cloud images to create our own revolving parallax effect.

In this lecture we code all the elements shown below for Milestone #3
Basically we will cover the following:

  1. The Cloud Manager with proper randomization of the elements

  2. Ensuring that clouds do not overwhelm the animation

NOTE:  The source code for Milestone #3 is attached with this lecture as a zipped file of .dart files as well as assets and pubspec.yaml file.
This code builds upon Milestone #2 but does not include any of the exercise changes.
NOTE#2: I have also attached (separately) the longer version of the PNG asset file which contains the moon and the stars which the original PNG in the source code does not have. You will need to remap the location of some of the images to make the original code work.

In this exercise the student will take the CloudManager and Cloud code that we developed in our coding section for Milestone #3 and will modify/add/fix some new functionality:

  1. You will investigate what the absolutePosition variable is doing when computing the cloud location.

  2. You will also look at an issue with z-order for the clouds and other elements in the code.

  3. You will add a whole new StarManager and Star classes to add stars to the parallax of the game

In this lecture the student will see how we will keep track of the game score and how we will display it on the screen. We will also get some hints about the high score for the user which will be part of the section exercise.

In this code session we will add the score management (tracking and displaying) code to our game

NOTE: The source code for Milestone #4 is attached with this lecture as a zipped file of .dart files as well as assets and pubspec.yaml file.

This code builds upon Milestone #3 but does not include any of the exercise changes.

in this exercise you will add permament High score to the game

In this lecture we will introduce the concepts necessary for obstacle generation such as:

  1. Randomization of obstacle generation

  2. Grouping of obstacles to create more complex obstacles

  3. Calculating the gap between obstacles so that the game does not become impossible to play

  4. Controlling the timing of obstacle generation.

NOTE: we are not going to manage collision detection yet as this is an independent action that is not reliant on obstacle generation algorithm.

In this lecture we will look at the main points of the algorithm for Obstacle Generation.

  1. We will create first a pseudocode version of the code

  2. We will also abstract the main variables that will drive our algorithm.

In this code session we will add the obstacle generation to our code. This is an initial simplified version that we can later enhance.

NOTE: The source code for Milestone #5 is attached with this lecture as a zipped file of .dart files as well as assets and pubspec.yaml file.

This code builds upon Milestone #4 but does not include any of the exercise changes.

In preparation for collision detection we want to student to try adding collision detection themselves as well as thinking about how to end the game and allow the user to restart it.

In this lecture we will introduce the concepts needed to provide collision detection in our game:

  1. How do we add HitBoxes to the Player and Obstacle classes

  2. What needs to be done to wire the collision in the Flame Engine

  3. We will discuss what needs to be done to detect and process the collision.

NOTE: we are not going to yet manage the proper game termination. We will add this towards the end of this section.

In this code session we will add the collision detection to our code. This is an initial simplified version that we can later enhance with proper game over/restart logic

NOTE: The source code for Milestone #6 is attached with this lecture as a zipped file of .dart files as well as assets and pubspec.yaml file.

This code builds upon Milestone #5 but does not include any of the exercise changes.

In this exercise the student will make the hit-boxes (and thus the collision areas) more accurate by combining smaller hit-box areas. Additionally the student will document the architecture of the game so far with a high level UML diagram

In this section we will tie all the loose ends together:

  1. In this video we will primarily look at how to properly adding a Game Over Component as an overlay to our already existing game.

  2. We will look at the High Score solution directly in code (in the next lecture)

In this lecture we will code all the outstanding elements for the game:

  1. Game Over Management

  2. HIGH score display and persistence

NOTE: The source code for Milestone #7 is attached with this lecture as a zipped file of .dart files as well as assets and pubspec.yaml file.

This code builds upon Milestone #6 but does not include any of the exercise changes.

In this end-of-source project the student will accomplish the following:

  1. Add zone-tapping to allow the player to both jump and duck in the mobile version of the game

  2. Lower the horizon so that there is more real-estate to allow Dino to Jump higher.

  3. Improve Collision Detection with better hit-box definition.

  4. Add the animated pterodactyl sprite as a new obstacle

  5. Add two different heights to the Dino jumping based on the time-length of the tap

  6. Add more complexity to the cactus-generated obstacles.

  7. Add other background parallax elements such as

    1. Stars

    2. Moon phases

  8. EXTRA: Explore Adding sound to the game

Thank you for taking the course. Here are some final thoughts about what to do next in your journey to become a better game developer.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Focuses on reverse engineering game mechanics, which is a valuable skill for game developers to understand and implement in their own projects
Employs a milestone-based approach with practical case studies, which allows learners to build upon previous concepts and develop a strong foundation
Requires prior knowledge of Flutter/Dart and some familiarity with the Flame Engine, which may necessitate additional learning for some students
Uses the Flame Engine, a minimalist 2D game engine, which is well-suited for mobile games due to its lightweight nature and small footprint
Covers sprite animation and sound design, which are essential elements in creating engaging and immersive game experiences for mobile platforms
Involves developing a complete game from scratch, which provides hands-on experience and helps learners master the Flame Game Engine API for future projects

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Code a t-rex runner with flame

According to learners, this course offers a practical approach using the Flame game engine with Flutter/Dart to build a classic T-Rex endless runner game. Students appreciate the clear structure and the way the course breaks down the development process into manageable milestones. Many find the hands-on coding sessions and the provided source code particularly valuable for learning by doing. While the course assumes some prior knowledge of Flutter and Dart, students generally feel it provides a solid foundation for understanding 2D game development principles within the Flame framework. Some reviewers mention that certain sections could benefit from updates or deeper dives.
Requires prior Flutter/Dart/Flame knowledge.
"As mentioned, it assumes some prior knowledge of Flutter/Dart and Flame, so it's not for absolute beginners."
"You definitely need to be comfortable with Flutter and Dart before starting this course."
"I took an intro Flame course first, which helped a lot as this course moves quickly assuming familiarity with basics."
"The course assumes you've worked with Flutter/Dart and have some Flame experience, which is fair based on the description."
Provided source code is a key learning aid.
"Having the source code attached to each milestone was incredibly helpful for debugging and understanding."
"The code examples are clear and directly applicable to the project."
"I learned a lot by reviewing the provided code after watching the lectures."
"Good code examples make it easy to follow the implementation details."
Covers core 2D game dev principles.
"The course covers essential 2D game development concepts like collision detection, animation, and scoring."
"I gained a good understanding of how to structure a 2D game using Flame."
"The explanation of game mechanics and elements was a valuable part of the course."
"It provides a solid foundation for building other 2D games with Flame."
Well-organized into logical development steps.
"The course is well-structured, breaking down the game development into logical milestones was very effective."
"I appreciate the step-by-step approach, building the game piece by piece."
"The milestone approach makes it easy to follow along and see the progress."
"The organization of the course content is excellent, everything flows nicely."
Builds a complete, working game project.
"The hands-on coding and projects are the strongest part of the course for me, building the actual T-Rex game was great."
"Loved building the Chrome Dino game, it's a fun project that helps solidify the concepts."
"I found the project approach very helpful for learning how to apply the Flame engine to a real game."
"Building a complete game from scratch really showed me the full development cycle in action."
Some content may need updating.
"Some parts might need a little update due to changes in Flame or Flutter."
"I encountered a few minor issues that seemed related to dependency versions, but nothing major."
"It would be great if the course was updated to the very latest versions of the libraries."
"While the core concepts are sound, keeping the code perfectly aligned with latest releases can be a challenge."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Master Flame Game Engine: Code The T-Rex Endless Runner Game with these activities:
Review Flutter and Dart Fundamentals
Strengthen your understanding of Flutter and Dart basics to better grasp the game engine concepts.
Browse courses on Flutter
Show steps
  • Review Flutter documentation on widgets and layouts.
  • Practice Dart syntax and object-oriented principles.
  • Build a simple Flutter app to reinforce your knowledge.
Brush Up on Flame Engine Basics
Revisit the fundamentals of the Flame Engine to prepare for the course's advanced topics.
Show steps
  • Review the Flame Engine's official documentation.
  • Work through introductory Flame Engine tutorials.
  • Experiment with basic Flame Engine examples.
Review 'Flutter Apprentice'
Solidify your Flutter knowledge with a comprehensive guide to mobile app development.
Show steps
  • Read the chapters on widgets and layouts.
  • Complete the exercises on state management.
  • Study the sections on asynchronous programming.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Implement Basic Game Mechanics
Practice implementing core game mechanics like movement, jumping, and collision detection in Flame.
Show steps
  • Create a simple character controller with basic movement.
  • Implement jumping mechanics using sprite animation.
  • Set up basic collision detection between two objects.
Document Game Mechanics
Create detailed documentation of the game mechanics and elements of the Chrome Dino game to deepen understanding.
Show steps
  • Analyze the Chrome Dino game's mechanics and elements.
  • Document each mechanic and element in detail.
  • Create diagrams to illustrate the relationships between them.
Extend the Endless Runner
Expand the T-Rex runner game with new features and challenges to solidify your game development skills.
Show steps
  • Add new obstacles and enemies to the game.
  • Implement power-ups and special abilities for the player.
  • Design and integrate a scoring system and leaderboard.
Contribute to Flame Engine
Contribute to the Flame Engine open-source project to gain experience and improve the engine.
Show steps
  • Explore the Flame Engine's GitHub repository.
  • Identify bugs or areas for improvement.
  • Submit pull requests with bug fixes or new features.

Career center

Learners who complete Master Flame Game Engine: Code The T-Rex Endless Runner Game will develop knowledge and skills that may be useful to these careers:
Mobile Game Developer
A mobile game developer creates games specifically for mobile devices like smartphones and tablets, with responsibilities spanning from initial concept to final product. This role involves designing game mechanics, coding game logic, creating user interfaces, and optimizing performance for mobile platforms. The Master Flame Game Engine course may prove very useful to aspiring mobile game developers. One way to reverse-engineer game ideas is by learning how to architect and develop a mobile game from scratch. The course uses the Flame Engine with Flutter and Dart, all of which give direct mobile game development experience. By the end, one will learn how to develop within the full game development cycle.
Mobile App Developer
Mobile app developers are responsible for creating applications that run on smartphones, tablets, and other mobile devices. They possess expertise in programming languages such as Java, Swift, or Kotlin, as well as experience with mobile development frameworks. Mobile app developers work on all stages of the app development lifecycle, from initial design and coding to testing, deployment, and maintenance. This Master Flame Game Engine course may be very useful for aspiring mobile app developers. The course teaches mobile game development using the Flutter framework, which allows for cross-platform deployment. The course also teaches the student the full game development cycle.
Indie Game Developer
An independent game developer works independently or in a small team to create and publish their own video games. This role requires a broad range of skills, including game design, programming, art, and marketing. Indie game developers often have complete creative control over their projects, allowing them to experiment with new ideas and push the boundaries of game design. This Master Flame Game Engine course may prove valuable for those who aspire to be indie game developers. The course teaches the full game development cycle, which is one of the key skills to being an indie game developer. The course makes use of the Flame Engine, which is lightweight and perfect for mobile games.
Gameplay Engineer
A gameplay engineer specializes in implementing the interactive elements of a video game, such as player controls, character movement, and game mechanics. They work closely with game designers to translate design concepts into functional code, ensuring that the game is fun, engaging, and responsive. The Master Flame Game Engine course may be useful for aspiring gameplay engineers. The course teaches the student how to reverse-engineer game concepts into architecture and then code. Collision detection is taught, which may be useful for gameplay engineers to know.
Game Programmer
A game programmer is responsible for writing the code that brings a video game to life. This includes implementing game mechanics, artificial intelligence, user interfaces, and other interactive elements. Game programmers work closely with designers and artists to ensure that the game functions as intended and delivers a compelling player experience. This Master Flame Game Engine course may be helpful for aspiring game programmers. The course teaches how to go through the entire game development cycle, which could be useful to know. By learning to develop a mobile game from scratch, one may become a better game developer.
Flutter Developer
A Flutter developer uses Google's Flutter framework to build cross-platform applications for mobile, web, and desktop. They are proficient in Dart and skilled in creating visually appealing and performant user interfaces. Flutter developers work on all aspects of the application lifecycle, from design and development to testing and deployment. This Master Flame Game Engine course may be useful for aspiring Flutter developers. The course uses Flutter and Dart in conjunction with the Flame Engine. Through this course, a developer obtains practical experience in mobile game development using Flutter, which may prove very helpful when seeking a Flutter developer role. The course's design to teach the mobile game development cycle will further prepare one for the role.
Dart Developer
A Dart developer specializes in using the Dart programming language to build a variety of applications, including web, mobile, and server-side applications. Their responsibilities include writing clean, efficient, and maintainable code, as well as collaborating with other developers to design and implement complex systems. Dart developers are also involved in testing, debugging, and deploying applications. This Master Flame Game Engine course may be useful for aspiring Dart developers. The course involves Dart programming in the context of mobile game development. This course provides hands-on experience with Dart, utilizing it within the Flame Engine and Flutter framework, which may boost one's portfolio and skill set.
Game Designer
A game designer conceptualizes and designs the various elements of a video game, including its storyline, characters, gameplay mechanics, and user interface. They work closely with programmers and artists to ensure that the game is both fun and engaging. Game designers often create detailed design documents and prototypes to communicate their vision. This Master Flame Game Engine course may be helpful for aspiring game designers. The course teaches how to reverse engineer a game idea into game requirements, including game elements and mechanics. It also has learners consider the game's aesthetics and create a game architecture.
Application Developer
An application developer creates software applications for computers, mobile devices, and other platforms. They are involved in the entire development process, from designing and coding to testing and deployment. Application developers work with a variety of programming languages and frameworks to build applications that meet specific user needs. This Master Flame Game Engine course may be useful for aspiring application developers. The course uses the Flutter framework, which allows one to write code once and deploy to both iOS and android. The course gives good practice with application development since it teaches the full scope of the game development cycle.
Software Engineer
Software engineers design, develop, test, and maintain software applications. They apply principles and techniques of computer science, engineering, and mathematical analysis to create the software used in computers, mobile devices, and embedded systems. They work in various industries, including technology, finance, healthcare, and entertainment. This Master Flame Game Engine course may be useful for aspiring software engineers. The course gives practical experience with game development, which could be useful for a software engineer who wants to have a side project or create games for fun. The course will also teach how to reverse engineer game concepts into architecture and then code.
Software Developer
A software developer is a professional responsible for designing, coding, testing, and deploying software applications. They work collaboratively with designers, product managers, and other developers to create solutions that meet the needs of users or clients. Software developers write code in various programming languages, such as Java, Python, C++, or JavaScript, and use a variety of tools and frameworks to build and maintain software systems. The Master Flame Game Engine course may be helpful for aspiring developers. The course teaches students not just to code the game, but to also learn the full scope of the game development cycle. The student will also learn about modular architecture of the full solution.
Technical Artist
A technical artist bridges the gap between artists and programmers in game development, creating tools and workflows to streamline the art production pipeline. They possess both artistic and technical skills, allowing them to optimize assets, implement visual effects, and solve technical challenges related to art integration. A Master Flame Game Engine course may be helpful for aspiring technical artists. Throughout the course the student will make use of sprite animation as well as simple sound design. The course also shows students how each element of the game fits into complex behavior.
UX Designer
A User Experience designer researches, designs, and evaluates the user experience of a digital product, ensuring it is accessible, intuitive, and meets user needs. This role involves conducting user research, creating user flows and wireframes, and testing prototypes to identify areas for improvement. The Master Flame Game Engine course may be useful when seeking to become a User Experience designer within the gaming space. This course teaches game mechanics in game design and development. The course teaches students how to think like a user by having them reverse-engineer a game.
UI Designer
A User Interface designer focuses on the visual layout and interactive elements of a digital product, ensuring it is both aesthetically pleasing and easy to use. This role involves creating wireframes, mockups, and prototypes to guide the development process and ensure a seamless user experience. The Master Flame Game Engine course may be useful when seeking to become a User Interface designer within the gaming space. This course places emphasis on game aesthetics. The course also teaches students about sprite animation and simple sound design, both of which are important for UI design in games.
AR/VR Developer
An augmented reality/virtual reality developer creates immersive experiences for a variety of platforms, including mobile devices, headsets, and interactive displays. This role requires expertise in 3d graphics, computer vision, and user interface design, as well as a deep understanding of the unique challenges and opportunities presented by AR/VR technology. This Master Flame Game Engine course may be useful to aspiring Augmented Reality and Virtual Reality developers. By learning the basics of game architecture and design, one will be better prepared to create AR/VR applications in the future. By the end of this course, one will understand the scope of the game development cycle.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Master Flame Game Engine: Code The T-Rex Endless Runner Game.
Provides a comprehensive introduction to Flutter development. It covers essential concepts like widgets, layouts, state management, and asynchronous programming. It is helpful for students who need to strengthen their Flutter foundation before diving into game development with Flame. This book is valuable as additional reading to supplement the course material.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser