Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
ChicagoTrash

Creating a survival mode wad

Question

I was wondering how to create a survival map wad. Where the enemies spawn in waves. I can't seem to find any tutorials. Thanks for your time.

Share this post


Link to post

3 answers to this question

Recommended Posts

  • 0

In order to make a survival map you will need an endless amount of enemies, and this mean using 

1) ACS 

2) the monster spawner object given in the DOOM2/Final DOOM IWADs.

 

Starting with the second solution, you simply have to make a map, place some monster spawner outside the map in some dumb sector with the monster targets also outside of the map and then make some teleports for the spawned monsters between the dumb sectors and the main map (in order to give the illusion of a teleported monster and not a spawned one).

This method is a completely vanilla one but has, of course, several limitations. You can't choose what kind of monster will teleport in and also you can't make waves.

 

The first method works only with ZDoom and derivates ports, because it uses ACS script and needs to be in UDMF format.

You will need to write a code that spawns (literally create) a monster in a specific place. An example follows:

Spoiler

Firstly place in your map one (or more) mapspot (thing number 9001) and tag it (in this example this spot will be tagged with 1)

Then open the script editor ( default key F10 in GZDB) and write the following code

 

Script 1 START

{

      while (GetActorProperty (0, APROP_HEALTH) >0)

      {

          For (i=1; i=10, i++)

          {

               Spawnspot ("monstername", 1, 1);

               Noisealert (0,0);

               Delay (105);

          }

          while (ThingCount (T_NONE,1) >=1)

          Delay (35);

     }

}

 

This script is a really basic form of a monster spawner simulator. It will spawn 10 times in row, every 3 second, a single specific monster on your mapspot. Then, it will wait for all these monsters to be killed before starting to spawn the same monster 10 times and so on and so on.

In order to make your spawn random you have to write a much complex code using the Random function . Like

Script 1 START

{

        int monster = Random (1, 100);

        if (monster <= 25)

            Spawnspot ("zombieman", 1, 1);

        if (monster <= 50)

             Spawnspot ("Doomimp", 1, 1);

        else

             Spawnspot ("Demon",1,1);

}

 

This is an example of how to randomize a spawn. 

The script will spawn a zombieman or an imp in 25% of the occasions. And a demon on 50% of the occasions. Of course this specific script will work only one time but it's just an example.

Don't forget the 

 

#include "zcommon.acs"

 

Line at the very top of your script page too.

 

Share this post


Link to post
  • 0
11 hours ago, Simomarchi said:

In order to make a survival map you will need an endless amount of enemies, and this mean using 

1) ACS 

2) the monster spawner object given in the DOOM2/Final DOOM IWADs.

 

Starting with the second solution, you simply have to make a map, place some monster spawner outside the map in some dumb sector with the monster targets also outside of the map and then make some teleports for the spawned monsters between the dumb sectors and the main map (in order to give the illusion of a teleported monster and not a spawned one).

This method is a completely vanilla one but has, of course, several limitations. You can't choose what kind of monster will teleport in and also you can't make waves.

 

The first method works only with ZDoom and derivates ports, because it uses ACS script and needs to be in UDMF format.

You will need to write a code that spawns (literally create) a monster in a specific place. An example follows:

  Hide contents

Firstly place in your map one (or more) mapspot (thing number 9001) and tag it (in this example this spot will be tagged with 1)

Then open the script editor ( default key F10 in GZDB) and write the following code

 

Script 1 START

{

      while (GetActorProperty (0, APROP_HEALTH) >0)

      {

          For (i=1; i=10, i++)

          {

               Spawnspot ("monstername", 1, 1);

               Noisealert (0,0);

               Delay (105);

          }

          while (ThingCount (T_NONE,1) >=1)

          Delay (35);

     }

}

 

This script is a really basic form of a monster spawner simulator. It will spawn 10 times in row, every 3 second, a single specific monster on your mapspot. Then, it will wait for all these monsters to be killed before starting to spawn the same monster 10 times and so on and so on.

In order to make your spawn random you have to write a much complex code using the Random function . Like

Script 1 START

{

        int monster = Random (1, 100);

        if (monster <= 25)

            Spawnspot ("zombieman", 1, 1);

        if (monster <= 50)

             Spawnspot ("Doomimp", 1, 1);

        else

             Spawnspot ("Demon",1,1);

}

 

This is an example of how to randomize a spawn. 

The script will spawn a zombieman or an imp in 25% of the occasions. And a demon on 50% of the occasions. Of course this specific script will work only one time but it's just an example.

Don't forget the 

 

#include "zcommon.acs"

 

Line at the very top of your script page too.

 

Oof. Thanks.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×