Zombie Master 2 is a multiplayer RTS/ FPS hybrid utilizing Valve's Source 2013 engine. Players are thrust into the middle of a zombie apocalypse, forced to search the remnants of their world for weapons and equipment in order to remain alive. One player is freed from the weak flesh of his peers. A being of limitless power, he controls the grotesque hordes of undead in a constant battle against what is left of humanity. His name is spoken only in whispers, for fear of drawing his attention. For once his gaze is upon you, the true test begins.
We'll be disclosing a few new features in Zombie Master 2!
Posted by violentdev on Feb 12th, 2011
Zombie Master 2 started out as an unofficial OB patch, there weren't any plans for adding features and content. Porting ZM took a month to do, manually porting at least 100 files to OB. By the time the port was completed, the idea of turning the patch into a mod was floating around and I finally did it. So here are a few of ZM2's newest features:
The modifications I did to point_viewcontrol were quite simple. When a point_viewcontrol is enabled, all players will have view entities set to it, acting as a cutscene. Each player can exit the cut scene whenever they want without interrupting the other players from watching. I may add an option so it would disable skipping the cutscene.
Winning/losing has an output now, allowing the mappers to do something special after the game.
Here's the new FGD entry:
@PointClass base(Targetname, Parentname, Origin, Angles) = func_win
Target for the Humans to win or lose the game
input Win(void) Human Win
input Lose(void) Zombie Master Win!
output Won(void) : Humans Won
output Lost(void) : Zombie Master Won!
With the way func_win_trigger is progressing, it could very well replace func_win. Here is a list of its current features:
I plan on adding a hud element that displays the func_win_trigger's timer.
Here's the FGD Entry below:
@SolidClass base(Trigger, Targetname) = func_win_trigger :
"A trigger volume that only lets survivors within it win."
input Toggle(void) : "Toggles intial active state"
input Enable(void) : "Hides"
input Disable(void) : "Unhides"
input ChangeTimeLimit(float) : "Changes and resets the time limit"
input ModifyTime(float) : "Add or subtract time to the time limit"
input ResetTime(void) : "Resets the Timer"
input ToggleTimer(void) : "Toggles Timer"
input EnableTimer(void) : "Enables Timer"
input DisableTimer(void) : "Disables Timer"
input Win(void) : "Human Win"
output Won(void) : "Humans Won"
Active(integer) : "Active" : 1 : "Is this active on game load? 0 = false"
TimerOn(integer) : "Timer" : 0 : "Is the timer active? 0 = false"
Enemies(integer) : "Enemies" : 0 : "Disallow NPCs in area? 0 = false"
Timelimit(float) : "Time Limit" : 5 : "Time limit for survivors to get to destination ( In Minutes )"
Instead of making an input that would set the ZM's resources to zero, I thought it would be better if I made an input that sets the ZM's resources to whatever you want.
Here's the new FGD entry:
@PointClass base(Targetname, Parentname, Origin, Angles) = func_giveresources :
"Give or take resources from the ZM's stash"
input GiveResources(integer) : "Give/Take x resources"
input SetResources(integer) : "Set the ZM's resources"
Updated Stubborn Pathing
For those who don't know, stubborn pathing is a ZM feature that tries to fix disturbed paths by finding a new path to use. To improve the chance of finding a new path, I've made it so the new rerouting process repeats an adjusted number of times until it finds a new path to use. If the current path is blocked, the AI navigation will only try harder to find a new path.
Here are five shamblers walking from the train spawn site to selected point. Normally, they would stop a quarter way there.
Here I have ordered 35 shamblers to move from the spawn nearest to the concrete stairway over to the communications tower. A little bit after commanding, the shamblers found themselves stuck between the cargo container and the stairway itself. Rest assured, the stubborn pathing was able to command a portion of the shamblers around the container and up the stairs.
We'll reveal more in the next update!
ZM2 Team Leader and Lead Programmer