Understand your use cases before you write your code
Before you write any code, think of an example of how a user might interact with your application. Write it out in English using the Given, When, Then syntax. For Example:
Given a player is looking at an empty board with no live cells When they select a cell Then that cell should become alive
Using TDD, write just enough code to fulfill that requirement.
Write another requirement, and repeat the cycle until the game has been fully implemented