We may earn an affiliate commission when you visit our partners.
Sachin Kafle

If you’re interested in learning how to make your own Artificially Intelligent games using Python, then this is the course for you.

This course is full of tutorial videos along with materials which one can run to get familiar with this discipline. You no longer need to read complex research papers and have a solid foundation in mathematics to get going. Just follow this course and materials and you’re on your way.

Let's take a look at the structure of this course:

Read more

If you’re interested in learning how to make your own Artificially Intelligent games using Python, then this is the course for you.

This course is full of tutorial videos along with materials which one can run to get familiar with this discipline. You no longer need to read complex research papers and have a solid foundation in mathematics to get going. Just follow this course and materials and you’re on your way.

Let's take a look at the structure of this course:

We are going to start with a simple game that implements popular board game algorithm: MinMax. In this game we are going to create TicTacToe and write an algorithm that plays against human player and tries to beat human player.

Next we are going to learn about gym module: a popular library which can be used to write and test our AI algorithms.

After that, we are going to learn about Bellman Equation and Dynamic Programming. We are going to learn how to find the optimal value of the states using Bellman equations through model dynamics. We are going to implement maze game to implement Q-learning algorithm.

Then, we are going to learn about Monte-Carlo Simulation. We are going to check how value function can be predicted using Monte Carlo simulation when model dynamics is unknown.

Similarly, we are going to implement following games throughout this course:

1. BlackJack game using Monte-Carlo and Q-Learning

2. Pacman using Deep Convolution Neural Network

3. Make unbeatable AI TicTacToe player using Tensorflow and Keras (Human Vs AI)

4. MinMax algorithm for Board game

General Q/A's:

When most people hear the term artificial intelligence, the first thing they usually think of is robots. That's because big-budget films and novels weave stories about human-like machines that wreak havoc on Earth. But nothing could be further from the truth.

Artificial intelligence is based on the principle that human intelligence can be defined in a way that a machine can easily mimic it and execute tasks, from the most simple to those that are even more complex. The goals of artificial intelligence include mimicking human cognitive activity. Researchers and developers in the field are making surprisingly rapid strides in mimicking activities such as learning, reasoning, and perception, to the extent that these can be concretely defined. Some believe that innovators may soon be able to develop systems that exceed the capacity of humans to learn or reason out any subject. But others remain skeptical because all cognitive activity is laced with value judgments that are subject to human experience.

Artificial intelligence (AI) refers to the simulation of human intelligence in machines that are programmed to think like humans and mimic their actions. The term may also be applied to any machine that exhibits traits associated with a human mind such as learning and problem-solving.

Enroll now

What's inside

Learning objectives

  • Learn to implement minmax algorithm
  • Learn about q-learning by implementing games
  • Learn about artificial intelligence in games
  • Learn about gym module
  • Implement deep q-learning
  • Implement deep convolution q-learning
  • Learn about tensorflow and keras
  • Learn to build complex ai player player
  • Learn about bellman equation and dynamic programming
  • Learn about monte-carlo simulation
  • Learn to implement neural network from scratch
  • Show more
  • Show less

Syllabus

Introduction
Setup Anaconda and Install Dependencies for Project
Install Anaconda
Create Virtual Environment
Read more
Install Dependencies/Libraries for the Course
Download Visual Studio Code
Python Essentials
What is Python?
Introduction to the data types
Basic Arithmetic in Python
Operations on Numbers
Introduction to Strings in Python
Access elements of String
Formatting strings
Introduction to the variables
Create Variables in Python
Introduction to Booleans in Python
Learn to create conditions
"is" operator in Python
Logical statements
Introduction to conditional statements
if else statements
Introduction to Data Structures
Checking type of Data Structures
How to access the items from the list?
Introduction to the loops in Python
Infinite while loop (Game Loop)
Finite Game Loop
For loop
Important: List Comprehension for Game Development
What is Function and Why we need it?
Learn to create Functions?
Learn about return statements
Introduction to the section
What is Object Oriented Programming?
Class and Objects
Class and Objects Continued
Constructor in Python
What is Inheritance?
Multiple Inheritance
Pygame Refresher
Introduction to the pygame
Pygame coordinate System
Introduction to Pygame shape
Draw shapes using Pygame
Color Picker
Fundamentals of Pygame -- skeleton code
Render a rectangle in the Screen
Movement of the shapes
Smoothen the movement using FPS
Make movement within Boundary
Introduction to MinMax Algorithm
Introduction to Board Games
Tree representation of Game
Lookahead Problem
Solution of Lookahead problem
Heuristic Evaluation of Board
Example of Heuristic
Introduction to MinMax algorithm
Example of MinMax
MinMax Example for TicTacToe
MinMax Algorithm
Creating TicTacToe using MinMax algorithm
introduction to Game
Introduction to Project Files
Creating Indecisive Player (Random)
Implementing MinMax
Calculating Value/Heuristic for Min Max player
Implementing MinMax algorithm
Setting up Autoplayer (Artificial Intelligent Player)
Playing against AI player and Tuning algorithm
Introduction to Artificial Intelligence
Motivation for Artificial Intelligence
Reinforcement Learning
Environment
Path
Typical RL scenario
Policy
Rewards
Value of the State
Model
Key Terms of Artificial Intelligence (Important)
Markov Property and Markov Chain
Markov Reward Process
Markov Decision Process
Bellman Equation and Dynamic Programming
Tribute to Bellman
Value Function
Bellman Equation
Example
Plan
Non Deterministic Environment
Markov Decision Process + Bellman
Introduction to Q-Learning
Equation of Q-Learning
Q value for Non-Deterministic Environment
Temporal Difference

