A script like this is certainly a tool that wouldn't be permissible in a standard speedrun.
That's why I didn't make a submission, but thought that it would be interesting to show it, as it's still tool-assisted.
packsciences wrote:
Can you explain how it works ?
Sure. I made the program in Java. By pressing F5 you turn the tool on/off.
When the tool is on, the program basically does the following inside a while loop:
-Take a 640x480 screenshot (the resolution of the game)
-Search for green/yellow/red pixels, which are the colors of the bounding boxes where text is found. Then, find vertical and horizontal black lines; that means there's a bounding box.
-Make a subimage of the image inside the bounding box and make sure there isn't "gibberish" (colors that aren't used by text, random small groups of pixels, etc.). If there's gibberish, discard the text. Otherwise, apply contrast and make the subimage binary (only black and white pixels).
-Using a character separation algorithm, obtain character by character from the subimage, and store each one as a 20x20 subimage.
-Compare each subimage with a list of images that represent each character. Each comparison returns a number between 0 and 1. The higher the number, the highter the probability the image is a certain character. The comparison is simple: check if the white pixels of both images are in the same places. Each obtained character is added to an empty string.
-When there's no more subimages, simulate keypresses from the string like the pseudocode below shows:
int i=0;
while(i<text.length)
KeyPress(text(i))
Sleep(20)
KeyRelease(text(i))
Sleep(20)
i =i+1;
}
-Go back to step one.
Some characters need to simulate the Shift key.
The program sleeps 40 milliseconds for each character typed. A word is considered 5 characters, so that's 40x5 = 200 milliseconds per word.
In a minute we have 60/0.2 = 300 WPM.
After typing all the texts, the program sleeps like a quarter of a second (to make sure the shooting particles disappear).
Inspired by the topic "Put all crappy youtube videos in this thread", I decided to open a thread where we can post all sorts of funny gifs.
MOD EDIT: I think a 56k warning is appropriate here, given the current state of this topic. -Mothrayas
Oh nevermind.
It's scripted then ?!
But it's not a tool-assisted speedrun, is it ?
If by scripted you mean if I know the texts that are going to come up and when, no. I just execute my program, minimize it, run the game and record it. It's a program that can play the game by itself in real-time; it takes screenshots every frame and identifies the text that's on them. Then it simulates key presses.
So yeah, it's tool-assisted.
I made a Typing Of The Dead TAS, chapter by chapter, and uploaded the videos to youtube.
The goal was to get 0 typing errors and no damage in very hard difficulty.
I used a program created by me that identifies text on screen and types at 300 words per minute with 100% accuracy REAL-TIME; I didn't use hourglass or any similar program to rewind or slow-down time. But since it's still a Windows game, I'm posting it here.
Here's the playlist with all chapters. I hope you enjoy it (make sure you watch it in 720p60fps).
Link to video
Could you use hourglass with this for the manual input parts?
Good tip, but I tried using hourglass and I get the message "The game crashed...". However, I just realized that the Boss with multiple answers shows the right answer when it's about to attack, so I deactivate the tool, and when it's about to attack I activate it again. As a plus I can always get the right answer.
Woah, that TAS is amazing. I wonder how he did it...
Anyway, here's the first chapter I did on Typing Of The Dead, if anyone's interested. Gotta do those other chapters...
Link to video
I thought of that. The program just has to press Enter repeatedly. I have to make an option to stop and resume the program at will, otherwise I can't navigate through the menu. Also, there's a part of the game where you have to actually answer questions (the Tower boss), so I'll have to stop the tool and manually type.
By the way, for speedrunning the game, I think some parts of the game you want to fail or do slowly on purpose to trigger different dialogue. So that's something you could think about incorporating. There are human-done speedruns you can watch to learn the route.
That's something that's always bugged me about games with multiple paths. Sometimes the right path (the one you get for not making any mistakes) doesn't seem to be the best; it gives you less score than other paths, takes longer, etc.
Your advice is good, but for the chapter speedruns I want to avoid mistakes. What I want to show is the fastest you can go with 100% accuracy and 0 errors, even though another path might be faster. I want to show how the tool is always accurate.
Hello. I'm new to the forums, and I've created a program that can play "The Typing Of The Dead" without human interaction. Every few frames the program takes a screenshot of the game, identifies text and the proceeds to recognize character by character. After knowing what to type, the program simulates key presses at high speed (300 words per minute).
All I ever do is press enter to skip cutscenes.
So far I have recorded gameplay of the first chapter, and I uploaded it to Youtube.
The chapter is beaten real fast, with 100% accuracy and a very high score.
Does this count as tool-assisted? I'm not actually playing the game with a tool that helps me, it's the tool that plays on its own...
I wanted to share the video so as to show how the fastest and most accurate player in the world would play. Instead of making a single run, I want to upload chapter by chapter, and upload the trial modes too.
Where could I post these videos?
Isn't OpenGL's greatest advantage the fact it's cross-platform unlike Direct X which is Windows only? An emulator that's available on multiple platforms sounds good to me.
Hello. I'm new here. I wanted to congratulate the developers of BizHawk for such great work and comment what I think about it.
The emulator is going in the right direction, allowing to use OpenGL. Kega Fusion, for example, is a pain to use now for Windows users as Windows 8 and Windows 10 seem to have dropped a lot of support for DirectDraw, and DirectDraw seems to be what every other Sega Genesis emulator uses (I use BizHawk for Genesis, mostly).
I'd like to suggest that you add more video filters (Hyllian's XBR does an amazing job, and its addition to the emulator would be great).
Keep up the good work.