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

Strategy Doom Megawad

Recommended Posts

If this helps, I once made a map where a scripted marine followed a patrol rute while shooting imps. In the middle of the fight it just attacks the imps, but when the battle ends it follow the path. I did this with a dummy sector, a "player thing", a moving floor, and three linedefs in the sector, one to force the marine to follow the path, other to force the marine to attack entities with certain id number, and the other to teleport the player to the other corner of the sector to repeat the process. All without a single line of scripting (as I don't know a shit about it, but I guess you can script to force certain actions to loop).

Share this post


Link to post

My bad, my tip has no chance to work on your mod as you're talking about summoned things, wich start with thing id = 0, no scripting can affect them if I'm not wrong. Just summon your entities and put a very simple, linear, map. Give "notarget" to the player, and put a dehacked patch to start without ammo. The only problem I see is that the monsters in the map should only attack once the friendly monster hurted them, wich could be specialy unfair if they are week monsters, and the summoned friend can kill them with a single shot (revenant against zombies, chainguner against monsters with high pain chance).

I just have an idea, what if the friendly monsters are already in the map when it starts, but are in dummy sectors, and they only can be teleported in the arena with a switch. You start the battle with one creature of each kind, and switchs for each placed in diferent places of the map (i.e you can teleport the imp at the begining, in some place arround the middle, and arround the end, same with the other buddies). The more monsters you have with health over 0 points at the end, the best. With this, you can force monsters to follow the path, bad monsters to attack them when they're on their sight, and probably more. Now you need a way to identify the switches, not necesary new artwork, in Zdoom you can add walls that act as windows to sectors that are not connected (like a mirror to a diferent room).

Share this post


Link to post

Bastet Furry, I'll try to demonstrate some basic ideas soon.

Vegeta, thanks for your ideas. I'm not sure if I understood everything you said, though. It would be damn cool if you made a simple demonstration map that shows your ideas in action.

TheDarkArchon, thanks for being sceptical.

Could someone tell me where I can find the "DoomWar" thing Bastet Furry mentioned? Just to see if there's something to learn from it.

Share this post


Link to post

I tested to record 2 simple battles: SD-DEMO1.zip

Contents of the SD-DEMO1.zip:

1) demo.wad = simple test arena (The first wad I have ever created, yay!)
2) demowin.lmp = example replay
3) demolose.lmp = example replay
4) example.bat = shows what command line parameters I used

(Zdoom version 2.0.98.0 was used to create these demos.)

The problems are:
1) "notarget" command makes friendly monsters ignore their targets
2) enemy monsters don't target friendly monters spontaneously

These are the first problems that need to be solved. I know this is not too hard to do. If anyone has solutions in mind, please let me know.

Share this post


Link to post

Currently I'm busy with study, give me a bit of time and I'll send you a demo map of what I said. In case you wanna see my old map (with the marine walking, attacking, and being attacked), tell me where to send it, the only problem with it is that the friendly marines (wich could be replaced easy in an editor to monsters) are in the playable area, you should need to place them in an outside sector, and use a switch to teleport him to the arena.

An other idea I had, was a dehacked patch that sets null sprites to all the weapons, so the player not only is unarmed, but just a spectator (no player hands blocking the view of the carnage).

Share this post


Link to post

Doom wars was the name.

You could even use the automap to move your monsters like RPG games.

Unfortunately It wasn't that stable.

It would be so cool to see something like this happen in ZDoom.

Share this post


Link to post
Bastet Furry said:

So you 'just' want some semi inteligent monsters that fight for you.

That wont work. (TM)

You need to give your monsters orders.
Would suficy following 3.
1. Hold this position
2. Attack this monster
3. Explore

That should be scriptable with ACS.

Any comments from some ACS gods?


