Resources 4.1 and other Tremulous 1.3 ideas

Activity Score

  • Some of the player’s actions generate activity events. Every player has an activity log that stores all the activity events they’ve generated in the past 20 seconds.
  • Every activity event has a value. Events generated by damaging and killing enemy structures have the greatest value, events generated by damaging and killing enemy players have somewhat less value, events generated by building structures have the least value.
  • The value of each event is modified based on the proximity of the player’s own base: if the event happened in the line of sight of any friendly structure and within XXX quake units of it, the event is only assigned 20% of its normal value, similarly, if the event happened in the proximity of the enemy base, it’s assigned 200% of its nominal value.
  • Player’s activity score is: activityScore = sum / (sum + activityScoreConstant) where the sum is the sum of the events in the player’s activity log. The formula ensures that the activity score is greater or equal to zero and less than 1. The activityScoreConstant should be adjusted (or additional factors added, as long as the activity score remains bound to the range of 0 to 1) so that everyone can consistently get the activity score of at least 1/2 regardless of the in-game performance as long as they attack and don’t camp.

Supply Structures

  • Aliens have creep colonies, humans have refineries.
  • Every supply structures adds a single point to the supply score (if this proves too much, use something less-linear like supplyStructures ^ 0.8, but the reward should still be high for the first eg. 10 structures).
  • The supply structures have a certain minimum distance from each other.

Build Points

  • Build points are lost forever when a structure is destroyed.
  • Build points are generated by the supply structures at the rate determined by this formula: (1 - gameMinutes / 30) ^ (2/5) * supplyScore * bpGenerationConstant. This way, the generation rate will fall to about the half of the maximum possible rate over the course of the first 25 minutes of the game and will then abruptly fall down to zero during the next 5 minutes. Thus, it’s important to expand as early as possible.


  • Credits are continuously awarded based on the current activity score and the team’s supply score using this formula: creditsPerMinute = activityScore * supplyScore * creditAwardConstant.


  • There should be 4 or more upgrade stages. The team stages up every eg. 2 minutes, but only if they have the required number of supply structures (eg. 3 supply structures for stage 2, 4 for 3, 5 for 4). For example, if you have only 4 supply structures, stage 3 is the highest stage you can reach. If you have already reached the maximum stage you current supply allows, your team’s advancement is halted until you build more supply structures.
  • The teams can lose stages if they lose enough supply structures. A team can re-gain the stages it lost at the usual rate once they build enough supply structures.


  • Structures don’t require eggs or repeaters.
  • There are upgrades that allow fighters to build a single basic structure: seeds for aliens and beacon for humans. Up to 3 of these can be carried at the same time. Seeds allow building eggs, boosters and acid tubes, while beacons can be used to build turrets, armories and medistations.
  • Seeds can be purchased at any egg, beacons can be purchased at any armory.
  • The build timer doesn’t prevent evolving or buying weapons, but it persists after death (to fix the fast building CHEAT).


Sanity + some features from Tremulous mods.

  • It should only be possible to build a structure when the middle point and several other points (determined by the structures) of its base touch the ground. For example, structures like the Reactor and the armory and telenode and medistation should only be possible to build when the entirety of the structure’s base is on a solid substrate, while the machinegun turret should only require the center and one of its support extensions on the ground.
  • It should be possible to build turrets on ramps with angles up to 45 degrees.
  • Add crates and panzers to the standard Tremulous.
  • Make the reactor and the overmind cost 20 BP.
  • It should be possible to build other structures on top of (or, for aliens, on the sides of): crate, panzer, armory, defense computer.
  • Turrets should be smarter and not lose their lock-on all the time.

Games With Few Players

  • If a team has fewer than 4 players, it should get lower stage thresholds and credit and BP bonuses.
  • If there’s only a single player on the team, staging up should not require supply structures.


  • Reduce camping and encourage attacking.
  • Fluid gameplay and fierce battle for territory instead of the usual camp - rush cycle.
  • Huge bases, just like RCZ.
  • Don’t deny the new players the weapons on the basis of skill.

With your formula of activityScore = sum / (sum - 1), if sum=1 then activityScore) = 0 . Also if sum is a real number greater than 1, then activityScore would increase towards infinity as sum approaches 1 from the right and decrease towards 1 (but never reach 1) as sum approaches infinity. Finally if sum was a real number and 0 <= sum < 1 , then activityScore would start at 0 then decrease towards negative infinity.

However, if instead the formula was activityScore = sum / (sum + 1) = 0 while sum is a real number >= 0, then the values of activityScore would start at 0 and approach but not reach 1. Another thing to note would be that with this formula if sum=1, then activityScore = 1/2.

Yes, the graph is for x / (x + 1):

I changed to formula to “sum / (sum + activityScoreConstant)”, so both event values and activityScoreConstant can be greater than 1.

Sorry, I meant to say that with your formula of activityScore = sum / (sum - 1), if sum=1 then activityScore would be undefined, i.e. division by zero would take place.

what the shit is fluid gameplay? splatted, non-solid gameplay?


actual result

  • at each stage, everyone chooses the beefiest classes / weapons available, and rushes like crazy — after ~10 minutes into the game, every alien spawns, immediately evolves to an advanced dragoon for locomotion and sniping until buffered barb ammo runs out, and then evolves to a tyrant for anti-buildable kamikaze.
  • there is no significance in healing, except on extremely large maps: dying and respawn — restocking as a byproduct, btw — is faster.
  • there is no benefit in moving in a group or moving carefully.
  • team coordination is limited to team members announcing locations where the enemy is trying to attack or expand.
  • the dynamics of the game contains a bifurcation depending on the buildpoint-income rate reachable (which depends mostly on the size and the layout of the map, and the player count): it is either most beneficial to dominantly sp4m buildables, resulting in “buildable warehouses”, eventually leading to “base front line” clashes until income rate decreases significantly, or it is most beneficial to dominantly search and destroy buildables, leading to ever-dwindling buildable counts.1

