Author Topic: "Avenger"'s builds  (Read 64312 times)

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
"Avenger"'s builds
« Reply #30 on: February 12, 2007, 05:25:23 am »
Quote from: "Undeference"
in src/game/g_admin.c (line 993 in my copy) and change the 'G_SayTo' line to

I believe that "g_admin.c" should actually be g_cmds.c.  I mean, the error you mention is in the file src/game/g_cmds.c.

Undeference/Avenger: How do you propose to change the player_die routine?  I agree that the alien bit seems very inelegant.  I assumed that it was written that way because evos are only scored in integer values.  The human and alien halves of the routine could be reconciled if we start scoring evos as floats, but I suspect that's not what you intend...

On another note, I was also playing with player_die.  I didn't want to change gameplay by altering how cash/evos are awarded, but I added an independent section to change how "kills" are awarded.

Basically, in my version, when a player dies everyone who did recent damage to the player receives +kills or -kills depending on how much damage they did.  This includes both teammates and opponents.  In addition, a player receives -kills for being injured by opponents on the basis that this helps the opponents.

So effectively, the score in the scoreboard "kills" column now reflects how much you've helped your team, with 0 being perfect balance.

Is this similar to your approach?  I'd be interested in comparing notes and would be happy to provide a copy of the patch (or I could just post it on Bugzilla).  It's currently running on my server, Avalanche.

Risujin

  • Posts: 739
  • Turrets: +33/-13
    • http://risujin.org
"Avenger"'s builds
« Reply #31 on: February 12, 2007, 05:44:47 pm »
Quote from: "FooBar"
Basically, in my version, when a player dies everyone who did recent damage to the player receives +kills or -kills depending on how much damage they did.  This includes both teammates and opponents.  In addition, a player receives -kills for being injured by opponents on the basis that this helps the opponents.

If say, you did nothing but run around and get hacked to pieces by the aliens (without dying!), and ran back to heal every time, you have not hurt your team BUT your "kills" score would be deep negative. Not only does this make no sense (who was "killed"?) but it doesn't reflect your performance either.

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
"Avenger"'s builds
« Reply #32 on: February 12, 2007, 09:47:45 pm »
Quote from: "Risujin"
If say, you did nothing but run around and get hacked to pieces by the aliens (without dying!), and ran back to heal every time, you have not hurt your team BUT your "kills" score would be deep negative. Not only does this make no sense (who was "killed"?) but it doesn't reflect your performance either.

Sorry, I wasn't clear.  :)  Your score is only altered when you die.

Here's how the patch works right now:  When you die, everyone who's done recent damage to you is assessed.  The total damage done BY PLAYERS is divided up in points as follows:
  • Players on your own team get -points for damage done to you.
  • Players on the other team get +points for damage done to you.
  • You get -points for all damage done by the other team.

Points are given in proportion to damage done.  Human and alien point values are based on their assessed 'death value' and are then scaled linearly so that unarmed human = dretch = 1.00 points.

One consequence of this is that a player who dies mostly on turrets (or acid tubes) is only worth a few points to the alien who only provides the killing blow.

There's more nuance to this, of course, but that's the general outline.

Also, the patch will include a change to the scoreboard menu so that "Kills" is changed to the more appropriate "Score".  I want to repeat that right now, the patch ONLY affects the scoreboard.  It doesn't affect cash/evos at all.

Undeference

  • Tremulous Developers
  • *
  • Posts: 1254
  • Turrets: +122/-45
"Avenger"'s builds
« Reply #33 on: February 13, 2007, 02:15:25 pm »
Quote from: "FooBar"
Quote from: "Undeference"
in src/game/g_admin.c (line 993 in my copy) and change the 'G_SayTo' line to

I believe that "g_admin.c" should actually be g_cmds.c.  I mean, the error you mention is in the file src/game/g_cmds.c.
Yeah, thanks for pointing that out. I changed the post to have the correct file name.

Quote from: "FooBar"
Undeference/Avenger: How do you propose to change the player_die routine?
There are a different things I am testing, but nothing I specifically want. It could end up being functionally identical. Part of the idea is that the way that scoring is done can be readily changed by modifying code in as few places as possible.
Need help? Ask intelligently. Please share solutions you find.

Thats what we need, helpful players, not more powerful admins.

