Printing output with interval between letters

I want to print/echo an output "This is the name of the game" where each letter will be printed/echoed after an interval of 1 sec

this will do..

echo "This is the name of the game"|awk '{for(i=1;i<=NF;i++){printf $i" ";system("sleep 1")}}END{print}'

I got the following output:

This is the name of the game This is the name of the game

that is the output printed twice instead of once.

Also, the output was printed with an interval of 1 sec between words and not each character/letter.

This will echo words by word..
For character by character, try:

echo "This is the name of the game"|awk '{ ORS="";while(i++<length($0)) { print substr($0,i,1); system("sleep 1"); } }'

Works fine except that the prompt comes immediately after the output:

This is the name of the game[root@wiki ~]#

ok.Try:

echo "This is the name of the game"|awk '{ ORS="";while(i++<length($0)) { print substr($0,i,1); system("sleep 1"); }printf "\n"; }'

While i run the above code snippet ctrl+c doesn't have any effect. Why is it so?