Post subject: The Typing Of The Dead
DarkRuler
He/Him
Joined: 8/5/2015
Posts: 22
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
Joined: 6/14/2014
Posts: 47
It's called a segmented run, not a tool-assisted speedrun. Go to SDA forums instead since you didn't use any tool.
Noxxa
They/Them
Moderator, Expert player (4128)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
packsciences wrote:
It's called a segmented run, not a tool-assisted speedrun. Go to SDA forums instead since you didn't use any tool.
Uhh....
DarkRuler wrote:
I used a program created by me that identifies text on screen and types at 300 words per minute with 100% accuracy REAL-TIME
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Joined: 6/14/2014
Posts: 47
Oh nevermind. It's scripted then ?! But it's not a tool-assisted speedrun, is it ?
DarkRuler
He/Him
Joined: 8/5/2015
Posts: 22
packsciences wrote:
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.
Joined: 6/14/2014
Posts: 47
Oh, like AHK script. Interesting. Can you explain how it works ?
Experienced player (608)
Joined: 10/23/2004
Posts: 706
Keep in mind that "Tool Assisted" can be any number of tools. A script like this is certainly a tool that wouldn't be permissible in a standard speedrun.
Current Project: - Mario Kart 64
DarkRuler
He/Him
Joined: 8/5/2015
Posts: 22
Weatherton wrote:
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).
Joined: 6/14/2014
Posts: 47
It's very interesting that the tool "thinks" by itself. Do you have the source code, please ?
DarkRuler
He/Him
Joined: 8/5/2015
Posts: 22
packsciences wrote:
It's very interesting that the tool "thinks" by itself. Do you have the source code, please ?
Sorry, I don't share my source code. And I'm still improving it every often.