FisherP

  • Posts: 295
  • Turrets: +31/-32
"Avenger"'s builds
« Reply #34 on: February 15, 2007, 07:59:09 pm »
I'm not buying into all this "my patch is better than your patch" but I will say good work to all of you who are trying to improve the game.

My server is trying to find a game.qvm which has effective flood protection to keep spam kiddies from crashing our servers. If anyone can suggest something that doesn't have too many bugs PLEASE tell me - now be honest please.

vcxzet

  • Guest
"Avenger"'s builds
« Reply #35 on: February 15, 2007, 08:23:00 pm »
Quote from: "FisherP"
I'm not buying into all this "my patch is better than your patch" but I will say good work to all of you who are trying to improve the game.

My server is trying to find a game.qvm which has effective flood protection to keep spam kiddies from crashing our servers. If anyone can suggest something that doesn't have too many bugs PLEASE tell me - now be honest please.

if your server crashes because of spam DO NOT RUN IT

Ace1

  • Posts: 108
  • Turrets: +0/-0
"Avenger"'s builds
« Reply #36 on: February 16, 2007, 12:12:05 am »
ask paradox for flood protection he got it workin with no bugs on sst
img]http://img515.imageshack.us/img515/6499/ace1ho5.jpg[/img]

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
"Avenger"'s builds
« Reply #37 on: February 16, 2007, 04:19:08 am »
Undeference/Avenger, got another question for you...

I've been working on an anti-deconner patch against the latest SVN revision and I noticed that your patch does NOT include the g_markDeconstruct functionality that was in svn 880 and up.  No criticism, just curious why you left that out...

Actually it was a bit of a shock to see it in the current code.  From what I can tell this 'marking' buildables is a fairly different approach to building and I'm surprised I hadn't heard of it before.  I don't know any servers that use it, either...

kevlarman

  • Posts: 2737
  • Turrets: +291/-295
"Avenger"'s builds
« Reply #38 on: February 16, 2007, 04:40:39 am »
Quote from: "FooBar"
Undeference/Avenger, got another question for you...

I've been working on an anti-deconner patch against the latest SVN revision and I noticed that your patch does NOT include the g_markDeconstruct functionality that was in svn 880 and up.  No criticism, just curious why you left that out...

Actually it was a bit of a shock to see it in the current code.  From what I can tell this 'marking' buildables is a fairly different approach to building and I'm surprised I hadn't heard of it before.  I don't know any servers that use it, either...
it's not in his code because it requires extra work to make compatible with 1.1.0 clients, it also requires a client download for anyone to be able to see the decon marker (and that will just about empty your server). the functionality has been planned for a really long time, but it only went into svn recently.
Quote from: Asvarox link=topic=8622.msg169333#msg169333
Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
"Avenger"'s builds
« Reply #39 on: February 16, 2007, 06:02:52 am »
Ah, thanks, Kevlarman.  It does look pretty neat. Can't wait to see it when the next official version comes out.  In the meantime I guess I'll have to make sure my patch is compatible with it, which shouldn't be too difficult.

Famous last words.  :)

kevlarman

  • Posts: 2737
  • Turrets: +291/-295
"Avenger"'s builds
« Reply #40 on: February 16, 2007, 06:23:33 am »
Quote from: "FooBar"
Ah, thanks, Kevlarman.  It does look pretty neat. Can't wait to see it when the next official version comes out.
oops, i knew i was forgetting something in my post: there are currently 2 servers that have g_markdeconstruct up: trem.tjw.org and mg central (though mg central is in the middle of a move, so it might not be up for a few days)
Quote from: Asvarox link=topic=8622.msg169333#msg169333
Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

Undeference

  • Tremulous Developers
  • *
  • Posts: 1254
  • Turrets: +122/-45
"Avenger"'s builds
« Reply #41 on: February 16, 2007, 06:48:30 am »
Also Betaserv :-)
Need help? Ask intelligently. Please share solutions you find.

Thats what we need, helpful players, not more powerful admins.

Ace1

  • Posts: 108
  • Turrets: +0/-0
"Avenger"'s builds
« Reply #42 on: February 16, 2007, 02:33:14 pm »
guys were do i put the svn file for the game.qvm?? for avengers build
img]http://img515.imageshack.us/img515/6499/ace1ho5.jpg[/img]

