> What tripped me up every time is that most board games have a lot of "if this happens, there is this specific rule that applies". Even relatively simple games (like Homeworlds) are pretty hard to nail down perfectly due to all the special cases.
The key is to build a data-driven state machine, rather than writing logic with a bunch of 'if' statements.