Save this course

Save Learn To Create Artificially Intelligent Games Using Python3 to your list so you can find it easily later:
Save

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 Learn To Create Artificially Intelligent Games Using Python3 with these activities:
Review Python Fundamentals
Solidify your understanding of Python basics to ensure a smooth learning experience in the course.
Show steps
  • Review data types and operators.
  • Practice writing basic Python scripts.
  • Complete online Python tutorials.
Brush up on Pygame
Revisit Pygame fundamentals to prepare for game development projects in the course.
Browse courses on PyGame
Show steps
  • Review Pygame's coordinate system and drawing functions.
  • Experiment with shape rendering and movement.
  • Create a simple game using Pygame.
Read 'Artificial Intelligence: A Modern Approach'
Gain a broader understanding of AI principles to enhance your game AI development skills.
View Melania on Amazon
Show steps
  • Read chapters on search algorithms and game playing.
  • Take notes on key concepts and algorithms.
  • Relate the concepts to game development scenarios.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Implement MinMax for TicTacToe
Reinforce your understanding of the MinMax algorithm by implementing it for the TicTacToe game.
Show steps
  • Write a function to evaluate the TicTacToe board state.
  • Implement the MinMax algorithm recursively.
  • Test the algorithm against a human player.
Create a Simple AI Opponent for a Classic Game
Apply your knowledge by building an AI opponent for a classic game like Connect Four or Checkers.
Show steps
  • Choose a classic game to implement.
  • Design the game logic and AI algorithm.
  • Implement the game using Python and Pygame.
  • Test and refine the AI opponent.
Read 'Game Programming Patterns'
Learn about game programming patterns to improve the structure and maintainability of your AI game code.
Show steps
  • Read chapters on relevant design patterns.
  • Identify opportunities to apply these patterns in your projects.
  • Refactor existing code to incorporate design patterns.
Write a Blog Post on Q-Learning
Solidify your understanding of Q-Learning by explaining it in a blog post.
Show steps
  • Research Q-Learning and its applications in game AI.
  • Write a clear and concise explanation of Q-Learning.
  • Include examples and diagrams to illustrate the concepts.
  • Publish the blog post on a platform like Medium or your own website.

Career center

