A screenshot

News about ZDoom, its child ports, or any closely related projects.
[ZDoom Home] [Documentation (Wiki)] [Official News] [Downloads] [Discord]
[🔎 Google This Site]
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

I'd say there's a good chance that ZDoom 2.0.65 has almost complete support of Strife (if 2.0.64 doesn't yet...)
User avatar
Virgil
Posts: 154
Joined: Sun Sep 28, 2003 10:01 pm

Post by Virgil »

Good god, Randy.. You're not pulling my leg are you? Is that shot for real?? :)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Why shouldn't it be? The format for the dialog lumps is known and there's already a working implementation. (Vavoom) So I see no reason why Randy would do soething like that.
User avatar
Macil
Posts: 2529
Joined: Mon Mar 22, 2004 7:00 pm
Preferred Pronouns: He/Him
Location: California, USA. Previously known as "Agent ME".

Post by Macil »

I don't understad why it wouldn't be real. Isn't a dialog system simple enough?
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

Well there's also the status bar that you can see parts of at the bottom of the screen, behind the dialog....
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

HotWax wrote:Well there's also the status bar that you can see parts of at the bottom of the screen, behind the dialog....

That's saying even less because it already existed in previous versions.
Agent ME wrote: I don't understad why it wouldn't be real. Isn't a dialog system simple enough?

Strife's definitely is. If you take a look at Vavoom's implementation (the only one currently available) you'd see that it's 12 kb of rather straightforward C- code.
User avatar
QBasicer
Posts: 766
Joined: Tue Sep 16, 2003 3:03 pm

Post by QBasicer »

So will we see the dialog system in Doom-Hexen ever? Or will it be limited...
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

I don't see any reason why this should be limited to Strife forever. All it really needs to work is a table of thing ID's so dialogs can be assigned to certain actors and certain items can be given, taken or dropped when the conditions are met.
skadoomer
Posts: 1026
Joined: Fri Sep 05, 2003 12:49 pm

Post by skadoomer »

I thought strife was all scripted events (for some rerason i was under the impression that it was basted on hexen's source, but in picking through the levels i can't find any reason why it is) Is that all it is in the game, merely items given to the player to fake dialog, or is that just the way that randy and others have chosen to mimic the behavior in strife?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Strife doesn't have any scripts in the sense of ACS or something like that. It has its dialog system which only works by giving and taking items to and from the player's inventory and a lot of hard coded actions that influence the game. These hard coded actions are the biggest problem in creating a working Strife conversion because you have to get them exactly right. In the end you have to go through the Exe's code to find out all the relevant stuff. Guessing will take you nowhere and any attempt to make Strife run just by doing that is doomed to utter failure because you will inevitably miss important things. I did some EXE analysis myself and found out a lot about those hard coded actions. From what I found out I am quite certain that full Strife support is nearer than many people think.

(Randy, if you read this and have some questions about those special linedefs don't hesitate to ask me. ;) )
skadoomer
Posts: 1026
Joined: Fri Sep 05, 2003 12:49 pm

Post by skadoomer »

Graf Zahl wrote:Strife doesn't have any scripts in the sense of ACS or something like that. It has its dialog system which only works by giving and taking items to and from the player's inventory and a lot of hard coded actions that influence the game.
I got a sense of that basted on the way the linedefs have tags affect different things. (namely sounds and some quest things)
any attempt to make Strife run just by doing that is doomed to utter failure because you will inevitably miss important things.
Doom builder takes some guesses at various liedef actions (which is all i have to toy with until my retail verson arrives) the unknown bits (32 and 128 for things, 512 1024 and 2048 for linedefs) too are peticulair confusing, becasue i can't read into a consistency with that they do.
I did some EXE analysis myself and found out a lot about those hard coded actions. From what I found out I am quite certain that full Strife support is nearer than many people think.
Perhaps this is a little crude to ask, but since you seem to be the guru to everything code related in zdoom; what are they key aspects that mod devolpers will gain upon full strife implimentation? (asid the obvious conversation system and character attacks)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Ok, here's some info I got:

- A few linedef types use the first side's texture y-offset as a parameter - primarily this is used to trigger some special events based on the player's progress in the game

- The line flags mean:
Up to 256 they are identical with Doom
512: Railing (used in combination with the blocking flag): Only block the lower 32 map units of the line
1024: block floating monsters (I'm not 100% sure about this - it might be the inverse)
2048: I couldn't find anything about this flag
4096: line is translucent

-Thing flags:
The 'deaf' flag of Doom means 'Don't move' in Strife (this is used for some actors which normally can walk around - like peasants and acolytes)
32: same as 'deaf' in Doom (If I didn't read something completely wrong)
64: Friend
128: unknown
256: translucent
512: monsters aim is worse when targeting this

Considering that aside from the dialog system (and the friendly AI - which is an essential part of the game) Strife only consists of a small number of hard coded actions tied to a few linedef types.

The rest of the more noreworthy stuff can all be achieved with ACS and some other configuration options in a much more flexible way:

- texture animated doors: These will only be of any use if Randy finds a way to make this work without a list of texture names to animate them.
- door sounds based on door textures - again they will only be of use if it is done without some hard coded definitions
- a 'smashable glass' linedef
- a force field linedef type and some easy means for deactivation - this might be of use but all of this can already be done with normal scripting which is much more versatile than this limited implementation.

Don't forget that some of Strife's more important features features (hubs, inventory) are already present in ZDoom due to Hexen and Heretic support.
skadoomer
Posts: 1026
Joined: Fri Sep 05, 2003 12:49 pm

Post by skadoomer »

Graf Zahl wrote: 2048: I couldn't find anything about this flag

-Thing flags:
128: unknown
Hope there not important :D

thing 128 seemes to be related to multiplayer in some way (i think it has something to do with distinguishing deathmatch and co-op games)

I didn't find anything on the linedefs (at least in shareware) on flag 2048, then again there is no search option for this so i might have missed something.

Considering that aside from the dialog system (and the friendly AI - which is an essential part of the game) Strife only consists of a small number of hard coded actions tied to a few linedef types.
So Zdoom gets what is essencially the best part of MBF. Wouldn't Friendly AI take somewhat of a rewrite of the current standing AI? Or is it more of a ThingHate function?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49252
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

skadoomer wrote: So Zdoom gets what is essencially the best part of MBF. Wouldn't Friendly AI take somewhat of a rewrite of the current standing AI? Or is it more of a ThingHate function?


Basically the friendly AI of Strife is a primitive version of MBF's. If I had to implement it I'd use MBF because its target search algorithm appears to be much better (and of course because its source is already available! ;) ) Some changes have to be made though because MBF's friendly monsters always return to the player when they can't find a target. Strife's monsters don't do this and it would severely break some stuff.
thing 128 seemes to be related to multiplayer in some way (i think it has something to do with distinguishing deathmatch and co-op games)
I don't know. Strife never officially supported co-op even though the player starts are there. The game is just totally unsuitable for it.
User avatar
randi
Site Admin
Posts: 7749
Joined: Wed Jul 09, 2003 10:30 pm

Post by randi »

That information about line flags is very useful. I hadn't even considered the possibility that Strife might add more of those.

I don't think thing flag 128 is used at all. Neither P_SpawnMapThing nor P_NightmareRespawn check it.

Does line special 215 do anything? Gokuma's config has it labeled as "W1 Play Quest Sound?" and it does appear to be in the switch statement in P_CrossSpecialLine, but it doesn't look like it has any actual code defined for it. I have exact code for the other specials, so those aren't going to be a problem.

Friendly AI appears to be very simple, and I think I've already got all of it implemented in what I called A_Look2. Let me know if this is wrong: In Strife, "friendly" monsters are just monsters that ignore you until you make the alarm go off or you attack them.

Do you know what Strife is doing when you obtain pieces of the Sigil? It doesn't appear to be handled by the normal inventory giving function.

Return to “ZDoom (and related) News”