Meh, maybe. From my experiences with monster pathing etc, you'd have to do some REALLY complicated ACS to get 1 and 3 working. As for 2, it's highly unlikely. You cannot designate targets with ACS unless you have a manipulatable GUI and a way to detect which monster you're talking about. You need a way to use the mouse or object targeting in order for this to work. It's either that or you modify the Doom source. If you do that, ANYTHING is possible. As a side note, I don't consider myself a god, I just know a bit more than the rest ;)

Share this post


Link to post

Here are some nice demo fights and my 2nd wad: SD-DEMO2.zip

This time I needed not to use any kind of additional command line parameters. I just did some scripting. ACS is just amazing! I have learned an awful amount of stuff in a few days.

About DoomWars, it seemed to require quite a lot of player input, which is not what I have in my mind. Let's just have the stupid monsters beat each other, the entertainment value comes from the idea that people try to record a demo that completes the level with a very little amount of troops. As we can see from the replays (above), 12 imps are enough to win demo2.wad, but sometimes they get beaten pretty badly. Rarely, by pure chance, the monsters make semi-intelligent decisions, which is hilarious. You can just eat pop-corn and watch how your monster team gets doomed.

I'll try to learn some more ACS stuff. Let's see what happens next.

I'd like to hear what people think about those demo fights.

Edit: I'm quite sure I'm going to do this using switches somehow like Vegeta suggested. Maybe like... 16-17 buttons for spawning friendly monsters + 0-50 buttons (depending on the level) to change where to spawn. ACS allows all hate relations to be set at any time, so there's no need for the thing_hate switches (as in demo2.wad).

Does anyone know good textures for monster spawn switches? (Maybe one for each monster.) Or better, could someone make those?

Edit: Yet another nice problem: I use only 2 different thing tags to determine who's friend/enemy. The problem with this method is that enemies stay hostile when friendly arch-vile resurrects them (and friendly monsters resurrected by enemy arch-vile are still friendly). I think using "Thing_ChangeTID" triggered by monster death won't solve this problem. Any ideas how to make the resurrected monsters be always on the resurrecter's side?

Share this post


Link to post

Huge step forward again: SD-DEMO3.ZIP

Have fun using that wad. :)

It's an updated version of the previous wad. Now there's a room with switch for every monster type. I guess it might be good to make a nice switch room (war room/observatory), that would be used as a standard in every map.

The friendly monsters seem to have a predefined hate order. They systematically repeat the same kill list every time. That's not good.

Edit: Oh, there's no switch for the kind of monsters that won't work well in this map.

Share this post


Link to post

Hey! Thanks! I'm just learning the basics of scripting, so please take a look at the SD-DEMO3.zip above for possible script improvements or anything.

Currently, if I want to make the monsters change their targets spontaneously, I have no better idea than something like this:

script 3 OPEN
{
   Thing_Hate (1, 2, 6);
   delay (20);
   Thing_Hate (1, 3, 6);
   delay (20);
   Thing_Hate (2, 1, 6);
   delay (20);
   Thing_Hate (2, 3, 6);
   delay (20);
   Thing_Hate (3, 1, 6);
   delay (20);
   Thing_Hate (3, 2, 6);
   delay (20);
   Restart;
}

Quite a lot of code for hate relations for three monsters. How can I simplify this? (I would like to know even if this is not used in the project.)

The arch-vile problem seems bad. I have absolutely no idea how to make resurrected monsters behave correctly. They either target the arch-vile or their own asses. (Quite funny to see imp performing suicide though.)

Share this post


Link to post

about the archvile, learn some decorate and it would probably work...Decorate has it all.

About the acs, make a loop that loops throught all the commands, it would shorten the code a bit, i think...i could make some maps as well, do they need to be like detailed ;), since i cannot make a undetailed map...

Share this post


Link to post

This is a loop:

int x;
   while(x <= 10)
   {
      x++;
      print(s:"Message Number: ", d:x);
      delay(35);
   }
explenation:
while(x <= 10) - This makes it execute the code between the bracers "{}" untill the (x <= 10) condition is true...

