Create an efficient implementation of Conway’s Game of Life cellular automaton that meets the performance requirements below.

See “Background” section at the end to learn about Cellular Automata and the Conway’s Game of Life ruleset.

  • Implement a 2D cellular automata with (at least) the classic Conway’s Game of Life rules (B3S23)
    • You can also implement the ability to set custom rules
  • Support for wrapping at the grid edges (toroidal grid)
  • Fixed grid sizes of at least 256×256 cells
  • Include keyboard and/or UI controls for:
    • Randomizing the grid before running the simulation (fill 30% of the grid with randomly placed “alive” cells)
    • Clearing the grid
    • Changing cell size on the fly
    • Starting/stopping/pausing/resetting the simulation
  • Must achieve at least 30 FPS with a 256×256 grid, regardless of number of alive or dead cells
  • Try to hit at least 30 FPS for larger grid sizes (512×512, 1024×1024, etc…)
  • Each render frame should equate to one simulation iteration
    • In other words, do not process several iterations before rendering a frame


  • Cell size should be anywhere from 1×1 pixels, to 5×5 pixels (square shaped)
  • Alive cells should be green and dead cells should be black
    • Bonus for using 3 colors: born=green, alive=orange, dead=black
  • Performance metrics should be displayed (FPS, cell counts, generation number, etc.)
  • The grid should always be viewable in its entirety (don’t clip the grid)

  • Efficient implementation is key – focus on performance optimization
  • You can use any approach or technique available in Godot 4.3
  • Consider memory usage, CPU/GPU trade-offs, and data structures
  • Documentation of your approach and optimization techniques is encouraged

  • Meeting the performance targets
  • Code clarity and organization
  • Creative optimization techniques
  • Usability of the interface
  • Extensibility of the solution

Good luck! This challenge will test your ability to optimize game logic and rendering in Godot while implementing a classic computer science demonstration.

Read about 2D Cellular Automata here:

https://en.wikipedia.org/wiki/Cellular_automaton

Read about the “Conway’s Game of Life rules here:

https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

Conway’s Game of Life Rules: