Author Topic: Build 10 vs. Newer Builds  (Read 1591 times)

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Build 10 vs. Newer Builds
« on: January 27, 2006, 01:28:33 PM »
It looks like there are still some people struggling with updating past build 10.  I'm trying hard to figure out what makes it "feel totally different."  There's really only two things I can think of that I've changed that would impact that:

1) I added a threshold to the movement input so joysticks won't cause it to spam packets.  If you don't have a joystick, this isn't going to make any difference.
2) I increased the precision of the packet rate calculations, so the number of packets sent more accurately reflects the cl_cmdrate setting.

I'll even post the code for ya:

Build 10:
Code: [Select]
cmd->msec = sys_frame_time - old_frame_time;

ppsstate = cl_cmdrate->value;

if(ppsstate < 5)
ppsstate = 5;

if ((cl.time+1000) < ppscount)
ppscount=cl.time+1000/ppsstate;

if (cl.time > ppscount ||
cmd->buttons != oldcmd.buttons ||
cmd->forwardmove != oldcmd.forwardmove ||
cmd->impulse != oldcmd.impulse ||
cmd->sidemove != oldcmd.sidemove ||
cmd->upmove != oldcmd.upmove) // user input has changed (jitodo -- check for text cmds)
{
ppscount = cl.time + 1000/ppsstate;
memcpy(&oldcmd, cmd, sizeof(usercmd_t));
old_frame_time = sys_frame_time;
}
else
{
return;
}

Current build:
Code: [Select]
cmd->msec = sys_frame_time - old_frame_time;

if (cls.state == ca_connected)
ppsstate = 10; // only send 10 packets/sec while downloading at console (jitodo - window sliding)
else
ppsstate = cl_cmdrate->value;

if (ppsstate < 5)
ppsstate = 5;

if ((cl.time + 1000) < ppscount)
ppscount = cl.time + 1000 / ppsstate;

if (cl.time > ppscount ||
cmd->buttons != oldcmd.buttons ||
// Check within a threshold of 200, so joystick movement doesn't spam packets
((abs(cmd->forwardmove - oldcmd.forwardmove) > 200) && ((abs(oldcmd.forwardmove) < 200) || (abs(cmd->forwardmove) < 200))) ||
((abs(cmd->sidemove - oldcmd.sidemove) > 200) && ((abs(oldcmd.sidemove) < 200) || (abs(cmd->sidemove) < 200))) ||
((abs(cmd->upmove - oldcmd.upmove) > 200) && ((abs(oldcmd.upmove) < 200) || (abs(cmd->upmove) < 200))) ||
cmd->impulse != oldcmd.impulse) // user input has changed (jitodo -- check for text cmds)
{
if (cl.time > ppscount + 1000.0f/ppsstate+0.5f || cl.time < ppscount)
ppscount = cl.time + 1000.0f/ppsstate+0.5f;
else // (cl.time > ppscount)
ppscount = cl.time - (cl.time-ppscount) + 1000.0f/ppsstate+0.5f;

memcpy(&oldcmd, cmd, sizeof(usercmd_t));
old_frame_time = sys_frame_time;
}
else
{
return;
}

The only thing that should change is that you'd be sending more packets with the newer builds.  If you don't like that, set your cl_cmdrate to a lower value.  I really don't get where this different "feeling" comes from...

If it's THAT big of a difference, I could include some setting to use the old code, but I think tweaking cl_cmdrate should effectively do the same thing.

Anyway, those of you who are dead set on using build 10 had better start helping me out now, because it probably won't be long before newer builds are required for anti-cheat purposes.

XtremeBain

  • Developer
  • Autococker
  • Posts: 1470
Re: Build 10 vs. Newer Builds
« Reply #1 on: January 27, 2006, 02:18:18 PM »
I encountered at least one player in the 1v1 ladder so far who had this concern.  One of them just got back to me and said that upon using Build 14 everything was fine.  It was the models in Build 15 which had threw them off, which I find to be a valid concern since it does take some adjusting to get used to.

I always thought it was the -z jumping in Build 9 that everyone desired.
* XtremeBain shrugs

loial21

  • Autococker
  • Posts: 2807
Re: Build 10 vs. Newer Builds
« Reply #2 on: January 27, 2006, 04:10:23 PM »
JITSPOE please!  I still cant see my balls untill they splat ;) I am now using build 13 and 14 but if I want to play at the same level as I was accustomed. I have to use q2 to play at that level and I dont like being called a cheat just becuase i like to see my balls flying. MEH!!! 

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Build 10 vs. Newer Builds
« Reply #3 on: January 27, 2006, 04:58:36 PM »
loial: unrelated, but I'll see if I can work something out for build 17.

Bain: That's certainly a concern, so for build16, I'm going to put a setting in to use the old models.  I think the new ones work a lot better though -- I know I play significantly better using the new models, but I don't want to give people reasons not to update.

MosheD

  • VM-68
  • Posts: 101
Re: Build 10 vs. Newer Builds
« Reply #4 on: January 28, 2006, 08:47:30 AM »
ok jits:

i got 014 now.. before i just got 15 and 10 and the different between them is very big.
my aiming intercoursed up because the sensitivity was strange.. don't know.. i configured my 14 now so i won't need 10 anymore..

(but i don't like 15 ;)

Playah

  • 68 Carbine
  • Posts: 485
Re: Build 10 vs. Newer Builds
« Reply #5 on: January 28, 2006, 10:02:07 AM »
yea the crouching models of build 15 arent beautiful to look at. They´re even very hard to see because they´re small and dark, imo. And also when they duck they just look like they´re hiding they´re head between their arms, as if they´ve got fear.

Or do you think otherwise?

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Build 10 vs. Newer Builds
« Reply #6 on: January 28, 2006, 03:07:22 PM »
Oh, the sensitivity thing -- that's because the mouse acceleration is disabled in build15 by default.  Well, actually I thought I did that in an earlier build, but you can set m_xp to 0 if you don't want to correct the mouse acceleration bug.

Once you learn to play without mouse acceleration, though, it's a lot better.  You can make perfect 180 degree turns consistently without having to worry about things like framerate and mouse movement speed messing you up.

As for the models, they crouch so low in order to match the bounding box properly.  You don't end up shooting through people like with the old models.  I plan to put an option to use the old models in build16 for the people who have trouble adapting.  I really think you'll be able to play better with the new models, though.  They're so much easier to hit because they fit within the bounding boxes properly.

I can certainly understand the differences between build 15 and previous builds, but say, build 10 and build 14 -- is there some kind of difference I need to account for?  That's my primary concern with this topic.  If somebody who prefers build 10 could explain to me what exactly is different about it, I'd greatly appreciate it.