x++; - X = X + 1

Print(s:"Message Number: ", d:x); - Prints the message

delay(35); - Prevents the loop from timing out

thats all...

Share this post


Link to post

That is a while loop, which does nothing but loop untill a condition is met. For loops increment a variable untill the variable reaches it's max value and then terminates. Loops do not require a delay unless you're trying to make something display properly to the player. Look to my halo shielding concept map for source code on how to use For loops etc.

http://forum.zdoom.org/potato.php?t=6850&highlight=%5BConcept+map%5D

Share this post


Link to post

Thanks again for the tips. I'll look what I can learn from decorate. Now I really think that everything is possible. Ah, but it takes some time before this project starts to look promising.

impClaw, if you enjoy making detailed stuff, why not try to create a room that would be used as a standard in every level, a "command center" or "laboratory" from where the player controls the monsters. Requirements: Small size, easy access to many buttons, very detailed. Please make any kind of monster arenas as well, if you want to. I want the final wad to have as many different levels as possible:

1) castle attack
2) castle defense
3) 500 pinky demons rushing towards an installation
4) survive for 5 minutes ---> reinforcements arrive
5) kill enemy leader
6) escort somebody somewhere
7) run for the exit...

The basic idea how the game is going to be played is changing all the time. Currently the idea is this:

1) player spawns monsters to the playground
2) player activates monster hate relations
3) player watches the battle (Maybe pressing some buttons to give monsters some very simple commands, like changing the hate type between 5 and 6.)
4) player dies if all friendly monsters die

(BTW, Apothem, those shields are damn cool.)

Share this post


Link to post

what textures you wanna have in the control room?

Apothem said:

That is a while loop, which does nothing but loop untill a condition is met...[and so on]


Blablabla... so use "for" or "do" loop if you want, don't really matter anyhow, and well, about that delay, i dont think it would be so nice with you not beeing able to see the messages...

Share this post


Link to post

Hmm, the textures...
There are at least three possibilities:

1) Technical, futuristic, lab-like place. (Imaginary player sprites: Modern scientist)
2) Medieval look with wood and stone. (Player: Wizard)
3) Combination of both, medieval lab. (Player: Medieval scientist, "Dr. Frankenstein")

I'm not sure if the textures matter that much at this point. Create what you like, we can modify it later if we need to. However, I believe this control room is very important part of the whole wad. It should be original in some way, so that when you look at it, the walls would tell you that NOW YOU ARE PLAYING STRATEGY DOOM!

Share this post


Link to post

Qafqa said:
(BTW, Apothem, those shields are damn cool.)


Eheh, thanks. =)
Expect a new scripting breakthrough soon ;)

Share this post


Link to post

Hi, sorry I just finished today with the study for this year. Seems that you don't need my wad. Any problem let me know. Another idea I have to simplify things, instead of a switch that summon creatures, put diferent monsters in jails, on this way all of them are identidied by the same "id tag" (you don't have to mess things up by giving diferent numbers to each). With switches you open the jails, that should be placed in a sector inaccesible from outside (teleport from inside the sector to the battle area, and teleports from battle area to the starting room that only can be used by the player). If you loose your bestiary, you loose the game (this could be done via scripting, and to put things more exciting give null frames to all the player weapons). Add diferent teleporters in the starting room, leading to diferent areas of the arena, some spy camaras to turn things more dinamic, and voila you have some strategy there.

Share this post


Link to post

Thank you impClaw! That looks very good! We can modify it later when we know the exact amount of buttons we need. I've been working on the standard script that would be used somewhat in every level, but I'm currently away from my own computer, so it will take some time before I can post it here.

Vegeta, your ideas are good. I think those can be made level by level basis. I want to have different levels to raise the probability of having at least a couple of very fun maps. :)

I'm probably away for a while, but I'll be back next year. Feel free to make any levels for this poject meanwhile. I'll try to do that too.

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
×