[WIP] Zombie Horde 2

Maps, modifications, add-ons, projects, and other releases for Zandronum. Also includes announcers.
Post Reply
User avatar
Fused
Contributor
Posts: 615
Joined: Sat Nov 09, 2013 9:47 am
Location: Netherlands
Clan: TK
Contact:

[WIP] Zombie Horde 2

#1

Post by Fused » Tue Oct 16, 2018 11:28 am

Image
Work in progress.



Image
In Zombie Horde 2, you travel across various parts of the world, and countless dimensions.
Fight off the hordes of zombies in these places, and prevent yourself from getting infected.
Do you have what it takes to fight against a horde of zombies?


Image
Zombie Horde is a mod that has been in development for 6 years by Xsnake.
With vast and original features, Zombie Horde has quickly taken place in the community.
Even now the mod brings filled servers and diverse enhancements with it.
And now, its sequel is coming.

Spoiler: early WIP screenshots (Open)
Note: This is a list of old screenshots and various unfinished maps. The final version will differ from these screenshots.

Castlevania Part I
thumbnail
thumbnail

Castlevania Part II
thumbnail
thumbnail

Menouthis
thumbnail
thumbnail

Canyon Run
thumbnail
thumbnail

Frozen fear
thumbnail
thumbnail


Military Base Escape
thumbnail
thumbnail

Spoiler: I have played the old Zombie Horde up until ZH-Beta28. What can I expect to see upon release, which is different compared to the old version? (Open)

