I just downloaded the Titan Quest Demo , it’s a Diablo like ‘Talk, Slay and Collect’ RPG game. As usually I talked to somebody and he asked me to free him and the villagers from an evil monster. So i went up the map, killed the thing and came back into the village – but by a different way. There were some people with icons to whose I had not talked yet. They all told me about the evil, evil monster in north (that I just killed). So i went to the man who game me the mission and he was of course very happy that I killed that thing. Suddenly the icons of the other village people changed and when I then talked to them they thanked me also about having killed that monster in the north.
Now what happend here? The other village people said dialog X until quest A is not completed. And the quest was only completed by talking to the inital mission starter. It’s really something that kills the immersion: NPCs asking you for something you already did. Spellforce 1 was also a specialist in that. You fullfiled a quest before they asked you for it, then you talked to them and they gave you the mission. You then talk to them right after again and they rewarded you. Hey, game/level designers, what about scripting some more checks??! So we can rather have dialogs going like this "Oh please, kill that evil monster", "Oh, you mean the one from the north? Oh I just did that! Wasn’t thaaat hard!", "Oh really? Impressive! You don’t know how much you helped us with this. (…)" {reward etc}.
Another example is the game Freespace. The before-last mission is to protect your mothership while the evil alien enemy-mother-ship is attacking yours. I guess the designer wanted me to kill all the incoming missiles but all I wanted was to bring that alien mothership down. It took me a while to figure out how but at the end i managed to shoot it into pieces before my mothership got destroyed – mission accomplished, because i protected my ship. So next and final mission: "the alien mothership is escaping, follow it into hyperspace and destroy it." "What??? I just did that!!" You see? Breakes immersion.