Přestaň (na chvíli) uvažovat o nějaké složité hře a zkus si napsat něco malinkého, co lze zvládnout za odpoledne. Například tahovou hru pro dva hráče, odebírání zápalek - máš patnáct sirek na stole, hráči se střídají, každý musí odebrat jednu, dvě nebo tři zápalky a kdo sebere poslední, prohrál. To jde udělat i jako konzolová aplikace bez grafiky.
Samozřejmě to nejdříve napíšeš pro dva živé hráče. Pak to předěláš, aby to odebírání zápalek nebylo natvrdo brané z klávesnice, ale aby vstupem byla funkce s parametrem (počet odebraných zápalek). Do té je možné dávat vstup z klávesnice a nebo ji může volat počítač, až bude hrát robot. No a pak musíš naprogramovat "umělou inteligenci", tedy kus kódu, který říká, kolik sirek má odebrat počítačový protihráč.
Jakmile si na tomhle vyzkoušíš ten princip (napsat vstup univerzálně, aby byl použitelný jak pro člověka, tak pro počítačového protihráče, a napsat "mozek" počítačového protihráče), tak se vrať zpátky ke své myšlence se stavěním vesnice.
Kdyby Ti to nestačilo takto stručně, přečti si třeba:
http://www.linuxsoft.cz/article.php?id_article=1109
... ukazují tam, jak udělat šachy s počítačovým protihráčem.