New things
  • A game remade with great knowledge of how Zandronum works, allowing incredibly smooth gameplay.
  • Seamless joining and spectating while the game is preparing, and an improved queue system which allows you to start the game as a spectator.
  • Smooth and good-looking weaponry with more alt-firing.
  • Very responsive weaponry that allows you to switch between each weapon quickly
  • Great game effects, which you can toggle off if you want.
  • Beautiful new maps with great scripting and secrets.
  • Old maps, remade for Zombie Horde 2, which received great visual improvements, scripting and bug fixing.
  • A big list of options for you to toggle as a client to change the game to your liking, such as toggling radio, effects, enabling resists on your hud, and even the colour of your flares!
  • A game build upon ACSutils, a very powerful library which makes programming very easy!
  • Great traffic handling for clients.
  • An improved music system, allowing players to have seamless music depending what is happening.
  • Improved player handling using advanced ACS features. No more sliding on the floor!
  • New footsteps handling using a very powerful remake of TheZombieKiller's footsteps code, exclusively for Zombie Horde 2, including sneaking feature.
  • Great new looking zombies and player skins
  • Custom radio music!
  • Great new mapping features and tools, allowing making a map for Zombie Horde incredibly easy! (read post #3 on how to make your own map very easily)


What you can expect in the future
  • Headshots
  • A revamped achievement system
  • A leveling system, packed with upgrades as you improve
  • Saving and loading your account through a database
  • Invasion, a new gamemode
  • An option to enable virus infecting on humans, which appeared in an old version of zombie Horde, but was never really build upon.
  • A stream of new maps, remade maps, items and weapons as the mod improves.
  • Unlockable weapon packs



Image
In Zombie Horde you play many different community and developer-made maps of many types.
As a human you will have to survive the hordes of zombies that come to infect and kill you.
As a Zombie, you destroy everyone. No mercy.

This mod is a total reboot. NONE of the old code from Zombie Horde 1 has been used.
This mod aims to improve Zombie Horde with all new features possible by Zandronum, including a database system and various complex scripting functions and possibilities.

Your standard loadout consists of a effective line of weaponry and tools.
Spoiler: weapons (Open)
Image
Pump-action shotgun
Effective for medium damage at short range.
Fire: Fire an accurate 5-pellet shot at your target.
Alt-fire: A quick defense for close zombies. fires a wide-spread 5 pellet shot with quick cocking

Image
Double-barreled shotgun
Effective for medium damage and big knockback at short range.
Fire: Fire a devastating 20-pellet shot at your target, with massive knockback.
Alt-fire: Fire a single barrel with half the power.

Image
Woundable chain gun
Effective up to medium range.
Fire: shoot many bullets at a high rate of fire. Effective for crowd control.
Alt-fire: preparatory wound up for quicker firing when needed

Image
Bolt-action sniper
Highly effective up to high ranges.
Fire: Fire a deadly bolt for high damage, but slow firing rate.
Alt-fire: optionable zoom for higher ranges.

Image
9mm pistol
As a last resort, when all else fails.
Fire: Fire a small bullet for low damage but fairly high rate of fire and low knockback.

Spoiler: tools (Open)
Image
Flame grenade
Great defense tool, can be thrown varied distances.
Fire: Unpin and steady. Hold longer for further throw.
Alt-Fire: Having second thoughts? You can always repin.

Image
Jack's gun
The infamous gun from Jack, a real zombie killer.
Fire: Shoots a massive bullet, destroying everything it touches.


But humans are not the only ones with weaponry.
Spoiler: Zombie abilities (Open)
Image
Push ability
Push away blocking obstacles with this ability

Image
Acid-spit attack
A deadly spit. Damages, blinds and significantly slows down your target.
When this ability has fully cooled down, you will spit a bigger ball of acid.
Acid with a cooldown will have less effect on your target.

Image
Feature not available on release.
Lunge attack
Make a giant leap to your opponent. Distance can be modified.

Image
Feature not available on release.
Vision pulse ability
Gain knowledge of your target's positions and reveal those that hide from you.


This mod brings two gamemodes upon release.
ZM       - Also known as survival maps. In these maps survival is key.
           Know the area you explore and take advantage to its secrets.
           You must survive a set amount of time to survive the map. Find that perfect hiding spot and utilise it.
ZE       - Also known as escape maps. In these maps there is no hiding possible.
           In one way or another you will die if you dont make it to the end.
           Team up and defend yourself as you venture through the map to the safezone.


Custom radio music
As most of you know, the radio is quite an iconic secret weapon in Zombie Horde. And it's back, and much improved!
Next to the improved user interface and usage, you are now able to add in your own music.
This is not required though. If you don't want to do this the default tracks will still exist in the mod.

To download a template, including explanation inside, download the pk3 here.
When you filled out your template, place it inside the skins folder inside your Zandronum folder.
    Image       Image


Image
Lead Developer
  • Fused


Bug support, repository management, the brain behind ACSutils
  • Korshun


Artists and contributers
  • Capt.J
  • DrDoctor
  • Sergeant Mark IV
  • Loismustdie555
  • Metal_Spaghetti


Honorable mention
  • Xsnake, for making all of this possible.


Thank you to all the present and future mappers and testers as well.



Image
    Image       Image


You can join our discord by following this link to get notified of the latest progress and discussions.

This mod will require zandronum 3.0 to play.
This mod is made for OpenGL. Software mode has been supported to a certain playable extent, but we strongly encourage the use of OpenGL rendering.

This thread will be updated frequently. Any criticism or feedback is appreciated.

Alternatively, you can follow this link to a Zdoom thread.
Although the ZDoom thread has no more information than this one, it does contain different replies, should you want to read it.
Last edited by Fused on Sun Oct 28, 2018 3:59 pm, edited 15 times in total.

User avatar
Fused
Contributor
Posts: 615
Joined: Sat Nov 09, 2013 9:47 am
Location: Netherlands
Clan: TK
Contact:

[WIP] Zombie Horde 2

#2

Post by Fused » Tue Oct 16, 2018 11:31 am

Current maplist
Version: planned for release


Escape maps
ZE12 - Menouthis
ZE13 - Castlevania Part I


Survival maps
ZM06 - Hell's Pass Hospital
ZM13 - Cliffside Settlement
ZM20 - Frozen Fear
Last edited by Fused on Tue Oct 16, 2018 11:42 am, edited 1 time in total.

User avatar
Fused
Contributor
Posts: 615
Joined: Sat Nov 09, 2013 9:47 am
Location: Netherlands
Clan: TK
Contact:

[WIP] Zombie Horde 2

#3

Post by Fused » Tue Oct 16, 2018 11:33 am

Creating a map
First things first, we advice people that want to create a map for Zombie Horde 2 to have good knowledge on how mapping and scripting works.
I advice this as Zombie Horde does not work like with normal mods. Zombie Horde 2 makes use of very advanced scripting features, unlike the old Zombie Horde.
And apart from that I just dont prefer people making their first map in Zombie Horde as bugs happen very, very often.
I don't mind helping out a bit code-wise or mapping-wise but keep is at a reasonable level.
If you think you got what it takes, read below.



Build
Click the link below to get a complete package with build, precompiled ACS and example map.
    Image

Patched compiler
Click the link below to get a patched compiler, that will compile your map fine without any errors the old one gives.
This patched compiler contains the latest zcommon.acs, and does not have a limitation which prevents our ACSutils library to not compile.
You need to manually include zcommon.acs in slade and your map when compiling, due to a limitation.
    Image

When creating a map for Zombie Horde you are now required to take a different approach than with beta28 and older.

Spoiler: Scripting (Open)
Importing the source code to your map
To create a map you are required to import the source code.
The source code cannot be found anywhere. You are required to use the precompiled file given in the build above.
This precompiled file includes all usable functions and definitions your need into your map. You can ready about these functions in the "Custom map definitions" spoiler tag.

It does not matter if you use a minified version or the complete code when including this. The game will not use your compiled code but rather the one in the pk3. All it does is check if your file supports any of the functions being used.

To explain the above, using #import will not work as my new compiling method will not include the source code like it should. Blame the compiler.
However removing the library tag means you could #include the source code from the pk3.
But this causes a problem where any updates to the main source code means all maps that did this have to be recompiled. Not a wise idea.
So refrain from doing anything else than using my method.


Remember to download the patched compiler above. Your map is unable to compile with the regular supplied compiler by GZdoom(-Bugfix).

To import the precompiled code and required plugins, you add the following to your code

Code: Select all

#include "path\to\zcommon.acs"
#import "path\to\core.acs"

Defining your gamemode
In order to define your maptype (ZM / ZE), you have to call a function in one of your scripts:

'InitGame(int type)'
 
mode can either be ZEGAME or ZMGAME, depending on the type of map. (for example, 'InitGame(ZEGAME);')
Calling this function will also start the game, meaning you could call this later if you have an intro or something.


Changing a timer
If you want to change any of the timers, you use the following function:

'SetTime(int mode, int time)'
 
gamemode can be either one of the following:
        > M_COUNTDOWN    - countdown until a zombie is selected
        > M_MAIN                - round timer (only for ZM maps)
        > M_ENDING            - end timer
This should be done the same time GAME_INIT() is called.
This can also be done while the timer is counting.
If you want to know what the time currently is, use the function GetTime(int mode) where mode is the gamestate.


Storing players in a safezone
ZE maps use a new way of storing players that have reached the safe zone.
It now uses the following function, unlike old versions where the array 'Reached' was grabbed
An easy way to implement this is with the following line of code

'SetSafe(PlayerNumber(), LineSide() == LINE_FRONT);'

Just make sure the line that triggers it has its back facing to the safezone. Otherwise change LINE_FRONT to LINE_BACK.

To end the game, you can use the
'EndGame();'
function
Spoiler: Map definitions (Open)
MAPINFO definitions
To define your map, you are required to make a MAPINFO lump. This is not hard at all.
Open your level in Slade or any other level editor, add a lump called MAPINFO and insert the following

map <map lump number> "<map name>"
{
        [str definitions]
}


For example:

map ZM20 "Frozen Fear (DrDoctor)"
{
        sky1 = GLOOMSKY
        music = "D_NULL"
}


You are not required to use the old map flags anymore.
for reference: http://zdoom.org/wiki/MAPINFO/Map_definition

DO NOT ADD MUSIC THROUGH MAPINFO. Instead, use the
'SetDefaultMapMusic()'
function (see custom functions and constants tab below)

Lightmode
lightmode is defaulted to 1 (BRIGHT). This is to support default GL options. Please try and suit your map to support these default options.
You can always set your own lightmode, but remember we want to enforce sv_forceGLdefaults in zombie horde.
Spoiler: resists (Open)
The resist system has been updated majorly compared to old Zombie Horde.

If you want to define your resist, this is the way to do it

'Resist (str mainReason, str timeReason, int time)'

A good example of this is:

'delay(Resist("\cjActivating east Beacon", "\cjResist for %t \cjseconds", 10);'


mainReason and timeReason are allowed to be empty.
Time has to be higher than 5, otherwise the game will thrown an error.
In order to let the game know where to put time, you MUST put %t inside your timeReason (Resist for %t seconds).
The game will automatically modify the words "second(s)" if it appears in your string, in case it's required (for example, with 1 second left it would turn it into second, not seconds).
The game will automatically apply a color to your time when replacing %t inside your string. If this is unwanted, then put a colorstring before %t. Spaces are allowed.

In order for the resist to work properly, it has to be put inside a delay. That way your script will suspend until the resist is finished.
This means you do not need to insert the whole thing into a loop.
For example, below is what Menouthis calls for its final resist. %t in this case will have a set color added by the resist function, because the mapscript does not manually apply one.
Image
Spoiler: custom functions and constants (Open)
The radio always used to have an option to return to the default music. However this has been updated to allow maps to set a new default music for this case.
It's just like SetMusic, but instead it has a twist to support the radio, which doesnt make people switch music when they play radio music:

'SetMapMusic (str track)'
'SetDefaultMapMusic (str track)'

By using this function, the default music and radio will always be played properly. The default variant will save the music, and make it play when a player or radio music change their music to "default".
This means SetMusic() is deprecated in Zombie Horde 2

If you make your own actors and they happen to have alot of pretty effects, you should respect the new detail option. To add this, add something like this to your code:

'TNT1 A 0 A_JumpIf((CallACS("GetDetailLevel", 0, 0, 0) == FALSE), "Low_Detail")'
 
Adjust to your own taste, this should jump to a lower detail if needed. Remember to clientside your actor if this is used or it will not work.
Calling this function will return the value a client has on their cvar.

Zombie Horde supports ACSutils. If you don't know what that is, read all about it here:
http://acsutils.strangled.net/

Constants
Only 2 constants are really important. We strongly advice you to use them instead of its non-varying value
MAXPLAYERS: The player cap that's supported for the mod
PLAYER_TID:    The number added to all player's TID to keep them unique. You can also use the 'PlayerTid'(int id) function.
Spoiler: List of functions from Zombie Horde 2 (Open)
For ACSutils functions, check http://acsutils.strangled.net/
This is a list of all usable functions in Zombie Horde 2. You will find all these functions in your precompiled acs file.
Do not try and use any other function. If a function is allowed to be used, it will be here. You can seriously alter the game if you dont stick to this list.
Click the thumbnail for a full resolution image.
thumbnail
Use common sense on your maps.
Don't place a whole lot of special items which ruins balance. I won't allow it.
If there are problems with your code, Zombie Horde 2 will have build in errors to help you out. If these do not work, feel free to message me.
Don't try to add any nifty scripts to your map. I could always recompile your BEHAVIOUR lump and find out.
Be sure to place decent health amounts when your map can deal a lot of damage.
Last edited by Fused on Sun Oct 28, 2018 3:38 pm, edited 3 times in total.

User avatar
TrueLegendary
Registered just to make one post
Posts: 1
Joined: Sun Sep 16, 2018 7:24 pm
Clan: GOH
Clan Tag: GOH

[WIP] Re: Zombie Horde 2

#4

Post by TrueLegendary » Tue Oct 16, 2018 7:52 pm

yay Zombie Horde 2 :D

User avatar
Zakken
Posts a lot
Posts: 741
Joined: Sat Jun 02, 2012 2:32 am
Location: House Ylisse
Clan: Renegades
Clan Tag: [R]

[WIP] Re: Zombie Horde 2

#5

Post by Zakken » Wed Oct 17, 2018 1:08 am

We live in a timeline where Zombie Horde 2 came about before Despacito 2 and Fortnite 2 and for that, we are truly blessed.

I assume ZH2 will be a standalone mod not to be used together with ZH1, right? What will become of ZH1's various mapsets?
* Determination.

User avatar
Fused
Contributor
Posts: 615
Joined: Sat Nov 09, 2013 9:47 am
Location: Netherlands
Clan: TK
Contact:

[WIP] Re: Zombie Horde 2

#6

Post by Fused » Wed Oct 17, 2018 6:40 am

Zakken wrote:
Wed Oct 17, 2018 1:08 am
We live in a timeline where Zombie Horde 2 came about before Despacito 2 and Fortnite 2 and for that, we are truly blessed.

I assume ZH2 will be a standalone mod not to be used together with ZH1, right? What will become of ZH1's various mapsets?
ZH2 is standalone. ZH2 was based of the unreleased ZH-Beta29, but everything has either be remade or improved.
The mapset is also remade, or the maps that will be released anyways. I plan on releasing a mappack with the old maps, but it requires me to rewrite its code.
If people would really want this, I can do a big chunk before release. Otherwise I will stick to releasing updated maps first, which of I already have plenty almost done.

User avatar
fr blood
Frequent Poster Miles card holder
Posts: 979
Joined: Wed Mar 06, 2013 4:04 pm
Location: France

[WIP] Re: Zombie Horde 2

#7

Post by fr blood » Wed Oct 17, 2018 11:52 am

Too bad holidays are over already, it was the best period to try out Zombie Horde, now the servers are dead again.

User avatar
NeonLights95
Registered just to make one post
Posts: 1
Joined: Mon Oct 01, 2018 10:36 pm
Location: That Mitten in America
Contact:

[WIP] Re: Zombie Horde 2

#8

Post by NeonLights95 » Wed Oct 17, 2018 3:37 pm

I like the look of this mod. But I may want to be a tester, not a mapper.
I'm a newcomer here and I only gather resources.

User avatar
Zheg
 
Posts: 34
Joined: Sun Jan 26, 2014 4:13 am

[WIP] Re: Zombie Horde 2

#9

Post by Zheg » Sat Oct 20, 2018 2:50 am

yes please revive this
i hope you can bring old maps like ghost town
and grenade jumps lol
good old times

Poto
Registered just to make one post
Posts: 1
Joined: Sat Jan 06, 2018 6:38 pm

[WIP] Re: Zombie Horde 2

#10

Post by Poto » Fri Oct 26, 2018 1:41 pm

We should wait for December

User avatar
Fused
Contributor
Posts: 615
Joined: Sat Nov 09, 2013 9:47 am
Location: Netherlands
Clan: TK
Contact:

[WIP] Re: Zombie Horde 2

#11

Post by Fused » Fri Oct 26, 2018 9:23 pm

With the release coming soon, the first post has been updated with some more information, and the third post has been prepared in which you can read all about mapping for Zombie Horde 2.

Post Reply