PyCon, Let's make some noise !

Kousik Krishnan (~kousik)


Have you wondered how games like GTA, Minecraft produce massive worlds dynamically that are chock full of details? No, it is not done manually by an army of designers but is rendered real-time using algorithms. This is called procedural generation and enables the game engine to populate the screen with trees, buildings, rolling clouds, etc. To do this, the algorithms need to generate random numbers a.k.a noise that have some nice properties. In this talk, we will look into these properties and noise generation algorithms that have given us blockbuster games, movies and even won an academy award. We will use these algorithms to generate interesting and diverse images in python and conclude with a discussion on the application of these algorithms in other areas like finance and data science.

Talk Outline

  • Generating random numbers using NumPy/random [3 mins]
  • Is random too random? The need for smoothness [5 mins]
  • Perlin Noise in 1/2/3 dimensions [7 mins]
  • Demonstration in python [5 mins]
  • Other Noises: Simplex and more [3 mins]
  • Applications and demo of short video generated [2 mins]

Who is this talk for?

  • People curious about visual effects and how they are generated

  • Math folks interested in generating random functions

Talk Outcome

By attending the talk, the audience will be able to:

  • Appreciate the math around visual effects
  • Generate basic effects in python
  • Be able to apply the underlying principle in the area of their interest

Sneak Peek

Sample images generated using the noise algorithms.

Smoke Effect Artificial earth



  • Experience playing/watching graphic intense games/movies.
  • Basic knowledge of python


  • Basic knowledge of pseudo-random number generation

Video URL:

Content URLs:

Video Proposal

Speaker Info:

Kousik Krishnan

Introduced to python a decade ago, I am a quantitative analyst working in the financial services industry where I am responsible for developing models for financial prediction and risk management. I keep learning new math algorithms that have some application in computing. I came across the world of noise algorithms trying to generate random functions for financial models, ever since, I am hooked by procedural generation and its application in game design.

Section: Game Design and 3D Modelling
Type: Talks
Target Audience: Beginner
Last Updated: