Как реализовать архитектуру игры?
Создать класс "бактерии", с указанием координат, "уровня", уникального ID(пригодится в будущем). В майн классе создать коллекцию(наподобие Map) и процедурой проверки условий "жизни", добавить таймер. В Map заносить с ключом типа "координатаХ-координатаУ"(по этому ключу находить "соседей"). В таймере цикл перебора коллекции, с отрисовкой результата в конце - визуализация по вкусу(хоть OpenGL). Для возможностей "расширения" и "мутации" - желательно уже использовать родительский и дочерние классы, тогда можно описать различные типы "монстров" и их уникальное поведение.
Очевидно, что нужно применять объектно-ориентированный подход и представлять особей в виде объектов
Совершенно не очевидно. Громоздить объект вокруг, фактически, булевой переменной - преступление против здравого смысла.
Достаточно завернуть в объект саму матрицу.