You could write a quick PHP script to do that for any string you want.
For example you could do something like this:
<?php
$your_string = "EvilZone";
$string_length = srtlen($your_string);
for ($i = 0; $i <= $string_length; $i++) {
echo $your_string[$i];
usleep(500000);
}
?>
However, whats going to happen, is the whole script is going to be executed by the server and only then will it send the generated HTML result to the client browser. So basically, even though the server will wait half a second between each letter, you will still see the string appear at the same time when the page loads. It will just take longer to load because the delay is done before the browser receives the html page from the server.
To solve this problem, you need to use ajax so that data could be loaded dynamically from the server without reloading the page. google ajax php tutorial to give you an idea. Oh and also do some reading on jQuerry. Very nice library that will make your life much easier when it comes to dynamic websites.
Now if you don't need to use PHP and don't need to have that happen in a browser, you could just write a quick Python script like this:
import sys
import time
your_string = "EvilZone\n"
for 1 in your_string:
sys.stdout.write(1)
sys.stdout.flush()
time.sleep(0.5)
Note that you need to add a flush() method after write() because python by default in most installations writes all output to a buffer and sometimes it would wait for some time before outputing the stuff in the buffer to the screen (or anywhere else). And if the time it waits before outputing the buffer is higher then the time it takes to complete one iteration of the for loop, then you will see several characters appear on the screen at the same time, which is not what you want. flush() method forces python interpreter to output everything in the buffer right away without any delay.
Anyway, good luck. Coding is fun.