Monday, January 24, 2011

FPS Comparison

Performance has always been the biggest complaint I see about black ops, so I did a little experiment to see what turning off fog, effects, and sound does to your frame rate.  There is definitely an increase when turning them all off.  Keep in mind I took these screen shots on my beefy gaming computer (i7 OC'd to 3.6ghz, 6 gig ddr3 ram, and a 580 GTX) so most likely worse computers will see a much bigger increase than I did.  I don't know the exact numbers but I did see a significant boost when running blackops on my laptop that can barely run the game.

Summit - 154 FPS - Fog on, Effects on, Ambient Sound on
Summit - 174 FPS - Fog off, Effects off, Ambient Sound on
Summit - 188 FPS - Fog off, Effects off, Ambient Sound off
Cracked - 115 FPS - Fog on, Effects on, Ambient Sound on

Cracked - 129 FPS - Fog off, Effects off, Ambient Sound on
Launch - 248 FPS - Fog on, Effects on, Ambient Sound on
Launch - 264 FPS - Fog off, Effects off, Ambient Sound on
Launch - 131 FPS - Fog on, Effects on, Ambient Sound on
Launch - 140 FPS - Fog off, Effects off, Ambient Sound on

Sunday, January 23, 2011

Event Notifications

Blackops by default does a poor job notifying the player when important events happen.  How many times have you been playing a round of ctf and the other team not only takes your flag, but also captures it before you get any sort of audio cue?  

To help with that I added an event notification system that will simply write some text letting know how immediately when one of these events occurs.  If you team is the one triggering the event, more details are shown like "GoneMAD has taken the flag".  If you are on the other team the message is more general like "The enemy has taken the flag".

Supported events:
ctf_pickup
ctf_capture
ctf_return
ctf_dropped
sd_planted
sab_planted
dem_planted
sd_defused
sab_defused
dem_defused
koth_captured
koth_destroyed       

This is the first version of this feature.  I will most likely come back to this and try to fix the audio cues as well.








Saturday, January 22, 2011

Fixed sprinttime dvar

I fixed the scr_player_sprinttime dvar so you can adjust how long a player can sprint for.  Marathon will let you sprint scr_player_sprinttime * 2 and Marathon Pro of course is still unlimited sprint

Thursday, January 20, 2011

Fragcast

www.FragWorld.org featured an interview with me about GoneMOD in their weekly podcast.  We discussed:

  • Previous Mods
  • Features of The Mod
  • Current State of the Mod
  • Whats Next For the Mod
  • Black Ops Mod Tools
  • My Opinion on State of the Game


Listen to it here: http://bit.ly/hLJ5i1

Tuesday, January 18, 2011

Comp worthy sab is back

So anyone who played cod4 might remember the sab comp mod I wrote that was included in PAM and DAMN mods.  It was used in both CAL and TWL and really was fun to play.  I ported over that code with a few modifications into GoneMOD.

What is different in the comp version of sab over the stock version?  Well to start once time runs out in stock, it goes to a sudden death overtime which turns the game into TDM.  In my comp mode (gm_sab_comp_mode_enabled), once time runs out 2 things happen:  additional time is added (gm_sab_comp_mode_incrementtime) and spawn time is increased (gm_sab_comp_mode_spawnincrease).  This keeps repeating every time the additional time runs out.  You can also set a max spawn time so they don't get too out of hand (gm_sab_comp_mode_maxspawntime).  The extended spawn time makes it a bit easier to get a plant down and/or defend the bomb.  Without any increase in spawntime, two equally matched teams could go on for a LONG time before the bombsite is ever blown up.

I also customized some other aspects of sab.  Both the 2D and the 3D bombsites can be turned on and off (gm_sab_show_2D_bombsites, gm_sab_show_3D_bombsites).  You can also disable the bomb icon when an enemy picks up the bomb (gm_sab_enemy_bomb_carrier_visible).  With the icon always showing it is pretty cheap since you always know where the bomb carrier is at.

I don't recall the exact competitive settings we used when I was a admin for SAB on CAL, but it was something like this:

Best of 7 rounds
Initial Respawn Time: 10 secs
Plant Time: 5 secs
Defuse Time: 7 secs
Bomb Timer: 45 secs
Round Time: 5 min
Enemy Bomb Indicator: Off
2D Bombsite Icons: On
3D Bombsite Icons: Off (this prevented nade spam on the bombsite whenever it would flash)
OT Respawn Increase: 5 secs
OT Increment Time: 1 min
OT Max Spawn Time: No Limit (TWL used 60 seconds I think)

I recorded a video with idiotic bots to show some of these elements.  I made the times shorter just to keep the video as short as I could.  Also the music was recorded on accident.  I forgot fraps was set to record windows sound.

Sunday, January 16, 2011

Show GUIDs in game + Devmap notification

I added an ability to show the other team's players' guids.  It is currently only available during readyup and is bound to the same key as timeout (actionslot 2).  If I find a way to create custom actions or bind any key, I will make this ability available always.  I also will probably make an option to show it in the menu once the mod tools come out.  In the image below all the guids are set to 0 because they are bots and do not have valid guids.

setdvar("gm_readyup_show_enemy_guids", true);


I also added a notification that devmap is running on the server
setdvar("gm_sv_cheats_notifier", true);

Sunday, January 9, 2011

Overtime Settings

I added the ability to customize how overtime is played out.  I thought about providing a video but it would be fairly boring so I will hold off for now.  Anyway to turn on overtime customization you would use:

setdvar("gm_overtime_enabled", true);  If its set to false the stock settings will take over.

Right now I put in 6 different settings that can be tweaked for OT:

setdvar("gm_" + gametype + "_ot_timelimit, 10);
setdvar("gm_" + gametype + "_ot_scorelimit, 0);
setdvar("gm_" + gametype + "_ot_roundlimit, 2);
setdvar("gm_" + gametype + "_ot_roundwinlimit, 1);
setdvar("gm_" + gametype + "_ot_numlives, 0);
setdvar("gm_" + gametype + "_ot_roundswitch, 1);

ctf, dem, dom, koth, sab, sd, and tdm support this

In most cases timelimit, roundlimit, and roundswitch would be the only ones you would really want to tweak.  So now with GoneMOD we can setup a ruleset that matches some of the upcoming leagues/tournaments.  I've seen a few that use the following for ctf:

2 15 minute halves
if total score at end of 2 halves is tied, 2 7.5 minute halves are played for overtime

a config for this would look something like:

scr_ctf_timelimit 15
scr_ctf_roundlimit 2
scr_ctf_roundswitch 1
scr_ctf_scorelimit 0
gm_ctf_ot_timelimit 7.5
gm_ctf_ot_roundlimit 2
gm_ctf_ot_roundswitch 1
gm_ctf_ot_scorelimit 0

The mod would take care of the rest, no restarting necessary or new configs being loaded specific to overtime.  Player stats are also maintained throughout the whole entire match since there is no map restart.

For CTF specifically I added a sudden death option.  setdvar("gm_ctf_ot_suddendeath", "1");  The number you set this to will force that numbered overtime period to be sudden death. If I used the config listed above and had the sudden death flag set to 2, the first 2 overtime rounds would be considered the first overtime period.  If the score was still tied, the 2nd overtime period would begin and it would be sudden death.

In the future I will most likely have a dvar that will force an overtime mode in case teams need to switch servers or have to restart the game starting at overtime for some reason.

Thursday, January 6, 2011

Strat Time

I had an hour free last night so I coded up a strat time for SD.

setdvar("gm_sd_strat_time", 7)

If set to zero nothing will happen.  If greater than zero all the players stay frozen for until the time runs out.  Here is a screenshot.

Tuesday, January 4, 2011

Video Preview 2

I made another video that is sort of a walkthrough with commentary on some of the new features.

I discuss 3 of the newer features:

Timeout
A timeout option was added to all gametypes except for DM.  Right now sd waits til the round is over and then enables the readyup.  All the other gametypes let you do it while the game is still going on.  If a bomb is planted or both flags are not at their base, you cannot use the timeout.  The length of the timeout is configurable and so is the amount of timeouts each team gets (0 to disable).

setdvar("gm_timeout_count", 1);
setdvar("gm_timeout_duration", 60);

Bomb Dropping
You can enable bomb dropping for sd and sab.  For sd it only works if multibomb is turned off.

setdvar("gm_sd_allow_bomb_drop", true);
setdvar("gm_sab_allow_bomb_drop", true);

Enhanced Readyup State
Now when readyup is active the scores and other stats are all locked.  The objectives are also disabled (you cannot pick up a bomb or take a flag).

Also discussed:
-starting ammo count
-weapon drops
-flag dropping
-plant/defuse sounds
-silent ads
-point based scoring instead of round based

Sunday, January 2, 2011

Irc Channel and Steam Group

I setup an IRC chan on gamesurge and started a steam group so please join and spread the word.

IRC: #GoneMOD @ irc.gamesurge.net

Steam Group: http://steamcommunity.com/groups/GoneMOD

First 2011 update and there is a lot to talk about

So I worked on the mod most of today and added a bunch of new functionality.

Advanced Item Restrictions:

I expanded upon the existing weapon restrictions and added the ability to individually limit every weapon, attachment, perk(speciality), tactical, lethal, and equipment to X amount per team.  I read in the forums how weapons like the famas and aug seem to be the only thing used in scrims, so I upped the priority of this feature.


all the dvar names are the same but instead of them being a simple true or false.. its a number from 0 to 99 for how many are allowed per team (99 is the default).  setdvar("gm_smg_allow_kiparis", 3);

Weapon Drops:

Since we can now limit the amount of items individually, this allowed me to put in an option to limit weapon drops.

setdvar("gm_restricted_weapon_drops_enabled", true);

When this is true, any item that is not at the default value will not be dropped when the player dies.  If for some reason a more advanced version of this is needed, I can add dvars to allow drops on each item but that didn't seem necessary at this point.

I also added the ability to restrict getting resupplied with more lethal nades with scavenger and tactical nades with scavenger pro.

setdvar("gm_lethal_drops_enabled", false);
setdvar("gm_tactical_drops_enabled", false);

Starting Ammo:

Last week sometime I added the ability to set a starting count for lethals, tacticals, and equipment.  I finished out the customization by adding the ability to set starting ammo for primary and secondary weapons.  This will allow leagues that disable perks to give the players a decent amount of ammo to start.

setdvar("gm_primary_ammo_starting_count", 177);
setdvar("gm_sidearm_ammo_starting_count", 33);

Edit: I forgot to note that you can still not give a gun more ammo than its max.  So for example if the primary was set to 200, assault rifles and smgs would get 200 rounds but shotgun and sniper would max out around 40 I believe.

30 + 147 = 177  Math is fun!
7 + 26 = 33

Bomb Plant/Defuse Improvements:

All of the following applies to sd, dem and sab.  I finally decided to start working on the bomb based gametypes.  The first thing I did was added the ability to remove the briefcase when planting the bomb.  It really obstructs the view and I know all the "promods" take it out.  The next thing I did was take a look at the bomb planting sounds.  Apparently treyarch decided to remove some sounds without even adjusting the scripts accordingly.  The sd.gsc file shows a plant sound is supposed to be played, but I guess that sound does not exist anymore.  My solution was going through every single sound referenced in the script and find something good to represent the plant and defuse sound.  What I used isn't ideal but they are decent sounding for the time being.  I can always put in new sounds when the mod tools come out.  I also added an option to loop the sound during the plant since they are pretty sort.


setdvar("gm_" + gametype + "_hide_briefcase", true);
setdvar("gm_" + gametype + "_sounds_plant_enabled", true);
setdvar("gm_" + gametype + "_sounds_defuse_enabled", true);
setdvar("gm_" + gametype + "_sounds_plant_looptime", 1.5);
setdvar("gm_" + gametype + "_sounds_defuse_looptime", 1.5);