NS2: Proving Grounds
Soul_Rider
Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
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.
-------------------------------------------------------------------------------------------------------------------------
<div class="IPBDescription">TDM Mod</div><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro--><b><!--sizeo:3--><span style="font-size:12pt;line-height:100%"><!--/sizeo-->NS2: Proving Grounds<!--sizec--></span><!--/sizec--></b><!--colorc--></span><!--/colorc-->
Current Version 1.6.0a
Download Link: <a href="http://www.duplexgaming.co.uk/downloads/mods/69/ns2%3a%70rovinggrounds/" target="_blank">NS2:Proving Grounds Mod</a>
<a href="http://www.moddb.com/mods/proving-grounds" target="_blank">Proving Grounds On ModDB</a>
<a href="http://modbeans.wikidot.com/provinggrounds" target="_blank">Proving Grounds on Mod Beans Wiki</a>
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 pg
Click the general tab of the properties window.
Change the name from shortcut to ns2 to something like pg or Proving Grounds.
Click OK
Double 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 NS2
Players press 'b' to buy/evolve
Players earn Res through killing enemies and through a background flow of 1 res every 10 secs.
Res is used to buy
Win 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:
Adrenaline
Camouflage
Carapace
Celerity
Hypermutation
Silence
Lifeform costs:
Gorge 5
Lerk 10
Fade & Onos not implemented yet due to balance.
Marines:
Marine weapon res costs are:
Welder - 2
Mines - 5
Shotgun - 10
Grenade Launcher - 15
Flamethrower - 20
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
Official Proving Grounds Mapping Guidelines
Entity Requirements:
Maps require 32 spawns in the ready room and the relevant NS2 join team entities.
PGGamerules
2 Tech Points (1 Marine Only & 1 Alien Only)
Location entities for each spawn room, other locations optional.
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.
Create content, add suggestions, let's make this game amazing :)
I'll see you on the Proving Grounds...
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.
-------------------------------------------------------------------------------------------------------------------------
<div class="IPBDescription">TDM Mod</div><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro--><b><!--sizeo:3--><span style="font-size:12pt;line-height:100%"><!--/sizeo-->NS2: Proving Grounds<!--sizec--></span><!--/sizec--></b><!--colorc--></span><!--/colorc-->
Current Version 1.6.0a
Download Link: <a href="http://www.duplexgaming.co.uk/downloads/mods/69/ns2%3a%70rovinggrounds/" target="_blank">NS2:Proving Grounds Mod</a>
<a href="http://www.moddb.com/mods/proving-grounds" target="_blank">Proving Grounds On ModDB</a>
<a href="http://modbeans.wikidot.com/provinggrounds" target="_blank">Proving Grounds on Mod Beans Wiki</a>
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 pg
Click the general tab of the properties window.
Change the name from shortcut to ns2 to something like pg or Proving Grounds.
Click OK
Double 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 NS2
Players press 'b' to buy/evolve
Players earn Res through killing enemies and through a background flow of 1 res every 10 secs.
Res is used to buy
Win 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:
Adrenaline
Camouflage
Carapace
Celerity
Hypermutation
Silence
Lifeform costs:
Gorge 5
Lerk 10
Fade & Onos not implemented yet due to balance.
Marines:
Marine weapon res costs are:
Welder - 2
Mines - 5
Shotgun - 10
Grenade Launcher - 15
Flamethrower - 20
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
Official Proving Grounds Mapping Guidelines
Entity Requirements:
Maps require 32 spawns in the ready room and the relevant NS2 join team entities.
PGGamerules
2 Tech Points (1 Marine Only & 1 Alien Only)
Location entities for each spawn room, other locations optional.
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.
Create content, add suggestions, let's make this game amazing :)
I'll see you on the Proving Grounds...
Comments
<b>Team DeathMatch Mod V1.1.0a (Build Fix)</b>
Changelog:
Features -
Implemented Free Aim for Lerk Spikes with default crosshair
Fixes -
Patched code for build 196 release
<b>Team DeathMatch Mod V1a (Official Alpha Release)</b>
Changelog:
Features -
Added Free Aim for Lerk spores and removed crosshair.
Added Gorge Powerslide
Fixes -
Removed Mines and Welders from Marine buy menu.
See release post for free-aim information...
<b>Team DeathMatch Mod V0.3.0a (Upgrades)</b>
Changelog:
Features -
Added Celerity and Frenzy upgrades.
Added Leap to Skulk as base ability
Implemented latest version of Dghelneshi's Instant HUD mod featuring spectator mode self icon (see where you are on the map as a spectator)
Fixes -
GL and SG damage type fixes.
Removed Notification box from Marine HUD.
<b>Team DeathMatch Mod V0.2.5a (Bugs!)</b>
Changelog:
Fixed marine spawn issue
Increased marine movement speed to 6 & 6.5.
<b>Team DeathMatch Mod V0.2.4a (Interface)</b>
Changelog:
Implemented Dghelneshi's Instant HUD mod - Thanks Dghelneshi
Removed unnecessary elements from marine and alien UI
Fixed Shotgun Damage
Fixed JetPack cost
<b>Team DeathMatch Mod V0.2.3a (JetPack)</b>
Changelog:
Aliens:
Removed 1 upgrade per hive limitation and capped limit at 2 upgrades
Marines:
Added Jetpack to buy menu. Cost is still 20, will lower in next patch, probably to about 10.
<b>Team DeathMatch Mod V0.2.2a (Fade)</b>
Changelog:
Updated to Build 195
Implemented Yuuki's Fade Momentum Mod (Thanks Yuuki!)
<b>Team DeathMatch Mod V0.2.0a (Battle)</b>
Changelog:
Various Balance variables adjusted
<b>Team DeathMatch Mod V0.1.2a (Gorge)</b>
Changelog:
General -
Enabled 'swarm' and 'carapace 3' upgrades for aliens (2 res each)
Gorge -
Enabled belly slide off infestation.
Removed hydras and cysts from weapons
Added BileBomb to base weapons
Gorge weapon costs/damage/type updated
<b>Team DeathMatch Mod V0.1.1a</b>
Changelog:
Removed commander ability from both teams.
<b>Team DeathMatch Mod V0.1.0a</b>
Build to date log:
Unlocked marine weapons
Marines Buy weapons using the buy key
Marines press fire to respawn when dead
Players Earn RFK to spend on weapons/lifeforms
Unlocked alien classes
---------------------------Original Post--------------------------------
I've decided to work on a Team Death-Match mod for NS2. The final outcome of this mod is yet uncertain, but hopefully with time, the inspiration and ideas will come.
I want the mod to incorporate different game modes in a team vs team situation. Game modes etc can be thought of later along in development.
For now here is the first testing release. I have a few issues still to be solved and I'll list those below. Starting with the implemented features:
Marines buy weapons using the 'B' key
Marine weapon res costs are:
Shotgun - 2
Grenade Launcher - 4
Flamethrower - 5
Marines press fire to respawn when dead.
Alien Lifeform costs are:
Lerk = 1
Gorge = 3 (will turn into Battle-Gorge/Medic only)
Fade = 6
Onos = 12
Players earn Res For Kills, currently a variable between 1 & 3, to spend on weapons/lifeforms.
Lowered Alien Gestation times
Skulk = 2
Gorge = 8
Lerk = 4
Fade = 12
Onos = 18
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!
Here are the release files so far:
New Download in 1st post.
Team DeathMatch Mod V0.1.0a
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...
Keep up the good work Soul_Rider!
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.
Let me know how that concept goes, if I've got the opportunity I'll certainly help.
Team DeathMatch Mod V0.1.2a (Gorge)
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 :)
Changelog:
General -
Enabled 'swarm' and 'carapace 3' upgrades for aliens (2 res each)
Gorge -
Enabled belly slide off infestation.
Removed hydras and cysts from weapons
Added BileBomb to base weapons
Gorge weapon costs/damage/type updated (old setting in brackets):
Spit Energy Cost = 6 (7)
Healspray Damage = 15 (13)
Healspray FireDelay = 0.7 (0.8)
Healspray Energy Cost = 10 (12)
BileBomb Damage = 30 (200)
BileBomb Damage Type = Light (StructuresOnly)
So after many hours of wasted code confusion, next release, whatever it is will roll around the version number to 0.2a :)
That is such a relief :)
<b>Team DeathMatch Mod V0.2.0a (Battle)</b>
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.
<u><!--sizeo:3--><span style="font-size:12pt;line-height:100%"><!--/sizeo-->Current Gameplay<!--sizec--></span><!--/sizec--></u>
You have 1 res tower per team when you spawn generating res at the standard rate.
You start with 0 res
You 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.
Changelog:
Various Balance variables adjusted (old figure in brackets)
BileBomb Splash Radius = 5 (12)
Skulk Carapace 3 = 40(20)
Gorge Carapace 3 = 70(50)
Lerk Carapace 3 = 50(30)
Onos Carapace 3 = 150(100)
Grenade Launcher Damage = 80(130)
Grenade Launcher Damage Type = Normal(Structural)
Grenade Launcher Fire Delay = 0.5(0.4)
Grenade Launcher Clip Size = 5(7)
Grenade Launcher Damage Radius = 5(8)
Grenade Lifetime = 1.8(1.5)
Shotgun Max Damage = 18(24)
Shotgun Damage Type = Normal(Light)
Shotgun Bullets Per Shot = 7(10)
Shotgun Min Damage Range = 36(40)
Shotgun Max Damage Range = 5(4)
Shotgun Spread Degrees = 15(20)
My error log generates the following code:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->Script Error: lua/Alien.lua:511: attempt to perform arithmetic on global 'kCelerityLevelSpeedModifier' (a nil value)
GetCelerityScalar lua/Alien.lua:511
GetAcceleration lua/Skulk.lua:468
ComputeForwardVelocity lua/Player.lua:1053
UpdateMove lua/Mixins/GroundMoveMixin.lua:52
OnProcessMove lua/Player.lua:1436
callFunc lua/Alien_Server.lua:12
lua/MixinUtility.lua:92<!--c2--></div><!--ec2-->
My mod has not changed any of those files. GetCelerityScalar() is a new function added to the Alien.lua file. It does multiplication of the celerity speed:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->function Alien:GetCelerityScalar()
local celerityLevel = 0
if self:GetHasUpgrade(kTechId.Celerity) and not self:GetIsInCombat() then
local teamInfo = GetEntitiesForTeam("AlienTeamInfo", self:GetTeamNumber())
if table.count(teamInfo) > 0 then
celerityLevel = teamInfo[1]:GetNumSpurs()
end
end
return 1 + celerityLevel * kCelerityLevelSpeedModifier
end<!--c2--></div><!--ec2-->
The final line:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->return 1 + celerityLevel * kCelerityLevelSpeedModifier<!--c2--></div><!--ec2--> is the one creating the error. So I checked BalanceMisc.lua, a file I have previously edited and found the variable:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->kCelerityLevelSpeedModifier = 0.1<!--c2--></div><!--ec2-->
So the nil value does not come from that. Looking at the code, as at spawn I don't have celerity, it is only equating the sum:
1 + 0 * 0.1 = Which would give an answer of 1.
Files go backwards through the order of call: Skulk.lua
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->function Skulk:GetAcceleration()
return Skulk.kAcceleration * self:GetCelerityScalar()
end<!--c2--></div><!--ec2-->
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!
Changelog:
Updated to build 195
Implemented Yuuki's Fade Momentum Mod (Thanks Yuuki!) - <a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=115631" target="_blank">http://www.unknownworlds.com/ns2/forums/in...howtopic=115631</a>
Really need a server online for playtesting. As there are no buildings etc it should run a lot easier on servers than a full fat game of NS2.
If anyone can offer a server for this mod, I would be most grateful.
Most importantly, enjoy the game :)
I'd really appreciate a map, that would really help with the mod taking off. Thank you very much for your kind offer :)
Will be updating in a couple of minutes with the latest release..
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.
Changelog:
Aliens:
Removed 1 upgrade per hive limitation and capped limit at 2 upgrades
Marines:
Added Jetpack to buy menu. Cost is still 20, will lower in next patch, probably to about 10.
Hope you guys are enjoying this. if you are looking to try a game over a listen server, my username on steam is Soul Rider. My profile pic is the Onos, so it should be easy to work out who I am :)
So, wait, is this NOT what you are doing?
Deathmatch
Team Deathmatch
Capture The Flag
Last Man Standing / Elimination
Assault
Gladiator
Virus / Tag
Escort / VIP
Resource Grab
King Of The Hill / Zones
What would actually go in the framework, though?
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.
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.
What would actually go in the framework, though?
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.<!--QuoteEnd--></div><!--QuoteEEnd-->
It's already modular, it's class based :P
I 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.
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.
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.<!--QuoteEnd--></div><!--QuoteEEnd-->
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 :)
Changelog:
Implemented Dghelneshi's Instant HUD mod - Thanks Dghelneshi
Removed unnecessary elements from marine and alien UI
Fixed Shotgun Damage
Fixed JetPack cost
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.
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 <b>simple</b> 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.
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.
Changelog:
Fixed marine spawn issue
Increased marine movement speed to 6 & 6.5.
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 List
Bilebomb 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 :)
Steam: <a href="http://steamcommunity.com/id/SoulRider" target="_blank">Soul Rider</a>