Undeference

  • Tremulous Developers
  • *
  • Posts: 1254
  • Turrets: +122/-45
"Avenger"'s builds
« Reply #43 on: February 16, 2007, 03:41:27 pm »
The svnXXX.patch file is a patch file. Where you put it does not matter. You need to apply the patch to an appropriate version of the svn code using a program that applies unidiff patches.
Need help? Ask intelligently. Please share solutions you find.

Thats what we need, helpful players, not more powerful admins.

vcxzet

  • Guest
"Avenger"'s builds
« Reply #44 on: February 16, 2007, 09:39:50 pm »
Quote from: "Undeference"
The svnXXX.patch

I want it

Ace1

  • Posts: 108
  • Turrets: +0/-0
"Avenger"'s builds
« Reply #45 on: February 17, 2007, 10:07:12 am »
so if i put it anywere in my trem folder it will work
img]http://img515.imageshack.us/img515/6499/ace1ho5.jpg[/img]

Undeference

  • Tremulous Developers
  • *
  • Posts: 1254
  • Turrets: +122/-45
"Avenger"'s builds
« Reply #46 on: February 18, 2007, 02:28:29 am »
Where you put the patch does not matter. You just have to apply the patch to the source code (where that is also does not matter).
I am assuming you are referring to the patch file, since you said "the svn file". If you just want to use the pre-built game.qvm, you don't need the patch file at all.
Need help? Ask intelligently. Please share solutions you find.

Thats what we need, helpful players, not more powerful admins.

Ace1

  • Posts: 108
  • Turrets: +0/-0
"Avenger"'s builds
« Reply #47 on: February 18, 2007, 11:37:33 am »
na i got the svn file with the game.qvm and i dont know how to write code
img]http://img515.imageshack.us/img515/6499/ace1ho5.jpg[/img]

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
"Avenger"'s builds
« Reply #48 on: February 18, 2007, 03:31:17 pm »
Well, here's a brief outline of how to use a patch file...

First of all, to simply USE Avenger's mod (or any mod) you don't need the patch at all.  Just download the game.qvm file and put it in the right place, which would be:

Windows: C:\Documents and Settings\YourUserName\Local Settings\Application Data\Tremulous\base\vm\game.qvm
Linux: ~/.tremulous/base/vm/game.qvm

Second of all, if you want to make your own mods or change Avenger's mod... well, are you running Windows, or Linux?  Let's assume you're running Debian or Ubuntu Linux.  Then you need to do more or less the following steps:
[list=1]
  • Install Subversion using this command:
    Code: [Select]
    apt-get install subversion
  • Make a directory for tremulous source code and move to that directory.  Something like this:
    Code: [Select]
    mkdir ~/Tremulous[/li][/list]
    mkdir ~/Tremulous/src
    cd ~/Tremulous/src

  • Check out an SVN revision of the code.  If you want (for example) to make Avenger's mod, you'll need to use SVN 879.  To get this you call Subversion with the command
    Code: [Select]
    svn co -r 879 svn://svn.icculus.org/tremulous/trunkThis should download a full copy of the Tremulous source code into your current directory.

  • Now you'll want to apply Avenger's patch.  Let's assume that you've put Avenger's patch file (which is named svn879.patch) in your home directory.  Then you'd do this:
    Code: [Select]
    cd ~/Tremulous/src/trunk[/li][/list]
    patch -p0 < ~/svn879.patch
    and that would apply the patch.

  • Now all you need to do is compile the code, which is as simple as typing
    Code: [Select]
    cd ~/Tremulous/src/trunk[/li][/list]
    make

  • Once it's done compiling, all the new compiled files (including a game.qvm and the tremded and tremulous executables) can be found in ~/Tremulous/src/trunk/build and its various subdirectories.
  • [/list:o]

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
"Avenger"'s builds
« Reply #49 on: February 18, 2007, 03:32:29 pm »
Oh, and if you actually want to make your own modifications instead of using Avenger's mod, then after step 3 you can go into the source code directory (~/Tremulous/src/trunk in this example) and play to your heart's content.  When you've finished the changes you want to make, you can do
Code: [Select]
cd ~/Tremulous/src/trunk
svn diff > mynewmod.patch
and this will create a patch file containing all the changes you made to the original source code.

