NS2: Proving Grounds

Proving Grounds was restarted Oct 2013.
Proving Grounds Mapping Guidelines 22/10/2013:
Entity Requirements:
Upto 32 Ready Room Spawns
PGGamerules
Upto 16 Team Spawns per team
Location Entities
Join Team Entities
PG is a Total Conversion Mod, it does not use Aliens, Tech Points, RT's or any of that NS2 stuff. Currently using Marine models for both teams, the game is an old school TDM like UT/Quake3Team Arena.

Installation Instructions:Extract the files on your PC. Move the folder pg into your "....\steam\steamapps\common\natural selection 2\" folder. Right click on ns2.exe and click on send to desktop(create shortcut). Right click the shortcut select properties.Find the line called target and after the "....\Steam\steamapps\common\natural selection 2\NS2.exe" add: -game pg.On my computer the target line reads - "F:\Games\Steam\steamapps\common\natural selection 2\NS2.exe" -game pgClick the general tab of the properties window.Change the name from shortcut to ns2 to something like pg or Proving Grounds.Click OKDouble Click the newly named desktop icon to launch the mod.When you open server browser, sort by game. If you sort twice (First alphabetically, 2nd time reverse alphabetically) this puts PG servers at the top of the list.Join as normal.

Proving Grounds is back, with a new update for NS2 beta build 215.

This has been a total code restart on the mod due to immense underlying code changes, by the UWE team, to the base game Natural Selection 2.

As a result of this restart a new plan has been put into place to release the mod with a higher focus on balance. Previously the mod was built by adding features and shipping them out, but this time, it has been decided to implement only some of the tech each time to try and maintain a fairer playing field between the two teams.

The code this time has been created to a higher standard, as more knowledge has been gained, and the game is looking to a bright future. Enjoy!

Below is the list for release details for the mod.

Features:

FPS play only, no commander mode.Clean HUD, no minimaps ('C' still shows main map)Team Deathmatch gameplay using classes, weapons and abilities from NS2Players press 'b' to buy/evolvePlayers earn Res through killing enemies and through a background flow of 1 res every 10 secs.Res is used to buyWin condition is kill the Hive/CCAliens use standard egg spawn, Marines have 3 IP's, These have to be protected.

Aliens:Aliens can buy up to 2 upgrades at a cost of 2 res each.Implemented upgrades are:AdrenalineCamouflageCarapaceCelerityHypermutationSilenceLifeform costs:Gorge 5Lerk 10Fade & Onos not implemented yet due to balance.

Press 'e' to resupply. A resupply wave costs 1 res and gives 2 clip ammo and 1 health regen. You will automatically receive as many waves as you need to fill up both ammo and health, provided you have the res. Note: weapon will be insta reloaded when using resupply.Res for Kills is a random amount between 5 & 15

Map Design: Maps can be level over level, should encourage regular combat opportunities, but need to respect the ranged vs melee gameplay. Vents are not needed, as this is meant to be death match, lives are not precious in death match. Not too many alternative routes, maybe 1 main route and 1 alternative route. Again we want lots of confrontation, if everyone is moving around by different routes, that's not going to happen.Power nodes are not used in this mod at present.

Changelog:Features - Added Celerity and Frenzy upgrades.Added Leap to Skulk as base abilityImplemented latest version of Dghelneshi's Instant HUD mod featuring spectator mode self icon (see where you are on the map as a spectator)

Currently teams have the 1 res tower producing res at the standard rate. I will eventually replace it with an automatic res-over-time system. This ensure even if players aren't getting many kills, they can still get some decent weapons/lifeforms over the course of the game.

I need help with a bug I've introduced, but can't see why.

Marine Bug: Weapon Res cost is not deducted from PRES when buying a weapon, as a side effect, players can buy weapons even when they are greyed out for free.

Any help, suggestions, advice appreciated in the creation of this mod. As stated it is not combat, but an evolution into different team death-match forms.

All code works fine, but I cannot test Res For kills, as I am playing on my own. Looking for a server to host this so we can have some fun, and I can develop this into something special for the community. Any feedback on things that don't work as expected, let me know, apart from the marine buy bug, which I already know about, just need a solution!

i would like to see a fast paced standard FFA deathmatch mod. might need a new map. Perhaps a quake remake? I think it might also help to identify certain network issues the engine might have.

