Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Linguica

SR50 with turning in doom2.exe

Recommended Posts

This is a great find, thank you! Feels good to know that all these TAS demos are "legit" after all.

Share this post


Link to post

Checkmate atheists! This is just amazing, thank you for this research. While we're at it, are there any caveats to this approach? You've already mentioned that one could have turbo tics without the -turbo command, but what about the other side of the spectrum, - is there anything we can't do that otherwise can be done with mouse/keyboard/joystick?

Also, it seems like none of the "official" drivers allow for SR50 on turns, this can only be achieved by modyfing the ini (or creating your own), thus creating your own homebrew driver, is that correct? In that case from a complete purist's perspective it'll probably be still reasonable to be against SR50 TRXXX tics in the regular TAS runs, and create a separate category for the API-TASes and allow turbo and sr127 on turns within that category.

Share this post


Link to post
jongo said:

is there anything we can't do that otherwise can be done with mouse/keyboard/joystick?

I can't think of anything - the game uses the ticcmd_t structure to define the input data for each tic, and the external control API lets you pass arbitrary data to the ticcmd_t structure, which logically includes any and all "legal" configurations.

I do understand the dilemma this presents. The external control API was a real, purposely built part of the original game, with at least one actual driver released for it. It seems somewhat ridiculous to disallow it as a control scheme for demo recording - what, Wingman Warriors are banned? But at the same time, it has zero sanity checking on the data passed to the game that way, and lets you ludicrously do GF127/SR127, which is, oh, a mere 359% of normal running speed.

You couldn't even say "well, allow anything that doesn't result in a %s is turbo message", because the game only checks the forward component for that, so you would end up with demos with GF50/SR127, which would be just awful.

Another way would be to say, "well, we'll allow the exact input supported by the default Wingman Warrior driver", which would result in GF100/SR100 with full control: GF50/SR50 via keyboard / mouse, plus GF50/SR50 from the Wingman Warrior, plus turning control from the Wingman Warrior. (Has anyone ever done this IRL? I feel like SOMEONE must have noticed that you could haul ass with one hand on the joystick and the other hand on the keyboard.)

Share this post


Link to post

And while this was sitting in the post preview window I went and did a little research and found out that, oh hey, there were in fact other devices that used this external control API. Like, say, there was this thing:



Called the Assassin 3D, it was basically a souped-up trackball. It was unique in that you plugged your joystick into the Assassin 3D and then plugged that into your computer, and the Assassin 3D's software integrated the joystick commands along with the trackball commands. The year after its release the company licensed out the technology to MadCatz, which came out with the MadCatz Panther, which was basically a rebranded Assassin3D; and the MadCatz Panther XL, which was the same trackball integrated into a complete joystick / trackball device, and which used the same drivers:



"Well that's all well and good" you say, "but how do you know it used the external control API?" Well I don't KNOW it, but I downloaded the original DOS drivers, and this gives me a pretty good clue:



Also, amazingly, the original(?) website with information about setting up the controller for Doom is still active:

http://www.vsavoldi.com/fpweb/info/doom2.htm

And even more amazing, there's actually a page of Doom 2 demos too! Something happened with the LMPs and they're all weirdly corrupted, but they seem to play back fine for the first ten or twenty seconds. And what do you know, here is a demo dating from 1997, with SR50 and turns:

Share this post


Link to post

In the end, hardcore Doomers will only use a helicopter cockpit -with complete analog and independent roll (strafe), pitch (fw/back but also look up/down), collective/throttle (speed) and yaw (turn) controls ☺

Of course with the external control API.

Share this post


Link to post

Well, Compet-n movement rules always forbade anything not possible with a standard mouse+keyboard setup. As the relevant section says:

  • The player cannot have GF>50 and GB>50 tic.
  • The player cannot have SL>50 or SR>50 tic.
  • The player cannot have SL>40 or SR>40 tic if turning (TL>0 or TR>0).


And this was enforced by checking of suspicious demos with LMPC and other bespoke tools, I believe. Now, this was probably intended more at catching people manipulating demo files via LMPC or hacked .exes, but it wouldn't surprise me if Adam Hegyi etc. were also aware of the possibility for some obscure controllers to produce unusual movement.

Share this post


