NS2: Proving Grounds

15678911»

Comments

  • BeigeAlertBeigeAlert Texas Join Date: 2013-08-08 Member: 186657Members, Super Administrators, Forum Admins, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, NS2 Map Tester, Reinforced - Diamond, Reinforced - Shadow, Subnautica Playtester, Pistachionauts
    Soul_Rider wrote: »
    GorgeCraft is finished.

    I had announced recently that I would be returning to work on Proving Grounds at this point. I recently began circulating my design document for PG to get some feedback, and I set myself up ready for a return.

    There has however, been a development which has made me reconsider PG. I can't make any announcements yet, for things are still in the early days, but I can say that PG is looking more likely to be used as the basis for a new project, rather than being the game it was originally designed as.

    I will post more when I can, but the project once confirmed, will warrant a thread of it's own.

    Dammit Soul, quit playing with our hearts!
  • VonDoomVonDoom Knee deep in the latency Join Date: 2009-10-08 Member: 68989Members, Reinforced - Shadow
    Will you still be using the Spark engine?
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    Yeah, it is just an evolution of the PG idea into something bigger..
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    Ok, here is a question:

    IF I was to make PG again, would anyone be interested in playing it?

    Just to summarise for those who don't know - PG is a straight MvM team deathmatch & capture the flag high speed game mode, as seen in Quake:TA and UT series. It includes things like double jump, sidestep and other abilities, as well as weapon & health pick-ups etc.

    If you would be interested in seeing PG again, let me know in the thread, and if there is enough interest, I'll look into rebuilding it.
  • BeigeAlertBeigeAlert Texas Join Date: 2013-08-08 Member: 186657Members, Super Administrators, Forum Admins, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, NS2 Map Tester, Reinforced - Diamond, Reinforced - Shadow, Subnautica Playtester, Pistachionauts
    I'd love to play this again!
  • KasharicKasharic Hull, England Join Date: 2013-03-27 Member: 184473Members, Forum Admins, NS2 Playtester, NS2 Map Tester, NS2 Community Developer
    Soul_Rider wrote: »
    IF I was to make PG again, would anyone be interested in playing it?

    Yes, very much so, I would love to see this happen.
  • VetinariVetinari Join Date: 2013-07-23 Member: 186325Members, Squad Five Blue, Reinforced - Shadow, WC 2013 - Silver
    I'd play, but it would probably not find much of an audience. Game changing ns2 mods aren't really popular.
  • NordicNordic Long term camping in Kodiak Join Date: 2012-05-13 Member: 151995Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    I'd play, but it would probably not find much of an audience. Game changing ns2 mods aren't really popular.

    Don't forget the arcade tab.
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    edited September 2016
    Oh, there will be more problems than just the Arcade tab, I plan to build this in the stable 307 branch :)

    If there is interest, of which there appears to be, I will build it. It doesn't matter if it doesn't have 5000 weekly players. Combat has shown you can still get people together for weekly games, if people want to play :)

    It's also to practice LUA again, as I am not so secretly hoping UWE continue with Future Perfect once Subnautica has been released..
  • SantaClawsSantaClaws Denmark Join Date: 2012-07-31 Member: 154491Members, Reinforced - Shadow
    If it is at all possible, it would be great to have a gamemode, like you propose, but which is well optimized at low populations, ideally even 1v1's. The community really lacks an easily seedable game mode like that imo ever since combat.
  • NordicNordic Long term camping in Kodiak Join Date: 2012-05-13 Member: 151995Members, NS2 Playtester, NS2 Map Tester, Reinforced - Supporter, Reinforced - Silver, Reinforced - Shadow
    SantaClaws wrote: »
    If it is at all possible, it would be great to have a gamemode, like you propose, but which is well optimized at low populations, ideally even 1v1's. The community really lacks an easily seedable game mode like that imo ever since combat.

    Would gungame fit that?
  • VetinariVetinari Join Date: 2013-07-23 Member: 186325Members, Squad Five Blue, Reinforced - Shadow, WC 2013 - Silver
    Nordic wrote: »
    I'd play, but it would probably not find much of an audience. Game changing ns2 mods aren't really popular.

    Don't forget the arcade tab.

    Exactly.
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    SantaClaws wrote: »
    If it is at all possible, it would be great to have a gamemode, like you propose, but which is well optimized at low populations, ideally even 1v1's. The community really lacks an easily seedable game mode like that imo ever since combat.

    As it is going to be identical players, as in, all movement, abilities, health etc will be equal, most of the balance issues will come from individual weapons and the maps that are made. Games sizes would also be dictated by the size of a map. I have static spawns in PG, so the smaller you make the map, the less you can fit in :)
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    It seems no matter how hard I try, merging a mod from Build 223 into Build 307 is just never going to work. Looks like I'll have to start from a fresh code base..
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    It's very early in development, and I don't want to talk too much about the game as I have a very long process ahead of me, but a couple of people have asked me about making maps for the project, so I just thought I'd post a couple of over-arching thoughts, rather than specifics that cannot be decided until the game works to a degree.

    1 - If it moves, shoot it.

    This game is a hark back to the old shooters where you existed in a totally static environment, and if you saw something moving, you'd have to shoot it before it shot you.

    For PG, maps need to be totally static, no doors, no animated props of any kind. To this end, there will be no dynamic props, doors or any other form of model animation available in the game code except for players and weapons.

    2 - Droids vs Droids

    The back story of this mod is that the players are robots controlled by remote viewers in a new TV game show. In this respect, damaged maps wouldn't be littered with blood, maybe a few stubborn oil stains, etc, but they would be properly cleaned between TV bouts. Also, damaged maps would be a bit of a rarity, as they would go for as pristine an area as possible, but the scars of some fights might not be worth healing..

    3 - Look Up

    Level over level is highly encouraged, with double jump and other movement abilities, the ability to switch between levels doesn't always have to involve stairs or a ramp. The maps need to be simple to learn and encourage regular engagement.

    4 - UI will be very simple, location names etc won't be used, there will be no minimap, no resources, no tech point or ability upgrades. Hud will have a health bar and an equipped weapon icon, and that's about it. Damage indicators, crosshairs, etc, will be there.

    5 - It's a symmetrical game, and while that doesn't always necessitate symmetrical maps, it does need balanced maps. Ultimately, symmetrical is guaranteed to be balanced, at least for each team.

    Ultimately, if you want to make a map for PG, you need to think about Quake 3 and original UT maps as an inspriation, but made to look a bit nicer, although remaining static.
  • deathshrouddeathshroud Join Date: 2010-04-10 Member: 71291Members
    railgun exos with fade movement DM make it happen :P
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    edited October 2016
    railgun exos with fade movement DM make it happen :P

    With this mod I aim to give server owners the ability to easily create that gameplay themselves.
















    *aims and final outcomes will probably differ through no fault of mine, yet I'll still be decried a heretic or something...
  • Soul_RiderSoul_Rider Mod Bean Join Date: 2004-06-19 Member: 29388Members, Constellation, Squad Five Blue
    edited October 2016
    A project the size of this one is a big task, so as a starting point, I am building out datasets for the game. I am using these to influence how I would like the system to work.

    My inspirations come from the way I develop in Unity, but as Spark v1 is not component based, I am having to try and work around the limitations. We'll see what compromises I have to make along the way...

    Below are a couple of data content tables demonstrating how simple I'd like it to be to modify the game play. First off is the GameTypesData set. This is how a game mode would be created in my dream scenario:
    kGameTypesData = {
    	-- DeathMatch
    	[kGameTypes.DM] = {
    	    mutatorType = kMutatorTypes.Gamerules,
    	    baseData    = {
                    mutatorName     = "DeathMatch",
                    mutatorReqs     = { },
                    mutatorBlocks   = { kGameTypes.TDM, kGameTypes.CTF, kGameTypes.TH },    		    
                },
    	    teamData    = {
    	        numTeams        = 1,
    		teamNames       = { "DeathMatch" },
    		teamIndex       = { 5 },
    		maxTeamPlayers  = { 32 },
    		respawnType     = { kRespawnTypes.Unlimited },
    	    },
    	    playerData  = { kPlayerTypes.Avatar },
    	    itemData    = {
    		useFlags        = false,
    		useWeaponSpawns = true,
    		spawnableWeapons = { },
    		useHealthSpawns = true,
    		dropHealthOnDeath = true,
    	    },
    	    damageData  = {
    		damageModifiers = { },
    	    },
    	    victoryData = {
    		victoryType     = kVictoryTypes.Kills,
    		timeVictoryType = kTimeVictoryTypes.Kills,
    		roundTimer      = 10,
    	    }, 
    	},
    	-- TeamDeathMatch
    	[kGameTypes.TDM] = {
    	    mutatorType = kMutatorTypes.Gamerules,
    	    baseData    = {
                    mutatorName     = "TeamDeathMatch",
                    mutatorReqs     = {},
                    mutatorBlocks   = { kGameTypes.DM, kGameTypes.CTF, kGameTypes.TH },    		    
    	    },
    	    teamData    = {
    		numTeams        = 2,
    		teamNames       = { "Engineers", "Scientists" },
    		teamIndex       = { 1, 2 },
    		maxTeamPlayers  = { 16 },
    		respawnType     = kRespawnTypes.Unlimited,
    	    },
    	    playerData  = { kPlayerTypes.Avatar },
    	    itemData    = {
    		useFlags        = false,
    		useWeaponSpawns = true,
    		spawnableWeapons = {  },
    		useHealthSpawns = true,
    		dropHealthOnDeath = true,
    	    },
    	    victoryData = {
    		victoryType     = kVictoryTypes.TeamKills,
    		timeVictoryType = kTimeVictoryTypes.TeamKills,
    		roundTimer      = 10,
    	    },
    	},
    	-- Capture The Flag
    	[kGameTypes.CTF] = {
    	    mutatorType = kMutatorTypes.Gamerules,
    	    baseData    = {
                    mutatorName     = "CaptureTheFlag",
                    mutatorReqs     = { },
                    mutatorBlocks   = { kGameTypes.DM, kGameTypes.TDM, kGameTypes.TH },    		    
    	    },
    	    teamData    = {
    		numTeams        = 2,
    		teamNames       = { "Engineers", "Scientists" },
    		teamIndex       = { 1, 2 },
    		maxTeamPlayers  = { 16 },
    		respawnType     = kRespawnTypes.Unlimited,
    	    },
    	    playerData  = { kPlayerTypes.Avatar },
    	    itemData    = {
    		useFlags        = true,
    		numFlags        = 2,
    		flagTeams       = teamData.teamIndex,
    		useWeaponSpawns = true,
    		spawnableWeapons = { },
    		useHealthSpawns = true,
    		dropHealthOnDeath = true,
    	    },
    	    victoryData = {
    		victoryType     = kVictoryTypes.TeamFlags,
    		timeVictoryType = kTimeVictoryTypes.TeamFlags,
    		roundTimer      = 10,
    	    },
    	},
    	-- The Hunter
    	[kGameTypes.Hunter] = {
    	    mutatorType = kMutatorTypes.Gamerules,
    	    baseData    = {
                    mutatorName     = "Hunter",
                    mutatorReqs     = {},
                    mutatorBlocks   = { kGameTypes.DM, kGameTypes.TDM, kGameTypes.CTF },    		    
    	    },
    	    teamData    = {
    		numTeams        = 2,
    		teamNames       = { "Engineers", "Hunter" },
    		teamIndex       = { 1, 3 },
    		maxTeamPlayers  = { 4, 1 },
    		respawnType     = kRespawnTypes.None,
    	    },
    	    playerData  = { kPlayerTypes.Avatar, kPlayerTypes.Hunter },
    	    itemData    = {
    		useFlags        = false,
    		useWeaponSpawns = false,
    		useHealthSpawns = false,
    		dropHealthOnDeath = false,
    	    },
    	    victoryData = {
    		victoryType     = kVictoryTypes.Elimination,
    		timeVictoryType = kTimeVictoryTypes.Team1Win,
    		roundTimer      = 10,
    	    },
    	},
    	-- GunGame
    	[kGameTypes.GG] = {
    	    mutatorType = kMutatorTypes.Gamerules,
    	    baseData    = {
                    mutatorName     = "GunGame",
                    mutatorReqs     = { kGameTypes.DM },   		    
    	    },
    	    teamData    = {
    		teamNames       = { "GunGame" },
    	    },
    	    itemData    = {
    		useWeaponSpawns = false,
    	    },
    	    victoryData = {
    		victoryType     = kVictoryTypes.Level,
    		timeVictoryType = kTimeVictoryTypes.Level,
    	    }, 
    	},
    	-- TeamGunGame
    	[kGameTypes.GGT] = {
    	    mutatorType = kMutatorTypes.Gamerules,
    	    baseData    = {
                    mutatorName     = "TeamGunGame",
                    mutatorReqs     = { kGameTypes.TDM },   		    
    	    },
    	    victoryData = {
    		victoryType     = kVictoryTypes.Level,
    		timeVictoryType = kTimeVictoryTypes.Level,
    	    },
    	},
    }
    

    Notice how the final two variations on gun game, as they have a required mutator, only need to list changes to the base mutator.

    Below is a dream PlayerTypesData set which would be the ideal way to create different players and movement types:
    kPlayerTypesData = {
    	-- Avatar
    	[kPlayerTypes.Avatar] = {
    	    mutatorType = kMutatorTypes.Player,
    	    baseData = {
                    mutatorName = "Avatar",
                    mutatorReqs = { },
                    mutatorBlocks = { },    		    
    	    },
    	    modelData = {
                    modelPath   = "models/marine/male/male.model",
    	        animGraphPath = "models/marine/male/male.animation_graph",
                },
    	    moveData = {
    		speed    	= 5,
    		jump        = kJumpTypes.DoubleJump,
    		shift       = kShiftTypes.Dodge,
    		ctrl        = kCtrlTypes.WallRun,
    		dTap        = kDoubleTapTypes.Dive,
    	    },
                damageData = {
                    health = 100,
                },  
    	},
    	-- Hunter player
    	[kPlayerTypes.Hunter] = {
    	    mutatorType = kMutatorTypes.Player,
    	    baseData = {
                    mutatorName = "Hunter",
                    mutatorReqs = { kGameTypes.TH },
                    mutatorBlocks = {  },
    	    },
    	    modelData = {
                    modelPath   = "models/marine/male/male.model",
    		animGraphPath = "models/marine/male/male.animation_graph",
                },
    	    moveData = {
    		speed    	= 2,
    		jump        = kJumpTypes.Jump,
    		shift       = kShiftTypes.Leap,
    		ctrl        = kCtrlTypes.WallClimb,
    		dTap        = kDoubleTapTypes.None,
    	    },
                damageData = {
                    health = 100,
                },
    	},
    }
    

    In the final version, I hope to make it so unused or blank variables can be left out of the definitions altogether. This is very early days, and the system will need a lot of refining, but I thought I'd share this to shed some light into the design going on for the project.
Sign In or Register to comment.