Learners who complete Learn To Create Artificially Intelligent Games Using Python3 will develop knowledge and skills that may be useful to these careers:
Game Developer
A game developer designs and creates video games for various platforms. This course helps build a foundation by providing experience in developing artificially intelligent games using Python. The course's focus on implementing algorithms such as MinMax and Q-learning directly applies to creating engaging and challenging game experiences. Projects like TicTacToe and Pacman offer practical skills. If you want to create games that provide a smart, adaptive experience for players, this course is for you.
AI Application Developer
An AI application developer builds applications that incorporate artificial intelligence. This course gives a foundation in the principles of AI and their practical application in game development. The course's implementation of algorithms such as MinMax and Q-learning can be applied to create AI-powered features in various applications. The material on TensorFlow and Keras offers practical skills for developing and deploying AI models. This may be the perfect first course.
Algorithm Developer
An algorithm developer designs and implements algorithms for various applications. This course gives practical experience in implementing algorithms such as MinMax, Q-learning, and Monte Carlo simulation. The course's content on Bellman equations and Dynamic Programming provides a robust theoretical foundation. Aspiring algorithm developers will find that working through the projects in the course builds their skills and understanding of algorithm design.
Artificial Intelligence Programmer
An artificial intelligence programmer develops the AI systems that power a variety of applications, like the opponents a player encounters in a video game. This course is helpful because it introduces core concepts like Bellman equations and Dynamic Programming. This course may also be helpful because it implements algorithms such as MinMax, Monte Carlo simulation, and deep Q learning. The course's exploration of TensorFlow and Keras also gives a boost. An artificial intelligence programmer may find the content of the course readily applicable to their area of work.
Machine Learning Engineer
A machine learning engineer develops and implements machine learning algorithms and systems. This course introduces multiple key concepts within machine learning, such as Bellman equations, Dynamic Programming, Monte Carlo simulation, and deep Q-learning. The hands-on projects, including implementing neural networks and AI players for games like TicTacToe and Pacman, deliver insights. Knowledge of TensorFlow and Keras from the course also allows machine learning engineers to implement and customize AI models.
AI Integration Engineer
An AI integration engineer integrates AI models and systems into existing applications and infrastructure. This course gives exposure to AI algorithms and frameworks, such as TensorFlow and Keras, which are used in AI integration. By working through the projects in the course, you can gain experience in implementing and integrating AI components into game environments. This can be expanded to real world applications.
Software Engineer
A software engineer designs, develops, and tests software applications. This course may be useful because it offers practical experience in Python programming, which is a valuable skill for software engineers. By working through projects like implementing the MinMax algorithm and Q-learning, one seeking the title of Software Engineer can expand their coding skills. Exposure to TensorFlow and Keras can also be helpful in many software development projects. This course is useful for those seeking to become software engineers.
Data Scientist
A data scientist analyzes large datasets to extract insights and develop data-driven solutions. While this course may not directly focus on data analysis, it introduces concepts relevant to data science, such as Monte Carlo simulation and Q-learning, which are used in decision-making and modeling. The course's implementation of neural networks and AI players also gives experience in applying machine learning techniques to solve problems. The material on TensorFlow and Keras are a benefit as well. The data scientist career role is a great match for this course.
Simulation Engineer
A simulation engineer creates and runs simulations to model and analyze complex systems. This course introduces Monte Carlo simulation, a technique used to model the probability of different outcomes in a process that cannot easily be predicted due to the intervention of random variables. The course's focus on AI in games also provides a practical context for implementing simulations. Taking this course helps build a foundation, and it may be especially useful for creating simulations in gaming or related fields.
Robotics Engineer
A robotics engineer designs, builds, and programs robots. This course helps by exploring AI algorithms like MinMax and Q-learning, which can be used to control robot behavior and decision-making. The course's content on reinforcement learning can be applied to training robots to perform tasks in dynamic environments. Robotics engineers who wish to incorporate AI elements into their robots may find that the course provides them with a useful starting point.
AI Research Scientist
An AI research scientist conducts research to advance the field of artificial intelligence. This position typically requires an advanced degree (master's or phd). This course can serve as an introduction to AI concepts and algorithms. If you wish to become an AI research scientist, this course may be useful to you. This course covers topics such as reinforcement learning, neural networks, and deep Q-learning, all of which may be useful to an AI research scientist.
Software Architect
A software architect designs the overall structure and components of software systems, including AI-powered features. This course may be helpful by delivering exposure to the design and implementation of AI algorithms and models. The experience gained in the course, such as building AI players for games and implementing neural networks, informs design decisions when integrating AI into larger software systems. Aspiring software architects may gain valuable insights from this course.
Technical Consultant
A technical consultant provides expert advice and guidance to clients on technology-related issues. This course may be especially useful for a technical consultant who advises clients on AI and machine learning. Knowledge of AI algorithms, frameworks, and their practical applications can be valuable in assessing client needs and recommending solutions. The knowledge gained here may be useful in your first years in the field.
Data Analyst
A data analyst examines data to draw conclusions about that information. This course may be helpful, as reinforcement learning is a field that works to maximize a reward based on data. Additionally, Monte Carlo simulations utilize random data to forecast future data. The course's syllabus includes a project on playing BlackJack using Monte-Carlo and Q-Learning. The content of the course is readily applicable to a career as a data analyst.
Quality Assurance Engineer
A quality assurance engineer tests software and systems to ensure they meet quality standards. This course may deliver some benefit due to its applications of Keras and Tensorflow, as well as its integration with other games. If your job involves testing the quality of games, it is useful to know how these algorithms are used. This course is most useful to those who are new to quality assurance.

Reading list

We've selected two 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 Learn To Create Artificially Intelligent Games Using Python3.
Explores common design patterns used in game development. It provides practical solutions to recurring problems and helps improve code organization and maintainability. While not strictly focused on AI, it offers valuable insights into game architecture. This book useful reference tool for structuring your game AI projects.

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