Link to post
Linguica said:

I went and did a little research and found out that, oh hey, there were in fact other devices that used this external control API. Like, say, there was this thing:

...

And even more amazing, there's actually a page of Doom 2 demos too

Woah, amazing. I knew about the Wingman Warrior but I didn't realise there were others. I wonder if there was documentation of some kind provided to manufacturers.

I wonder how many other devices out there made use of it.

Share this post


Link to post
fraggle said:

I wonder if there was documentation of some kind provided to manufacturers.

Well, I think we can assume there must have been *some* sort of guidance, otherwise they wouldn't even know it existed, much less how to properly invoke it / pass conforming data.

Share this post


Link to post

It might have just been a header file. I'm wondering if they bothered with anything more formal.

Anyway, I updated the wiki.

Share this post


Link to post
Sodaholic said:

Eh? What on earth does atheism have to do with any of this?

It's a meme. It's misused in this case I believe. It usually fits in after something supposedly unexplainable has been mentioned. :-D

Share this post


Link to post
Jonathan said:

it wouldn't surprise me if Adam Hegyi etc. were also aware of the possibility for some obscure controllers to produce unusual movement.


Even if it is possible to have such "unusual" input combinations -even assuming that you connect some sort of devilish controller that allows the player to do 180 turns on a dime with no loss of momentum -what tells us that anybody will actually be capable of meaningful performance, with this increased freedom, in a real-time scenario?

Even assuming that it is, a new speedrunning category should be created -Real-Time Unrestricted, where the use of the external control API will be allowed, under the condition that all inputs must be real-time, and not pre-programmed, not even as controller macros or shortcuts, except for those that generate a single gametic event. E.g. you may have a controller with a key that does a 180 turn in one gametic, but not one that executes a sequence of different gametic actions with just one player command at the controller.

Of course, once you allow a new Compet-N league for "super" controllers that are considered potentially game-breaking, it would make sense to make special leagues for "sub" controllers that are considered handicapping, too. E.g. a pure "vanilla gamepad" or "vanilla joystick" leage, a pure "keyboard league", a pure "single mouse league" (no movement keys mapped to keyboard) and then we'll really be able to see what the different performance caps between input methods are -if such caps really exist.

Share this post


Link to post
Linguica said:

(Has anyone ever done this IRL? I feel like SOMEONE must have noticed that you could haul ass with one hand on the joystick and the other hand on the keyboard.)

I've heard rumours that trick joystick use will trigger the turbo message without -turbo, but I always thought it was an Urban Legend of Zelda, or else cheaters trying to shift blame away from themselves.

Share this post


Link to post
VGA said:

It's a meme. It's misused in this case I believe. It usually fits in after something supposedly unexplainable has been mentioned. :-D

Yeah, purposefully misused because i found it funny and fitting well enough due to recent tasvideos-related discussions.

Share this post


Link to post
Maes said:

Even if it is possible to have such "unusual" input combinations -even assuming that you connect some sort of devilish controller that allows the player to do 180 turns on a dime with no loss of momentum -what tells us that anybody will actually be capable of meaningful performance, with this increased freedom, in a real-time scenario?

Even assuming that it is, a new speedrunning category should be created -Real-Time Unrestricted, where the use of the external control API will be allowed, under the condition that all inputs must be real-time, and not pre-programmed, not even as controller macros or shortcuts, except for those that generate a single gametic event. E.g. you may have a controller with a key that does a 180 turn in one gametic, but not one that executes a sequence of different gametic actions with just one player command at the controller.

Of course, once you allow a new Compet-N league for "super" controllers that are considered potentially game-breaking, it would make sense to make special leagues for "sub" controllers that are considered handicapping, too. E.g. a pure "vanilla gamepad" or "vanilla joystick" leage, a pure "keyboard league", a pure "single mouse league" (no movement keys mapped to keyboard) and then we'll really be able to see what the different performance caps between input methods are -if such caps really exist.



Funnily enough, "spinning utilities"—TSRs that use simulated mouse input to instantly turn 180 degrees—such as Doom Mouse Spinner explicitly *are* allowed by the Compet-n rules. I always found this a little strange given how purist the Compet-n admins were otherwise. Maybe it was an attempt to level the playing field a bit for keyboard-only players, or just a legacy of the fact that such TSRs were already around and popular when Compet-n started.

As for the utility of using weird controllers competitively, if the history of speedrunning has taught us anything, it's that players can master just about any technique if it confers an advantage. If players can learn how to induce memory corruption in console games in order to skip to the end screen, or master the baroque jumping techniques possible in later id tech engines, then manipulating two controllers to achieve a 100% speed boost is surely doable.

The per-controller speedrunning categories you suggest might be theoretically interesting, but let's face it, there probably wouldn't have been enough competitive interest to sustain them in the nineties, and there certainly isn't now. I did always think a "keyboard only" category would have been nice. Skilled keyboard control had a beauty all of its own, but became something of a lost art after WASD+mouse rose to dominate FPS play, but a league per controller would be overkill, and I suspect the relative results of each would be easily predictable ahead of time.

Share this post


Link to post

Can someone explain what you guys are talking about? I can't even find SR50 on google. I read about the external input drivers so that part makes sense.

Is this some way to do computer assisted speed runs or something?

Share this post


Link to post
potnop said:

Can someone explain what you guys are talking about? I can't even find SR50 on google. I read about the external input drivers so that part makes sense.

Is this some way to do computer assisted speed runs or something?

http://doomwiki.org/wiki/SR-50_automation has a good explanation.

Share this post


Link to post
On 6/14/2015 at 1:13 AM, Linguica said:

The year after its release the company licensed out the technology to MadCatz, which came out with the MadCatz Panther, which was basically a rebranded Assassin3D; and the MadCatz Panther XL, which was the same trackball integrated into a complete joystick / trackball device

A Sad Day: MadCatz has filed for bankruptcy :(

Share this post


Link to post
17 minutes ago, Linguica said:

A Sad Day: MadCatz has filed for bankruptcy :(

Shit... I liked their stuff... Got a mouse from them and a nice arcade stick with the good ol' sanwa parts built in. I kinda hope "someone" buys the remains of madcatz though.

Share this post


Link to post
Quote

Can someone explain what you guys are talking about? I can't even find SR50 on google.

google ..sweet^^ - waybackmachine needed at least I guess

but yeah took me quite some time now to get back into whats it all about, but the doomwiki link above really helped me.

SR50 Automation vs Straferunning -  where SR50 already neither being intended and best be "awkward to activate".

 

 

Someone pls check - i really did all that lmp´s SR40 only?  and today all is on "automatic SR50" by construction??

omg 8)

 

 

Quote

Looks like there might be more to be said on sr50!

Quote

I did always think a "keyboard only" category

Ok then, I want a SR40 category and back my points all those kids stole with that poor excuse "we use steam and this new PRBoom build now, we cant even change that" :D  ...and maybe have to revalue my too harsh commentary here

 

 

Share this post


Link to post

SR50 Automation vs Straferunning - where SR50 already neither being intended and best be "awkward to activate".


sr50 doesn't have to be awkward to activate. In vanilla, you can go into the config file (just like you would to turn on autorun) and set forward/strafe direction/turn direction/'strafe on' to the same key and you can sr50 with one key press.

Someone pls check - i really did all that lmp´s SR40 only? and today all is on "automatic SR50" by construction??


omg 8)


If you never pressed 'strafe on' then you never used sr50. The "automatic sr50" you're talking about is that prboom+ added a change that adds a turn direction when you press 'strafe on' while strafe running. So instead of strafe running + pressing 'strafe on' and dragging the mouse (or pressing another key to turn) like in vanilla, now you don't have to drag the mouse anymore. What makes this different from vanilla is that prboom+ lets you strafe run in both directions without the extra key-press. In vanilla, binding a turn direction to "strafe on" lets you sr50 in one direction without dragging the mouse, but you still have to drag the mouse for the other direction. If you bind a turn direction to "strafe on" in pr+ 2514 you can revert back to the vanilla behavior.

Ok then, I want a SR40 category and back my points all those kids stole with that poor excuse "we use steam and this new PRBoom build now, we cant even change that" :D ...and maybe have to revalue my too harsh commentary here


Some people do try for sr40-only demos, you could try searching "sr40" in the demos forum.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×