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.
Creating truly custom monsters?
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.
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.
-
- Posts: 214
- Joined: Sun Feb 01, 2015 11:38 pm
- Location: 'merica
-
- Admin
- Posts: 6143
- Joined: Thu Feb 26, 2004 3:02 pm
- Preferred Pronouns: He/Him
Re: Creating truly custom monsters?
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.

Really the only limit is your imagination.

-
- Posts: 9696
- Joined: Sun Jan 04, 2004 5:37 pm
- Preferred Pronouns: They/Them
- Operating System Version (Optional): Debian Bullseye
- Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia
Re: Creating truly custom monsters?
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...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.
But yes, do experiment and keep backups of your actors so you can undo any changes that have become too irreparably complicated and bugged.
-
- Posts: 1996
- Joined: Sun Aug 22, 2010 10:59 pm
- Location: Tubarão, Brasil
Re: Creating truly custom monsters?
I'd be very curious to know theese two features could be achievied!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.(...)

-
- Admin
- Posts: 6143
- Joined: Thu Feb 26, 2004 3:02 pm
- Preferred Pronouns: He/Him
Re: Creating truly custom monsters?
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.

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.