I've been thinking about this for a while. It would be really helpful for modders if we had something like an FPSBase mod with all the basic FPS functionality. Ideally even vanilla NS2 should be built on top of this, meaning the current Player class would be called NSPlayer or something and inherit from the Player class in FPSBase. This way everything would be kept up to date. I should make a separate thread for this though...

I'd love to make a quake3/UT style high speed deathmatch at some point, but at the moment, it's more work to code single player games than it is team games with the NS codebase. For now, it will be various team deathmatch games, would like to have 3 or 4 different teamplay game modes eventually.

I hope to flesh out the code base so that I can create essentially a team deathmatch base, which can then be easily adapted into different game modes, by myself or anyone else who is interested. Keeping it within the a generic mod base should mean I'll be able to have the different game modes inside a single mod, using map codes at the start to differentiate the game types.

I like the idea of creating a framework, although I'd doubt we could make one that NS would be based off, but if we could create a base FPS which people could extend, that would be really helpful to the modding community.

This update is to turn the Gorge into a bit more of a team deathmatch player. Still very much a weaker player, he is still a support medic, but he now has better movement capability. The BileBomb may be overpowered, due to the splash radius, so will reduce that if neccesary in testing. It now does the same damage type as spit (light) has 5 more damage than spit, but has a 1 sec fire delay. So theoretically produces less damage over a time period, although splash radius affects that. This will have to be ironed out in gameplay.

I have a bit more of an idea about the marine buy bug, I sort of see how I have bypassed the system, but not exactly. When I fix the marine bug I will roll to version 0.2a. How long that will take I'm not sure, but I will continue to work on other code aspects as I try to solve it

Okay I did some testing and discovered the Marine buy bug is a figment of my imagination!! Yes, it turns out, when I turn on cheats 1 it enables you to buy any gun for free. When I turned off cheats it followed the design properly!!

So after many hours of wasted code confusion, next release, whatever it is will roll around the version number to 0.2a

I have decided to make some balance changes to make this more balanced as a death match game. I have tried to do as little as possible to make a more even field.

Reduction of bilebomb splash radius is because it's just too much.

Carapace upgrade changes, increase to skulk, gorge and lerk, no change to fade and a reduction on onos.

Grenade Launcher has been adjusted to Normal damage for targeting players rather than buildings. This obviously imparts a big advantage on damage, so the damage amount has been reduced. Further penalties for this weapon are a 0.1 sec extra firing delay and a reduction to a clip size of 5 (6 grenades in total, counts 1 chambered). Reduced the damage radius but increased lifetime, so it flys further, giving greater distance before exploding.

Shotgun has been upgraded and downgraded, with the intention of making it very powerful at close range, with a shorter tail off than currently.

I have reduced the max damage by 1/4, but upgraded the damage type to normal from light. I reduced the number of bullets per shot by 3, reduced the range at which it does final damage, but increased the range it does maximum damage. Also reduced the cone of spread due to less shots and to make it more deadly at close range. I may have nerfed the shotgun a bit too much. In which case I will test the max damage at 20-21.

These changes should set you up for a nice game.

Current Gameplay

You have 1 res tower per team when you spawn generating res at the standard rate.You start with 0 resYou earn res for kills, an amount between 1&3 to spend on lifeforms/upgrades/weapons.If you lose your res tower, you have to rely purely on RFK to sustain any lifeforms/weapons.Jetpacks are NOT currently available.Both teams buy through pressing the 'b' button, or whatever they have assigned to BUY in the options menu.When the hive or cc goes down, game ends.Currently can be played on any NS2 map, but something smaller like rockdown would be ideal for this kind of gameplay at the moment, although I'm not sure if the onos fits in there.

is the function that called the GetCelerityScalar(), which then fried on the maths.

I just don't understand any change that I have made to break this function. Especially as it's a newly added function to a file I haven't touched. Going to check AlienTeam and AlienTeamInfo, both files I have changed, to see if there are any conflicts. Any suggestions or advice would be great

EDIT
User Error

As it turns out, if you have a project open in decoda, but no files from that project open, then double click on a lua file from a folder, if it has the same name as one in the project, it will open the file in the project, rather than the one clicked, hence why the variable appeared to be there. Hooray for winmerge!

