La idea seria como respondieron antes, atacar temprano o antes que el enemigo.
Pero yendo a tu duda en concreto, cuando te plantan un casti al lado. Lo que yo haria, seria retroceder los aldeanos, para que no los mate y retrase la produccion. Sacar unidades de distancia para mantener una distancia a sus posibles ataques, y tratar de que no ataque por los costados o atras. En resumen que no afecte tu economia. Si te hizo un castillo y le pusiste un freno con tropas, entonces lo mas seguro es que vaya a pasar a imperial para sacar lanzapiedras y usarlos cubiertos por el castillo. Tendrias que tratar , primero, detener a sus aldeanos, para que no sigan construyendo una base adyacente, seria estupendo que sea con caballeria o con arqueros a caballo ( recordar que seguro tiene tropas y ademas un castillo cubriendo =D ). Tambien pensa que el enemigo lo que buscaria en ese momento seria desestabilizar tu economia matando aldeanos aledaños, trata de centrarlos en un punto, o alejarlos si estas en feudal. Si estas en castillos tendrias que hacer CU que se cubran entre si. Lo importante en el caso de la ofensiva, es que el no saque los lanzapiedras, y si los saca destruirselos, por que el tiene la ventaja de que tiene un castillo cubriendo.
TAMBIEN OTRO PUNTO IMPORTANTE SERIA, que si te hizo un castillo temprano, significa que no esta defiendo con todo su base. podrias hacer un intercambio si tenes con que hacerlo. Acordate que si te hizo un castillo, lo mas seguro es que sea ansioso, entonces no haya construido un 2do CU en su base, o sea que seria ideal atacarlo al insante. Depende del jugador