Posts for MESHUGGAH

MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Defining a game's ending was always problematic. Here's my theory approaching it from the game's perspective. Assume that a game has a set of conditions you need to met in order to get a positive end game state, either it has a point where you can't progress any further in the gameplay because there's no such possible set of input that would meet those conditions (if there's any). My marvellous definition would be: A game is completed if the movie reaches a positive end game state and it lasts forever without any negative game state appears. If there's no such possible series of input that would let you reach a positive end game state, the game's end-point located at the very last position where you can't progress any further in the gameplay's plot. Let me know what do you think. The definition should be revised with proper wording. I also want to show some interesting examples of various game ending obscurity with my game ending definition: SNES Contra III - The Alien Wars The game ending is a part of the last level. In order to watch the conclusion and credits you have to beat the final boss. However, the glitched TAS run skips these and only the final statistics shown. The game ends when your last input processed at the point where no additional inputs needed to achieve the positive end game state (the final statistics screen). DS Bubble Bobble Revolution The US version is unwinnable due to a programming error. At level 30 you can't progress further since the boss won't spawn. The game ends when you beat level 29 (you can't progress any further at level 30). ZX Spectrum Impossible Mission Some of the puzzle pieces are hidden behind unsearchable objects, preventing you from obtaining them, rendering the game unwinnable. The game should end at the last position where you can't progress any further (the point where you need such an object you can't obtain). PS2 Atelier Liese - Eternal Mana The PAL version had an irritating bug right at the very end of the game where it would crash during the ending sequence. This was doubly annoying as not only was it impossible to see the entire ending, but you also couldn't get a completed save file as a result, preventing you from playing the New Game Plus. The game ends if the ending sequence fully performed. edit: regarding the Pokemon Yellow issue: The game ends if you achieve a positive end game state without any negative game state flag. So any game state that happens during the normal completion would be approved by my definition just like manipulating the memory to trigger the statistics screen, the credits screen, the "The end" state. Note that there's a difference between "state" and graphics so if it's impossible to verify that what is the actual game state, simple graphics like the "the end" won't qualify it since it's just a picture, so memory manipulated movies must have something to verify that the they have a positive end game state and not just drawing the picture THE END on the whole screen.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
p4wn3r wrote:
I'm not a moderator, I can't edit your post.
Sorry, I meant feel free to correct/resubmit the translation with your correction. Just as you did. Translation updated.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
p4wn3r wrote:
MESHUGGAH wrote:
When starting an EMBASSY*** with the "A" button when the ball is high up, press and hold the X button for turning the directional bias. After that, you'll see that the player will kick the air instead of the ball. Then quickly press the "Y" button and choose a direction to run.
"Embaixada" is the name of a soccer trick/maneuver where the player lifts the ball and "juggles" it with his legs and chest. I don't know if it has an English translation (juggle would be more appropriate, I think), but since the most common meaning of the word is embassy, it leads to this translation error.
MESHUGGAH wrote:
When you touch the REDEPOR behind the goal, the announcer will scream non-stop goal.
REDEPOR is a typo, the words should be separated as "rede por". "When you touch the net from behind the goal, the announcer will scream non-stop goal".
Thanks, I edited it. By the way, feel free to edit my post. It would be better if someone with native english would revise it.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
I translated it with google translator and tried to fix some translation errors. It's not complete though. edit: I've added p4wn3r's translations. Player/Goalkeeper run without the ball Press the "A" button exactly when the ball hits the goalkeeper's chest. Now you can move your goalkeeper wherever you like for a given time about 10 seconds, even scoring a goal with it. Doing this with an outfield player is a little different: start juggling with the "A" button when the ball is high up, then press and hold the "X" button for turning the directional bias. After that, you'll see that the player will kick the air instead of the ball. Then quickly press the "Y" button and choose a direction to run. Details: This must be done very quickly before the ball reaches the ground. Your player may not face the opponent's goal when juggling, because he'll hit the ball with his head instead of kicking it normally in to the air. Additionally, he can't face the opposite direction of the goal, because he'll attempt a bicycle kick. Take a look at the 5th goal of the run to see how to position themselves properly. Walking out of the field There are two ways to do this. 1st - Behind the goal: By charging a side near the corner flag at the CPU's field, tap the ball to a player who is out of bounds at the bottom line. Then just control the ball before it touches the ground and it will be considered as a "Goal Kick". The player will has the ball outside of the field and the match will continue. 2nd - On the side of the goal: After the goalie dribbles, pass very close to the beam and you will allowed to walk outside of the field without the referee blew for goal kick. Details: It must be done precisely between the goal post and the goal. If you commit a foul on an opponent's defender, he'll do the free kick exactly where the foul occured, even if it's out of the field. If you commit a foul on the opponent when he's inside the goal, he'll do the free kick from inside the goal. Goal before the middle of the field Upon counter-attack, run your fingers down 5 player and a bit before reaching the center circle, shoot with the "X" button (no need to hold the button) and put all to the directional down. You can also do this with "A" button, but need to hold it all the time. Note: If you're attacking to the right of the screen, place the directional all up. Goal is missing If there is a fault near the opposing goal, press "SELECT" to substitute. Go to "Select Squad" and replace one player. It is important that he is not the same one who is about to fault or the goalkeeper. Change preferably a quarterback or someone from the middle back. Return the match as quickly as possible after the replacement made and before the camera focuses back on action. Must be very fast. You can't see the goal in the replay, he will hit the fault before the camera back on him. Take a look at the 8th goal of the run and you'll see it done properly. Defender penalty in replay Put your goalkeeper in the semi-auto or manual mode and allow the player to score in the collection of penalty, there will appear a replay of the goal from penalty, is when enters the picture you arguing with the goalkeeper. Do the following: At the exact moment that the player's foot touches the ball, quickly press the L and R buttons and point to the side where the player has collected the penalty, there is only you pressing the A or B to jump and defend. Infinite goals Make the bug to walk behind the goal. Now run with your player outside the field, until you get to the opponent's net, always outside the field. When you touch the net from behind the goal, the announcer will scream non-stop goal. Now the score will go insane due to a programming error. The amount of goals depends on various factors. Such as the time you got behind the goal, the parties of the goal where you stood... Example: If you stood near the bar you gain +50 goals. But if you stay in between the goal you gain +60 and so on. Note: The goals of the game limit is 99. If you are winning and make the CPU 90-0 +25 goals, the score will show that you are earning now 15-0. "I will celebrate later" When you make a goal, select the player by pressing the "Y" when you cross the line (must be at the exact time) then press and hold the "A". Hold the "A" tight and just walk away. If you drop the "A" button, your player will release the ball and run to celebrate the goal with the fans. Lock the ball This bug is somewhat depends on luck, because the ball has to fall in parts of the goal where there are gaps in programming. If you kick and keep holding X, the ball will get stuck on the goal pole and will remain there until you release X, but there are places that you can not take the ball at all, just resetting the ROM. Once you release the button, the ball goes flying up. The longer it gets stuck, the higher it flies off and takes longer to get back. GOALKEEPER FORMULA 1 Choose to play 2P against the CPU, then have the two players put the goalkeeper in semi-automatic or manual mode (you can do this in "Key Configurations"). When the game starts, pass the ball to the goalkeeper and hold L+R in both controllers. After this, you just need to press forward in both controllers and voila! Free kick inside the goal Get past the goal keeper and pass close to the post, because there's a bug there that allows walking outside of the field without the referee announcing goal kick. From there, you make the player face the goalkeeper and kick the ball against him, so he defends it inside the goal. Once the goalkeeper has the ball, make a foul over the goalkeeper. Now you can see that the CPU player will charge the lack there of into the goal! Due to a programming error in the game, and doing one thing the game did not, it will give you some extra goals the next time you make a "normal" goal in the same game. The amount of goals you score depends on the location of the goal where he was charged the fault. Example: If you are charged for missing near post, you get an x amount of goals on the scoreboard. If the beam is charged AWAY, you gain an y amount of goals on the scoreboard. Your goal is my own goal! This bug does not have much to say. If you simply kick the ball into the goalkeeper and the ball goes in, the goal will be considered the keeper of the CPU. An example is in the run where the scoreboard shows 35-0.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
This run is amazing! I would advise to change "Heavy Luck Manipulation" to "Heavy Memory Manipulation". Should deserve a star for the technical part. I'm already trying to come up with a faster route without tossing items, it would be nice to contribute something to this site.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Warp wrote:
arkiandruski wrote:
As mentioned previously there are 100% runs which waste time by collecting everything in the game.
I wouldn't say it like that. Having an alternative goal is not "wasting time". It's having an alternative goal. Those runs still try to complete the game as fast as possible while completing that goal, and the amount of wasted time is minimized.
For "wasting time" I mean that the goal has something to do with the game's timer therefore you have to wait for the timer to have a specific value to do your desired action so you have to "waste" time in order to fulfill your goal. I know it's a bit loose expression, sorry.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Thank you for the posts and links, I didn't said that there are no pages already that contains alternate goals or contains speed/entertainment tradeoffs, I'm just simply don't understand that why the submissions with "challanging" goals (just like my example: the lowest score and not 100%) has to be very fast (to be published) even if they are about to waste time since it's required to fulfill those goals. alden: you are great, thanks for that link, awesome movies sgrunt: affirmative
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Thank you for the comments. I actually like to watch submissions uses custom goals that requires modified routes and demonstrates glitches with only entertainment value and won't save any time. I think people don't have enough patience when they are about to watch a tool assisted speedrun :(
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Post subject: Submissions with time sacrificing game objectives
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Hi. I have a question regarding what does users thinking about when they click the yes/meh/no (especially when they don't describe it) on submissions with elaborate game objectives where you "waste" time in order to achieve those custom goals. Sometimes I watch a speedrun submission with "non-sense" game objectives for example #2908: HappyLee's NES Super Mario Bros "lowest score (500)" in 14:32.8. Of course it's slower then the actual speedrun, and wastes time but tries to entertain as much the game could by using impossible tricks that can't be done in realtime. I never understand that why does all the videos on TASVideos has to break speedruns. While the game objective (lowest score) is pretty simple, it's actually very hard to pull it off. No powerups, no killings, you have to be super precise to touch the flag at the correct time, etc. This applies to other submissions also, when you have to wait in order to complete the special game objective, not just this submission (I don't care if it won't be published, it's just an example). Basicly I'm asking that why there's only "breaks every previous records" speedruns are on TASVideos? I would also watch those inhuman super god plays of SMW without figuring out various japanese characters on nicovideo. I'm talking about adding a very simple extra page that contains "heavy time suffering" or something like that but still completing the game as fast as possible while making special game objectives that needs "massive" ammount of time. Feel free to correct me, I'm really curious about this. (Actually I think the same on the issue when someone uses the same bug all the time within 1 submission that faster than any other trick but very "unentertaining" and people vote "No" or "Meh" while that speedrun breaks previous (if there's any) speedruns. I only remember one occurence but can't recall the game's name. I'll find it if you are curious about it). So I feel it like a paradox.)
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Mister wrote:
You probably meant the glitch used at 5:15 in ISM's free run? http://www.nicovideo.jp/watch/sm1905170 http://www.nicozon.net/watch/sm1905170 (for non-registered members) This glitch can be done as follows: 1) duplicate yoshi, 2) kill visible yoshi, 3) then invisible yoshi becomes visible. If you are riding the invisible yoshi and landing on the ground at that time, you'll fall through the floor. There's another free run by ISM: http://www.nicovideo.jp/watch/sm2683695 http://www.nicozon.net/watch/sm2683695 (for non-registered) Both are so impressive that you enjoy yourselves, I believe. :)
Thank you very much, you are great! This trick leads to many funny glitch, i will play with this for a while :D
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
There's a glitch @ "Yoshi's Island 2" level [and other levels too] that i think it's already discovered: if you duplicate yoshi and you ride while something damages you (and leave yoshi who runs towards the goalie and touches the level's border) then you will instantly ride the invisible yoshi [without changing mario's position ----> you will fall down the floor if you don't jump before the "yoshi change"] Please confirm this, since i can't perform the "duplicating the question blocks" trick. [fully edited the post due uninformative details]
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
mudlord :) Bisqwit: To verify? As I said, the source code of the "hacked" (i just use your words) game will be open to everyone. And the movie file also can be replayed by downloading the original quake source code, making breakpoints to the keyboard input and mouse input, and send exactly the same data like in the movie file. For the emulator, I thought there should be an external program that handles game memory and enables memory search and other things that needed to special things like game restart within a movie. But since nobody interested in this project, there's really nothing about to talk :(
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Lord Tom wrote:
I'd be perfectly fine with this sort of project as long as the source code for the modified version were available -- so that at least theoretically one could verify that the author has made a good-faith effort to avoid gameplay-altering mods. We TAS on emulators, not the original hardware, so I just don't see what difference it makes to add TAS capabilities into the source code of the original game.
Of course I thought that I would upload the original source code for the open source games (I think eula and license permits this) and also the modified version, so anyone can read the whole source code and rebuild it if he/she doesn't believes me :) And another thing regarding the "replaying the same input in the unmodified game". Since I'm about to make the TAS functions as perfect as I can (using external memory buffers, eliminating delays (if there's any)), there won't be impact on the outcome. But even if you would really like to play the TAS movie on the unmodified game -> just simply debug the original source code, make breakpoints on the user inputs, since the gameplay time and hostframe time and anything will also stop at those breakpoints. (I bolded this because this was a crucial threat about proving that the same input replayed on the unmodified game would be the same)
BadPotato wrote:
Patching manually your game could be hard and very long... If your going to add TASing tool on a simple windows game, maybe you should ask this guys, if his project already support it first, before your work is wasted.
It's not that long. I'm not a super special programmer expert guru (like John Carmack). I just simply have high IQ and generally understand the intent of the game's developers and also I'm a hacker :) Step-by-step: - find the main function that runs every frame (usually called host_frame) - add functions: frameadvance, readinput, readinputfromfile, frameback (later...), framepause, saveinput, loadstate (depends heavily on the game's code, it will be a very fast emulation), savestate (same), showgui (special TAS gui that shows frame number, TASer's favorite memory values like velocity speed, etc). I think I will make a documentation about the useful functions and I will use the same function name for all the other open source games to avoid confusion and to provide easy overview for others. And important thing about starting a TAS of an open source game: - Reading the full source code to find possible glitches and bugs (and writing down the cycle of a frame and other things.) I'm also interested in playing a game in various fps_max(maximum frame per sec) because it's alters game physics. For example in HL, playing on fps_max 20 you advance 160 unit by pressing +forward for 1 frame with 0 unit/sec initial speed, while in fps_max 100 you advance 32 unit.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
If anybody would name a game, and I can download it's source code [and I know that language] then I would make a TAS version of it. And after time, the speedrun would be released [somewhere] and the next project would start with the same procedure again.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Warp wrote:
I see one potential problem in adding TASing capabilities to the game itself, rather than the game being run unmodified inside an emulated environment: Namely, the game effectively becomes a hack.
So running a game inside an emulated environment to advance one frame, which isn't supported by the game itself (there's no such function like "advance one frame" in 95% of the games) wouldn't be called as a "hack", while playing a game that has this function after adding it into the source code is a hack. I don't agree with that but it's only my opinion.
Warp wrote:
The TAS would be completely non-problematic if the resulting recording file could be playable with the original, unmodified game (some games officially support user-recorded "demos", which would allow this). However, not many games support this. If the recording file is only playable with the modified game, the question raises whether it's equivalent to playing the original game. How can be know that the modifications didn't modify some elements of the gameplay itself? (It could be conceivable that such modifications could change some delays and such.)
If the programmer made such an elaborate Host_Frame code that either corrupts memory or make a timer to time the execution time of the Host_Frame, I could simply time my own function, and delete it from the final time. Basicly, since I can read the "whole" cycle of one frame (Host_Frame's most of the times are fully released), I can make it to work 100% as I would like to. So delays are eliminated fully. For memory, I would either read the minimal system requirements of the game and make a huge memory buffer (sounds crazy, cause it's crazy) or do something similar (pagefiles or anything) so memory corruption would be still "emulated". And I would use custom memory buffer for my own functions. And how to check that the speedrun on the modified game is equivalent to playing the original game: memory dumps, code cycle watches, breakpoint analysis, value storing, etc. Depends on the game's source code, there's no global solution for this.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
After reading your post, I searched for other TAS-es, but I only found Doom I [18:38] and Doom II [23:11]. I understand the "tool-assisted speedrunning", but why others try to TAS open source video games with harder techniques? For example, Quake (okay i won't use this for an example next time). Why others try to make a TAS of it by writing scripts? You can't do huge and precize mouse skip (like 286° turn and +29 Y...) And also fps drop... So my question still lives for those games that don't have a TAS speedrun (or even a normal speedrun).
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Post subject: TASing open source video games for PC!
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
As a speedrun enthusiast and programmer, I'm about to start this project. Since we can't perfectly emulate the PC platform, the only way to TAS a PC game (atm) without desyncing (memory hacking, script writing...) is adding TAS functions into open source games. How does it works [the TASablegating]: - Downloading an open source video game's source code (for example: Quake) - Adding TAS related functions like printing out memory values (enemy HP), advance one frame, reading input from file, etc. - Build source code and release executable file (the game's main exe file) Open source video game means that the game's source code can be downloaded from the internet and you can modify it (of course the engine license is not permits to "do what you would like to"). For example, downloading Quake source code to make a new ability like double jumping from Unreal Tournament. There are many cons for releasing a game's source code. For further info, please read this page: http://en.wikipedia.org/wiki/Open_source_video_game Some open source video games that I recommend to make a TAS speedrun of it (in random order): NetHack, Wolfenstein 3D, Duke Nukem 3D, Doom, Heretic, Hexen I / II, Quake I / II, Abuse, Rise of the Triad, 0 A.D., Tyrian, Neverball, Tux Racer, Beneath a Steel Sky, Shadow Warrior, Alien versus Predator, MechCommander 2, Marathon 2: Durandal, Star Control 2, Blood 2, No Gravity, Chromium B.S.U. [bolds: SDA has runs of it] There were already TAS speedrun of Doom I and Doom II, so it's definetly works. For more open source video games and informations about the games I mentioned -> http://en.wikipedia.org/wiki/List_of_open-source_video_games http://www.classicdosgames.com/misc/source.html http://en.wikipedia.org/wiki/Video_games_notable_for_speedrunning http://en.wikipedia.org/wiki/Category:Commercial_video_games_with_freely_available_source_code http://www.hotud.org (google search) And how to make a TAS for these games: Every game have different source code, and needs different movie file. Here is an example: Quake from Id Software. After downloading the source code of Quake, I open it in the supported ide (for quake: vc++ 6.0) and find the most crucial program code parts like: hostframe (which runs in every frame), input handling, and then find tas related memory values (i mean boss hp and other things), and write frame advancing (for first: only forward.) and other options. Movie file example:
Quake has 18 actions and the mouse. I didn't read the whole quake source code, but as far as i saw it, the movie file will contains bytes like this:
0xFF 0x01 0x00 0x02 0x00 0x01 ... [more 16 bytes] and 0x00 then mouse coordinates (or whatever quake uses).

So what's this:
0xFF - new frame
Next 18 bytes: the corresponding actions (for example the first byte: +attack, next one: impulse 10 next one: +jump)
0x00 -> nothing
0x01 -> pressed
0x02 -> released
so 0xFF 0x01 0x00 0x02 0x00 and more 0x00 means that you pressed +attack and released +jump.
And I would write a simple replay function that would read these bytes from the file and giving these inputs in to the quake's original input handling function. And if the game wouldn't have a "startmovie" or "record" or other things, I could simply write a function to make a screenshot for each frame, and then you just simply run bmp2avi software or anything. That's all. Now what about TASing a modified (this way, to make it TASable) open source video game... Desync: Making the very same (frame by frame) input in to the original open source video game and in to the TASableted would have exactly the same outcome. Desync can't happen, because the input will be played back from frame to frame. I think only multi threading would be a headache. And of course you need a PC that mets the minimal system requirements to play the game. I don't think that a PC game would use such a complex random generator that would be changed cause there's other functions or because a hostframe code part makes more CPU cycles... Viewing the TAS movie: 3D games TASes must avoid motion-sickness. Of course, speed is more important. But I think you know what I'm trying to aim. Various possibilites by editing the source code of a video game: - Making a "buttons pressed" GUI like the one in one of the Super Mario World speedrun (that synchronizes buttons to the music) - Make comments on world brushes (just to mention a possibility, of course i wouldn't recommend this) - Make camera effects for the final movie (like quake speedrun) - Make internal subtitles or anything - Really anything. The only thing I need or anyone who is a programmer is the source code. I wrote Quake for examples because I already own it. Oh and two pros for open source video games [there's more actually]: -You can read nearly everything, how the game works (finding bugs, glitches, avoiding frictions, etc) -TASes of these games will works like that they are an emulator and they replay the submission movie just like someone would play it. So my only question would be this: Anyone interested in it, making a speedrun for an open source video game? Finally, sorry for my sluggish and lousy english. And I also tried to NOT make a long post. I failed. [edit: just text formatting + desyncinfo update + updating the games section after reading warp's post]
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Sticky wrote:
Is there a search engine on archive.org? I almost guarantee that website is on there, it is just a matter of finding it.
You can't search for texts on wm.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Patashu wrote:
Is it possible that it was on geocities? Because geocities finally got taken down.
As I remember it was hosted as a main domain (for example lmao.net). I searched wikipedia for forms of art and I found "Glitch Art" which should be the main genre I'm talked about. And already tried google it by including glitch art as partial search, but still can't find it.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Post subject: Gallery of bizzare/scrambled platform screens website?
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Between 1999~2001 I saw such a website that had thousands of pictures like game screens being scrambled up for example on DOS due out of memory, unintended colour palette switch, full random obscure lines across the monitor, integer overflows, memory leak effects, etc. and now I can't find that website. I tried to search it with google by defining insanely long search term (using excludes, partial / full includes, etc), but still nothing. I found the old ones that I already read just like: http://themushroomkingdom.net/bugs.shtml http://davidwonn.kontek.net/ http://www.flyingomelette.com/oddindex.html The only thing I can remember that there was also an exhibition with these pictures covered with frames made of wood, and words like "museum", "scrambled", "crash". So basicly I would see pictures being "morphed" due random hardware-software related problems, and not glitches/exploits. If anybody would know this site or could mention other, I would appreciate it.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
ZeXr0 wrote:
There's no way this will be an accepted method on TASVideos.
That's why i posted it on the SDA primarily. I just thought that i should share my experiences and ideas with you.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Hi. I'm new to this forum (actually i already wrote a thread related to emulating PC games). I posted ~6 hours ago on SDA about my ideas of making a PC game TAS aid application, then user "moozooh" show me that thread. I'm thinking about ideas since ~2009/10, how to make a program that able to "gently" pause everything for the ammount of time of your choice then holding down buttons that the game will process then advance one frame.
upthorn wrote:
The basic idea is to hook the Windows system and DirectX DLL functions for things like sleep, time, input, and display, to fake determinism. Though this explanation is, as far as I can tell, greatly simplified compared to what has been necessary.
Well my latest idea (as i already wrote on SDA) is to watch the game's host_frame variable (as i know, most of the games has a variable like this, that increases from frame to frame by one, and also, most of the game's that i read they open source code had at the very very end of the Host Frame function (which is a very good thing)) and then adding a custom assembler code that would call my own function that would make the threads to sleep for the ammount of time i need, then regarding to my intentions, go for next frame (jump back to the point after adding one to host_frame variable), or pause the game (jump back to the beginning of my function), etc. However i never did anything similar to this (making an assembler code that would call my C# function [that would call kernel32.dll functions mainly]), that's why I wrote on SDA that i'm about to contact various programming threads. My goal is to make Half-Life (a complex PC game) to be ready for TAS. Of course i'm about to test on a simple game i made, so i can view results instantly. Save-states... the problem with complex PC games is that the randomization (as far as i know) can be really random, so making the same input-sequence should results differently [correct me, if i'm wrong]. Recording... well, maybe using fraps during gameplay... or making instant screenshots (and maybe instant wav files or wrap the sound.. ah I hate this kind of methods).. Input file... well... as i said, that random is a hateful factor, especially if you can't control it. I mean there's no problem about making an input file, but the playback... so there would be no chance to verify a run, if you can't playback it as it meant to be playbacked. When I have time, I will try to achieve these things and share my experiences.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Post subject: Questions about making a PC emulator
MESHUGGAH
Other
Experienced Forum User, Published Author, Skilled player (1892)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Introduction: Hi, i'm new to this forum. I'm watching tasvideos weekly since a year, i'm totally addicted to intensive-immersive massively abused insane gameplay style, and always have a hunger to watch holy speedruns from day to day. On SDA, we already discussed about the possibilites of making a Half-Life TAS. However we stuck at making it possible to maintain frame-by-frame gameplay. Briefly, we have a "minimalistic", pseudo frame-by-frame gameplay by pausing the game, holding down the buttons for the next frame, then unpause, and instantly pausing the game again... The problem, is that the game still communicates and processes frames while the game is paused. For detailed informations, read the topic @ SDA here: http://speeddemosarchive.com/forum/index.php/topic,10168.75.html I'm a C# programmer, and all i could do [in the general concept of making a tas only for HL] is to read the important memory addresses like "in air", "speed", "frame number", and other helpful values. And also made a little bhop "script" that makes the perfect synchronize in air (moveleft and steer left, then release them, then moveright and steer right, release them, repeat until in air). And I thought, that #1 TASvideos has some skillful coder boys who has knowledge or great mind so they could help the whole SDA and TAS scene, #2 Making an all-game-supported PC emulator with a great gui that would spawn hundreds of PC game speedrun. Feel free to ask anything, i'll response it when i have time. EDIT: I forgot to write down the questions... I already tried various methods to do an instant pause in that very moment when ever i want it, but none of them works as it intended. So my first question would be, that anyone has an idea about simply pausing a whole game and resume with ease. This would help to do a minimalistic TAS. But it would be much better, if we could make a complete emulator that allows us to have full control over everything and having near-minimal gui that aids tas speedrunners with input recording ang playing. However there would be many problem (heavy desync, resource independency, making the emulator to work with many games [even DosBox can't 100% support all the existing dos games, oh and not mentioning the "position" of pause. There are glitches that can be only done within one frame.]). And that would be my second question, that anybody made an emulator before, or have better ideas...
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...