What exactly would be recquired to make a map work for this gamemode? I could probably whip up a quick map for some fun arena deathmatch gameplay, considering that there is no commander, maybe even multiple stories would be possible?

You would need 2 tech points, 1 set to alien start, 1 set to marine start. You need 1 res node within the vicinity of each of the tech points. Other than that, typical team deathmatch stuff, level over level is fine as there is no commander.

I'd really appreciate a map, that would really help with the mod taking off. Thank you very much for your kind offer

I didn't realise until playing NS2 earlier that UWE had added a 1 upgrade per hive limit, I have removed that and set it to a constant max 2 upgrades for alien lifeforms. There are however still only 2 upgrades implemented, swarm and carapace.

JetPacks are here!! Added them to the buy menu, so they can be bought as normal. I was going to reduce the cost to 10 Pres, but forgot, so they are currently a bit overpriced in comparison, but that will be sorted in the next patch.

I like the idea of creating a framework, although I'd doubt we could make one that NS would be based off, but if we could create a base FPS which people could extend, that would be really helpful to the modding community.

It would be good if a few members of the community came together to work on an all in one classic games mode mod, which includes all the usual stuff and maybe a few specially suited for ns2 with various options for customization like marines or aliens only, MvM, AvA, extra levels, build menu etc...

Some things I've brainstormed:-Hitscan weapons.-Gravity-affected projectile weapons.-Gravity-ignoring projectile weapons.-Melee weapons.-Player movement and controls - could be pretty broad here though, especially if we were to build a game as varied as NS from the FPS framework.-Single balance document with player health, movespeeds, etc. and weapon damage, range, rates of fire, etc.-Teams. or Free For All (essentially everyone's on independent teams but the scoreboard is displayed differently, so perhaps implement teams, implement team-joining conditions and then implement scoreboard options).-Mobile interactables. (e.g. flags)-Stationary interactables. (e.g. capture points)-Pickups/powerups.-Win conditions.-Bots.

So basically we want to strip away every irrelevant thing in NS2, and adapt relevant things to be more broad, and then make it all modular.

What I am doing currently is making a TDM game, which will have varying modes, but while creating that, I hope to create a central piece of code that can be used for team based fps games. I will use it myself, and hopefully others can use it to. This however is initially and primarily a game mode.

Such a lot of the NS2 code has to be removed to make an effective FPS only pack. I am doing it in stages in this mod, but the framework will be built up over time, probably from multiple different bases.

Currently I am removing bits as I need, and the further I work on this, more gets stripped from the framework.

So basically we want to strip away every irrelevant thing in NS2, and adapt relevant things to be more broad, and then make it all modular.

It's already modular, it's class based :PI wasn't thinking of making a drag and drop shooter maker, just the basic team framework that is already there, stripped out of all RTS stuff

Remove all command related code, including command structure. (Do we want structures at all even? maybe remove all structures and allow an entity creation system for spawn locations or capture points etc.)Remove all the code for using objects? I am seriously thinking about removing onuse() it's a function i just don't anticipate putting into a vanilla shooter. It's a lot of extra code and network traffic.

Things like the projectiles class already exist. If someone wants to make it ignore gravity then sub class it with gravity = 0. I don't want to write the mod for them, just save them the time of removing anything not required in a straight forward shooter, essentially making the mods full mods, and running faster than vanilla NS2.

By writing our own gamerules, which covers different gameplay types, as I will be doing over this and others mods in development, and keeping them in one file, people picking up the framework will already have a game that plays, has multiple gametypes and they just then modify it how they want.

Essentially, what I am doing to NS2 to make my mod, I want to save other people the time and hassle of doing. I want to give them a game that works, and is fun, then say, mod it yourselves. Kind of like Garry's mod, I write a mod, you cannabalise it anyway you want, either through code creating new entities for mappers to use, and adding it into the framework, for more gametypes, etc, or by creating map combining these different entities in different ways, remember siege maps? That game type existed only in the map, that ability doesn't exist yet in NS2 and I think it would be cool for something to be developed along those lines.

Ultimately though, I'm a relatively low-skill programmer, making a game mod, that hopefully will one-day be much more, a tool for mod makers, but at the moment, is just a small fun gameplay deviant from NS2