1 not saying that this isn’t fun

That’s the great idea behind the proposal, at the peak of the game at least. Then, when the build point generation halts, teams will start losing their supply structures and their income rates will dwindle. This is to ensure that every game with somewhat balanced teams has a time when newbies can buy and use powerful weapons and classes to their heart’s content.

This is a natural consequence of the fact that dying doesn’t matter, at least at the peak of the game.

Well, it will still have a benefit of getting to the enemy base alive / with minimal damage so that you still have some juice in you to actually attack the enemy base. What won’t exist is the danger of losing credits if you don’t move in a group or move carefully.

What else does the current game-logic offer in terms of team communication?

Again, that’s the whole point! RCZ FTW!

be advized: the majority of the game will consist of this “peak”. so basilisks and marauders will just be transitional classes.

that’s a pointless, or at least a mostly insignificant point, based on the above.

  • cover me
  • move out
  • retreat (out of ammo, low on HP, etc.)
  • distract them while i […], etc.
  • prepare for an overmind/reactor move
  • enemy has reached stage n
  • there’s an enemy <buildable> at <position>
  • finish that low-HP enemy <…>
  • enemy overmind/booster/reactor/armory/medistation down
  • rush

additionally, in slightly modded gamelogics:

  • reloading weapon
  • i can haz sum of ur evos/crs?

more to be listed later.

be advized: this implies that there will hardly be any game in which careful handling (including defending) of buildable assets takes place.

The cover me, move out, distract them while I […], prepare for Reactor / Overmind move, enemy has reached stage n, enemy overmind/booster/reactor/armory/medistation down, rush should still make sense under Resources 4.0. Of the messages you listed, the only ones that don’t make sense under the Resourses 4.0 system are the ones that arise from the credit scarcity. You should instead think up some ways of increasing the strategic depth of the game that don’t involve denying the weapons on the basis of skill.

but they don’t. because u’re rushing 24/7 anyway.

Yes, that’s the idea behind the proposal. Shouldn’t have included rush, my bad. But how exactly does that makes the other messages useless?

  • cover me
  • fuck off, just rush
  • move out
  • wtshit do u think i’m doing?
  • distract them while i, uhm,
  • rush?
  • prepare for overmind/reactor move
  • there is no such thing in the “Resources 4.*” mod, u n00b; build another overmind/reactor
  • enemy has reached stage <n>
  • good to know… NOT
  • enemy <buildable> down
  • did u really just waste ur time telling us that? during that time, 5 other buildables have been cycled by both teams

We should just make it apparent to all players when critical events happen - reducing the need to ever stop and type out many kinds of messages to your team. When a player kills enemy structures, this should perhaps be shown in a list of things your team has ‘recently destroyed’. When ‘critical’ structures are destroyed, pop this list up and make it clear that that would be a good time to coordinate a rush.

so players should magically know when they hit, destroy, etc. an enemy buildable, even if naturally, such a fact may not be certain (a lot of tubes make a lot of noise) or even expectable (grenade / lucifer cannon ball blows up in the alien base)?

This (automatic reporting of important game events to team members) seems much better than guessing if you have in fact killed something and trusting team members to give accurate info. A compromise might be that only things that are destroyed which are ‘seen’ by a teammate would be reported; like launching some nades at OM and running away will not show anything but if you have line of sight to om when it dies, that would be reported. As it stands, people can erroneously or maliciously call out “OVERMIND down!! Rush now!” and teammates don’t know if that is good info to act on- and consequently acting on bogus info might really hurt your team.

this happens only in case of n00bs who don’t have binds.

this is to be fixed by having a predefined set of team messages (including “enemy overmind down !”).

from what point of view? i, a player who wants to win, would definitely want that feature available to my team, and would want that feature to be not available to the enemy team.

unfortunately, it is often the difficult-to-see ones that r most important to destroy “in hindsight”, and have a feel for reliably reporting success (this is a skill property).

this is true for all information that is broadcasted via team communication.

game design with protection against malicious actspro tip: is shit.

Actual proximity is near impossible to actually measure, and even line of sight is not reliable.

Total StarCraft ripoff, how about Leech, or something else which is actually descriptive?

NO. This completely breaks map balance:

  • some large rooms are very easy to control, even if they provide no strategic value, making camping easier
  • some layouts have 1 team start in a larger room
  • most maps don’t have multiple good locations of similar value, making this a race to the largest room, significantly affecting gameplay variety
  • humans have a huge advantage since they can effectively defend large rooms.

I admit that rep-fitting was fun, but available resources/locations should be defined by the layout.

Personally I consider such hard-coded timelimits to be complete hacks. The game state (ie which team has the advantage) should be reasonably unstable (e.g. make it possible to make significant gains even when at a disadvantage, or when the enemy is camping, and make it difficult for a team to protect significant resources, by spreading out the sources).

There are plenty of places where players expect to be able to build, where only the bbox edges are not on solid ground. Personally I’d limit this to midpoint only, and call it good enough. But in that case if buildings can be built on others, how to deal with falling ones…

figuring out the model orientation may be difficult

The ability to break lock-on added significant gameplay depth IMO, in addition to requiring turret’s to be placed so they support each other.

The players ability to keep track of what happens around them and willingness to communicate should matter. Also from experience there have been very few cases of false OM/RC down messages.