That's a rough outline, but hopefully it gives you an idea of what you need to do in order to make mods and use patches.

Ace1

  • Posts: 108
  • Turrets: +0/-0
"Avenger"'s builds
« Reply #50 on: February 18, 2007, 06:54:27 pm »
yea but i am using windows foo
img]http://img515.imageshack.us/img515/6499/ace1ho5.jpg[/img]

Paradox

  • Posts: 2612
  • Turrets: +253/-250
    • Paradox Designs
"Avenger"'s builds
« Reply #51 on: February 18, 2007, 07:16:51 pm »
TortoiseSVN comes with something called TortoiseMerge, can that  merge and compile, or do i have to use cygwin?

∧OMG ENTROPY∧

Ace1

  • Posts: 108
  • Turrets: +0/-0
"Avenger"'s builds
« Reply #52 on: February 18, 2007, 11:12:03 pm »
OH but i have avengers svn
img]http://img515.imageshack.us/img515/6499/ace1ho5.jpg[/img]

Undeference

  • Tremulous Developers
  • *
  • Posts: 1254
  • Turrets: +122/-45
"Avenger"'s builds
« Reply #53 on: February 19, 2007, 10:39:53 am »
Code: [Select]
svn -co 879 svn://svn.icculus.org/tremulous/trunkshould be
Code: [Select]
svn co -r 879 svn://svn.icculus.org/tremulous/trunk
Need help? Ask intelligently. Please share solutions you find.

Thats what we need, helpful players, not more powerful admins.

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
"Avenger"'s builds
« Reply #54 on: February 19, 2007, 04:31:38 pm »
You are so right.  I edited the original post.  Now we're even.  :)

Paradox

  • Posts: 2612
  • Turrets: +253/-250
    • Paradox Designs
"Avenger"'s builds
« Reply #55 on: February 19, 2007, 06:28:14 pm »
Hmm, does tjw's latest binary have the deconstruct markers on it?

Also, for flood protection, i use Risujins, and set g_minfloodtime to 2000, and g_maxflooddemerits to 3000, thats about 3 lines every 2 seconds.

∧OMG ENTROPY∧

Undeference

  • Tremulous Developers
  • *
  • Posts: 1254
  • Turrets: +122/-45
"Avenger"'s builds
« Reply #56 on: February 22, 2007, 12:30:24 am »
Quote
Hmm, does tjw's latest binary have the deconstruct markers on it?
His latest game.qvm does not include most of the new stuff in svn. It primarily includes various things he is/was working on that may or may not make it into svn eventually. But the svn revision that his patch is against is pretty old (and, if it did inclede most of the stuff in svn now, it would be a lot larger than it is).


My build against r879 had a lot of really stupid things (just stupid, not functionally apparent) so I decided to go the reverse direction. I made a new build from r899 that is almost identical to the r879 build, but actually required a lot less work. I also removed a bunch of things that served no functional purpose aside from increasing the patch size.

Since the patch is only concerned with the game.qvm, you should not apply it to any code you intend to build a client, server, or cgame from. (The patch includes a change to the Makefile to prevent making cgame or ui qvms.)
Need help? Ask intelligently. Please share solutions you find.

Thats what we need, helpful players, not more powerful admins.

Rawr

  • Posts: 918
  • Turrets: +1/-1
"Avenger"'s builds
« Reply #57 on: February 28, 2007, 06:01:48 am »
Your build timer is screwed up.
I am running this on _____|COM|AoD|
img]http://dvclan.org/statsig/statsig.php/3826/4.jpg[/img]

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
"Avenger"'s builds
« Reply #58 on: February 28, 2007, 06:26:32 am »
Hmm...

So, this patch doesn't include g_markDeconstruct because that requires client-side changes?

Did you specifically change the Makefile so that it would not make client-side qvms, or was that just a side-effect of some other change?

Risujin

  • Posts: 739
  • Turrets: +33/-13
    • http://risujin.org
"Avenger"'s builds
« Reply #59 on: February 28, 2007, 03:42:03 pm »
Quote from: "FooBar"
Did you specifically change the Makefile so that it would not make client-side qvms, or was that just a side-effect of some other change?

You can do that or you can just distribute the game.qvm and pray no major incompatibilities are found. ;)