News:

Come Chat with us live! Learn how HERE!

Main Menu

"Avenger"'s builds

Started by Undeference, February 06, 2007, 12:30:17 AM

FooBar

Quote from: Undeferencein 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

Quote from: FooBarBasically, 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

Quote from: RisujinIf 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

Quote from: FooBar
Quote from: Undeferencein 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: FooBarUndeference/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.

Quote from: tuple on February 15, 2008, 11:54:10 PMThats what we need, helpful players, not more powerful admins.

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.

vcxzet

Quote from: FisherPI'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

ask paradox for flood protection he got it workin with no bugs on sst

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...

kevlarman

Quote from: FooBarUndeference/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#msg169333Ok 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

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

Quote from: FooBarAh, 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#msg169333Ok 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

Need help? Ask intelligently. Please share solutions you find.

Quote from: tuple on February 15, 2008, 11:54:10 PMThats what we need, helpful players, not more powerful admins.

Ace1

guys were do i put the svn file for the game.qvm?? for avengers build

Undeference

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.

Quote from: tuple on February 15, 2008, 11:54:10 PMThats what we need, helpful players, not more powerful admins.

vcxzet

Quote from: UndeferenceThe svnXXX.patch
I want it

Ace1

so if i put it anywere in my trem folder it will work

Undeference

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.

Quote from: tuple on February 15, 2008, 11:54:10 PMThats what we need, helpful players, not more powerful admins.

Ace1

na i got the svn file with the game.qvm and i dont know how to write code

FooBar

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: apt-get install subversion
  • Make a directory for tremulous source code and move to that directory.  Something like this:mkdir ~/Tremulous
    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 commandsvn 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:cd ~/Tremulous/src/trunk
    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 cd ~/Tremulous/src/trunk
    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

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 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.


Paradox

TortoiseSVN comes with something called TortoiseMerge, can that  merge and compile, or do i have to use cygwin?

∧OMG ENTROPY∧


Undeference

svn -co 879 svn://svn.icculus.org/tremulous/trunkshould besvn co -r 879 svn://svn.icculus.org/tremulous/trunk
Need help? Ask intelligently. Please share solutions you find.

Quote from: tuple on February 15, 2008, 11:54:10 PMThats what we need, helpful players, not more powerful admins.

FooBar

You are so right.  I edited the original post.  Now we're even.  :)

Paradox

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

QuoteHmm, 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.

Quote from: tuple on February 15, 2008, 11:54:10 PMThats what we need, helpful players, not more powerful admins.

Rawr

Your build timer is screwed up.
I am running this on _____|COM|AoD|

FooBar

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

Quote from: FooBarDid 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. ;)