Creating truly custom monsters?

Archive of the old editing forum
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. This forum is archived - please use this set of forums to ask new questions.
Skwirl
Posts: 214
Joined: Sun Feb 01, 2015 11:38 pm
Location: 'merica

Creating truly custom monsters?

Post by Skwirl »

I'm asking because I'm mostly curious... How does one put together custom monster logic, or at least modify existing monster logic to do something more or different?

I've been on and off with my mod project, but I can at least say most of the "bells and whistles" parts are done, so to help me cut my workload down even more I'm thinking of just doing sprite swaps of the in-game monsters. But I feel there must be ways to go beyond a zombieman that shoots one shot and bumbles around, or megabosses with just one weapon, and make things interesting. You look at something like Project Brutality, and you have monsters climbing the walls and ceilings and whatever.

Once this is done (and maybe-possibly-probably the quicksand thing I'm still researching), I can finally move on to actually making levels and such. Figuring out the monster thing will be important because I want my project to be just as engaging in single-player, even though its design is totally beneficial for multiplayer, which I know is handled differently in ZDoom over Zandronum.
User avatar
Caligari87
User Accounts Assistant
Posts: 5997
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him

Re: Creating truly custom monsters?

Post by Caligari87 »

Most of it is really just clever application of the tools we have, and coming up with creative ideas. For example, you could have a monster that toggles its +FRIGHTENED flag when it goes into the "Wounded" state, and so runs away from the player if it's been hurt. You could do a check in the monster's "See" state, and if it breaks line of sight the flag is toggled back so it returns to combat. You could make a monster that only goes to where they last saw/heard the player, rather than always knowing where the player is. You could have a monster that constantly checks for areas out of the player's line-of-sight so it has places to take cover. And that's probably all possible with DECORATE. With ZScript, you could go further and write your own version of A_Chase instead of using the stock one, if you wanted.

Really the only limit is your imagination.

8-)
User avatar
Matt
Posts: 9670
Joined: Sun Jan 04, 2004 5:37 pm
Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia

Re: Creating truly custom monsters?

Post by Matt »

With ZScript, you could go further and write your own version of A_Chase instead of using the stock one, if you hate yourself and feel you need to suffer months of futility for some perceived sense of authenticity about your art.
ftfy, at least with respect to the first couple months of trying to figure out all the little corner cases in your new custom AI...

But yes, do experiment and keep backups of your actors so you can undo any changes that have become too irreparably complicated and bugged.
User avatar
Ravick
Posts: 1977
Joined: Sun Aug 22, 2010 10:59 pm
Location: Tubarão, Brasil

Re: Creating truly custom monsters?

Post by Ravick »

Caligari87 wrote:(...)You could make a monster that only goes to where they last saw/heard the player, rather than always knowing where the player is. You could have a monster that constantly checks for areas out of the player's line-of-sight so it has places to take cover. And that's probably all possible with DECORATE.(...)
I'd be very curious to know theese two features could be achievied! :o
User avatar
Caligari87
User Accounts Assistant
Posts: 5997
Joined: Thu Feb 26, 2004 3:02 pm
Preferred Pronouns: He/Him

Re: Creating truly custom monsters?

Post by Caligari87 »

For the first, have the monster continually place a follow target at the player's position if they have line-of-sight. If the player breaks line of sight, keep the last follow target. Set to wander randomly when the follow target is reached. I believe Sneaky Doom has a working implementation of this.

The second is similar. I've had an idea of a monster which keeps sending out "imaginary" copies of itself which insta-wander randomly looking for certain criteria (like breaking LOS from the player or walking over pickups). The monster would then use those imaginary copies as follow targets, and would select between them base on need. Obviously this would be much easier in ZScript, but doable in DECORATE with some clever hackery I believe.

8-)

Return to “Editing (Archive)”