you need to add another filter which can stop your assignment rule to fire everytime. For example, you donot want to fire this rule when case owner changes but project__c is true, change your assignment rule criteria to "Formula evaluates to true" and use below:
PRIORVALUE(OwnerId) <> OwnerId && Case.Project__c
If you want to run your assignment rule only during creation of case use this formula.. ISNEW() && Project__c