Developing self-learning games with Python

Satwik Kansal (~satwik)


5

Votes

Description:

Almost everyone would have played that classic Snake game by Nokia in the early 2000s.

enter image description here

After this beginner-friendly training session, audience will be able to develop their own Snake game with self-learning capabilities. The session is designed keeping in mind the audience only have basic python programming experience and know nothing else!

Session Breakdown

First 60 min: This section will focus on developing a classic snake game using pygame framework. The section also covers basic concepts and terminologies used in the game development.

Next 60 min: In this section, the audience is introduced to Reinforcement Learning (RL) and some of the standard terms and concepts like Agents, state, policy, etc. We will implement Q-Learning (an RL technique) to develop an Agent that Learns to play the snake game and gets smarter with every move by learning ‘policies’ and ‘strategies.’

Last 30 min: In this section, we discuss in brief other interesting RL techniques like SARSA, Deep Q-Networks, and their implementation insights. We’ll talk through the design self-driving car simulation implemented using pygame and Q-Learning. The session will conclude with the discussion about Applications of RL, and usage of platforms like OpenAI Gym and Universe for measuring and training an AI’s general intelligence across myriad of games, websites and other applications.

Prerequisites:

Familiarity with Python.

Content URLs:

Slides: https://drive.google.com/open?id=0BxPlZe7XnVfbV3poNEtwRGdsNlk

Code Samples

  • https://github.com/satwikkansal/snakepy
  • https://github.com/satwikkansal/Machin-Learning/tree/master/smartcab

Speaker Info:

I'm a freelance Software Developer and Google Summer Of Code 2017 student at coala. I like writing code, participating in Hackathons, and attending conferences. I've worked on self-projects and research projects in the domain of Reinforcement Leanring and Generative Adversarital Networks. And lastly, I prefere all things Python!

Section: Others
Type: Workshops
Target Audience: Beginner
Last Updated: