Much of community ecology is based upon the principle that all species are fixed according to their adaptations (or at least operating on very slow time scales), and therefore the incorporation of evolutionary processes need not be factored into understanding and modeling of species interactions. Evolution does though play a critical role in determining community structure, both in the past and in the current. Using game-theoretic models known as G-functions, I model both the ecology and evolution of entire communities, often starting from one species. Using this, I hope to understand the structure of competitive communities operating under different forms of competition and predator-prey dynamics in undersaturated communities. As well, I have worked on understand Infinite Nice Packing, a phenomenon in which evolution continuously creates new species, packed ever tighter together as niche space is divided up into finer bits.