As most people, I also say AC2, or ODST. ODST is by far better than Halo 3. It has an amazing story, better graphics, and it comes with all that "legendary" Halo 3 multiplayer you always hear about (although it sorta disappeared since MF2).
Then AC2. I enjoyed AC somewhat. It was a sandbox kind of game at the most. The only reason I did missions was to find out how it ended, as the missions before the missions were boring, plus the unskippable conversations. Anyway, AC2 removes all of that and adds more, making it a perfect sandbox game.