What will be etc, I don't want to get too far ahead of myself on that. I just want to focus on making a cool game first, then tidy up the code, then offer something to help new modders. Of course, my mod is always in open development and anyone can fork it's code at anytime, the only thing I'd ask if people do that though, is if you add some cool things, share them back with me, it'll help make the framework better in the end.

I was actually recently thinking that projectiles could each be treated differently, as separate objects, with the weapon only determining how projectiles are released. So you could create all sorts of strange projectiles, like bouncing projectiles, homing projectiles, for instance. Of course, I wouldn't want the projectiles to be completely independent, like being able to feed some initial parameters into the projectile: naturally, position and orientation would have to be in there already, but also stuff like the player's motion (speed and direction, or perhaps even their model's movements), so you could create a ball game for instance.

The ideal that I'm looking for would basically be... Here's an FPS game with these game rules, and an example of each component type; duplicate or remove components, modify component parameters, add specific behaviours to components, change the game rules, and you could essentially build an entirely new FPS (with different movement behaviours, weapons, and game-modes) in the space of an hour (ignoring assets).The possibility to rebuild NS2 gameplay (albeit without structures) should be there.

Actually, how much control do we have over assets, like particle effects for instance, in the lua code? Being able to, for example, change a giant red fireball into a tiny green fireball, by simply changing the RGB values and a radius value in the game code, would make it that much easier to make simple but graphically significant changes. You could probably do something like this with point lights currently.

I was actually recently thinking that projectiles could each be treated differently, as separate objects, with the weapon only determining how projectiles are released. So you could create all sorts of strange projectiles, like bouncing projectiles, homing projectiles, for instance. Of course, I wouldn't want the projectiles to be completely independent, like being able to feed some initial parameters into the projectile: naturally, position and orientation would have to be in there already, but also stuff like the player's motion (speed and direction, or perhaps even their model's movements), so you could create a ball game for instance.

The ideal that I'm looking for would basically be... Here's an FPS game with these game rules, and an example of each component type; duplicate or remove components, modify component parameters, add specific behaviours to components, change the game rules, and you could essentially build an entirely new FPS (with different movement behaviours, weapons, and game-modes) in the space of an hour (ignoring assets).The possibility to rebuild NS2 gameplay (albeit without structures) should be there.

Actually, how much control do we have over assets, like particle effects for instance, in the lua code? Being able to, for example, change a giant red fireball into a tiny green fireball, by simply changing the RGB values and a radius value in the game code, would make it that much easier to make simple but graphically significant changes. You could probably do something like this with point lights currently.

Most of the particle effects are sprites, including the fade blink effect etc. These would need a replacement sprite to change, but is simple enough to do. You just make a new file with the same name, or update the name of the sprite filename in the code.

Point lights, their color, radius etc, are all set by mappers in the map. Same with all light entities, sound entities. A lot of the customisation for a game happens at the mapping level. Coding just offers more or less options on each of these entities.

Essentially what you want to create is way beyond me at my current level of programming. If you want just the lua code base for people to edit, that is possible, but they are never going to create a completely unique game in an hour, sure a modified rule or two, maybe a different character movement or two, but not much more than that, unless you remove programming and just include a drag and drop interface.

A toolkit that helps you write a game in an hour? If you write, I want to use it. That would be the best gamemaker tool ever created

---Edit

Reading back what you really want to do is write a lot of game entities that mappers can then pull into maps, set various options on them and change game behaviours. That would be possible to make new game modes in a relatively short period of time, albeit requiring the building of a map too, kind of like how siege was invented in NS1. Control and varied use of assets really happens in the map, the creation of the assets happens in the code. You make each asset as flexible as possible, and leave imaginary combinations up to mappers to develop gameplay types. You can then code rules from any of those gameplay types into the gamerules specifically, if any of the game modes turn out to be any good.

Guys I desperately need some ideas and suggestions about what to implement into this game.

Let me go over a few things that I want out of the game:

I come from a Q3/UT gaming background. In this mod I am looking to make something along the lines of those games, in that:

There is a skill curve. Players must be able to use everything with ease, but must have to learn the skills to become really good.In those original games, high skilled players always shone, but unskilled players were still able to get the odd kill. I want to take that concept into this tdm.

I have implemented the Fade momentum mod as this adds a skill element to the fade. I want similar ideas on things to implement for the other classes and for the marine weapons etc.

I want this to be fun for everyone to play, but to get to the top of the scoreboard, you need to be a skilled player. The RFK is the skill reward, and this is balanced by the standard res (0.25 every 8 secs) to top up those who are not getting as many kills, giving them a chance to play the higher lifeforms/weapons at least occasionally.

So how do I add more skill into the game? This is over to you guys. Give me your suggestions on what you'd like to see implemented in a skill based tdm between marines and aliens, BHOP is not an option, but other movement skills like the fade are

Instant HUD mod means now you lose the health from your bar the moment you lose the health in-game.As regards the UI all I did was remove the Team res displays and the commander name info from the marine hud. Currently the notification box is still there. I'm not sure if I will use that or not. if I decide not to, I'll get rid of it.

Marine hud, notifications box is now empty, may be removed completely if I decide it serves no use in the game.

I'm pretty sure you can generate point lights in the code, since the marine flashlight uses them.

Hmm, to elaborate a little further, my idea is along the lines of developing each "module" as simply "examples" - like, a projectile weapon, a hitscan weapon, a melee weapon, a player class, etc. in separate lua files - and each of these has easy-to-change parameters (models, range, damage, etc.; models, hitbox size, movement speeds, movement methods, etc.), and you can easily just copy and paste and rename or remove modules - with a couple of "indexes" (lua files) that actually implement them in the game, with another game-rules lua file as well. For balance purposes, some of those parameters could link in to a balance lua file (like in NS2).

I was wilfully ignoring the mapping aspect (such as actually placing weapons or power-ups or spawn locations for each player), but in terms of the framework game, you could simply have an entity that spawns any player on a team, and they choose a player class, and choose a weapon(s) - basically a bit like TF2 and UT combined.

Naturally, you'd also want all the staples of an FPS game: a single file that contains a HUD, which is called by a player class; health/armour/damage, collisions, in a standard game mechanics file; team-joining; etc. That sort of thing.

Ideally the components should be as game-rules-agnostic as possible. Basically you could build a simple UT/TF2-like FPS in an hour using placeholder assets. Anything further would require more: mapping (for specific game-modes), coding (for specific game-modes and behaviours), modelling (for total conversions) etc. - but if the framework is robust and flexible, that job can be made as painless as possible. I think it may also require a number of override functions, like you could specify a global gravity, but have a function that overrides gravity when you want to do interesting things with player or projectile movement.

Moving away from that topic, though, is your TDM going to be kind of like... CS with respawns or TF2 with costs or NS:CO without sustained upgrades?As far as suggestions for encouraging skilled play go, the more powerful, expensive stuff should be more difficult (require more skill) to use - so staying at the top of the scoreboard is both harder and easier at the same time. I would also add a resource cap without overflowing: and the most powerful, expensive upgrade on each team should equal this resource cap in cost. Basically, you make it so that it is harder to hold on to something powerful.

Initially it's NS without the RTS. Player Vs Player combat. So in essence, it's all of those?

They all seem to describe the same game to me, a respawning team game where you spend money on upgrades each life. Whether it be weapons/lifeforms/upgrades etc. The idea might not work and have to change, but for now that is the main direction. A fairly straight forward tdm. No power-ups or crazy stuff, at least not in this particular game. MvM games might have that kind of thing, but not the MvA modes.

The deeper details of the costs etc will all be balanced once people are able to start playing the game properly and testing gets somewhere.

I managed to get my first multiplayer test session in today, and discovered immediately that the marine respawn isn't working, so will need to look at that. Other than that most things seem to be working. Once I fix the marine respawn, issue, I look forward to further testing.

First of all, Many Many Many thanks to Dghelneshi for giving me the opportunity to playtest the game with someone. Unfortunately, or fortunately, we discovered a few issues in the gameplay. As this game is now in a playable state (both teams can spawn) I'd like anyone who plays this to let me know of any gameplay bugs they find.

Bug ListBilebomb does not damage marines. Rifle-Butt does not stun or knockback skulks. - I want to remove these, but this has occurred as a bug. Can't rely on bugs removing features for me Gestate time and GUI alien health bar update when gestating are not related. (NS2 coding choice, going to have to overwrite)

----EDIT

Playtesters required. looking for people to help me test general gameplay, investigate bug issues etc. The more the merrier. If anyone wants to help with ideas/coding too, by all means chip in