[ZScript] 3D Platform Actor (v2.2b)

Post your example zscripts/ACS scripts/etc here.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
SyntherAugustus
Posts: 970
Joined: Tue Jul 15, 2003 5:43 pm

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by SyntherAugustus »

Sorry for the bump, but I just got linked through this from the DW Disdain demo release thread and my mind is blown. I can't wait to run my own experiments on this. I've been waiting to do 3d platforms for a long time.

https://www.youtube.com/watch?v=e1U2UYFpydM

I ended up making a demo level yesterday.
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by Fishytza »

I hope they were easy enough to figure out heh.
And I hope you're having fun with them. :)
User avatar
SyntherAugustus
Posts: 970
Joined: Tue Jul 15, 2003 5:43 pm

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by SyntherAugustus »

I didn't have much trouble once I knew I was doing. It would be neat if there was a way to make a UDB plugin to export a sector selection into a 3d platform. UDB already creates an actor during model export and can implement actor settings.
User avatar
DELTAtheDboi005
Posts: 219
Joined: Tue Apr 05, 2022 3:43 am
Preferred Pronouns: He/Him

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by DELTAtheDboi005 »

Screenshots?
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by Fishytza »

Have a video instead.

User avatar
DELTAtheDboi005
Posts: 219
Joined: Tue Apr 05, 2022 3:43 am
Preferred Pronouns: He/Him

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by DELTAtheDboi005 »

Holy batshit dude! that looks amazing!
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by Fishytza »

Thanks! :D
User avatar
DELTAtheDboi005
Posts: 219
Joined: Tue Apr 05, 2022 3:43 am
Preferred Pronouns: He/Him

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by DELTAtheDboi005 »

Anytime 8-)
User avatar
Nash
 
 
Posts: 17454
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by Nash »

FishyClockwork wrote: Wed Feb 08, 2023 4:45 pm Have a video instead.

The flesh section at the ebd is where the true flex of this library lies.
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by Fishytza »

Nash wrote: Thu Feb 09, 2023 5:38 am The flesh section at the end is where the true flex of this library lies.
Heh. The inspiration for that one is Blood's E4M7: In The Flesh
doomzie
Posts: 94
Joined: Sat Apr 30, 2022 4:26 am

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by doomzie »

Hello sir,

I hope you are doing great and that you are well rested by now ;-)

I took a long break myself after the final update you released, but I'm back at it since two months or so.

I'm still very much enjoying the work you have done and have incorporated it extensively into my current map.

Would you mind getting back into it a little bit? There's a few open questions left and was wondering if you have the energy to have a look at it?

Thanks so much,
doomzie
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by Fishytza »

You can give the latest commit a try, doomzie. There have been quite a lot of under-the-hood changes.
If you don't have a Github client and don't know how to get the last commit, visit the repo page: https://github.com/FishyClock/3Dplatform and click the green "Code" button - and then "download ZIP". What you want is the "pk3files" folder.

Tbh the only reason I haven't made another official release is because of two user variables on the platform class I'm not entirely comfortable with. Mostly because when I make them non-functional it will leave residual garbage in the TEXTMAP lump.

But to give some details:
- It's now possible to define a specific travel speed (that's constant no matter how far the travel target is), to do that set the "travel time" to a negative value.
It works on both interpolation point classes.

- The obstacle pushing code has been reworked so that if something cannot be pushed in a particular direction, the obstacle will be pushed aside instead.

- It is now possible to attach an "actor special" on a platform. The 5th argument on the platform is a tid of another actor that holds the actual special.

- On "Platform interpolation points" if you click the 'Custom' tab in UDB there should be a 'user_nopositionchange'. This is useful if want the platform
to just rotate until it matches the point's angle/pitch/roll but not actually move to where it is. (It's just a convenience thing).

- Lastly, there is a "generic platform" class whose sole purpose is to attach some simple model and set its size thru user variables (under UDB's Custom tab)
so you don't have to define a subclass for each new model (and a modeldef entry and doomednum for it). I realize this is would be inconvenient from a
map editing standpoint because you can't see realtime changes in UDB's Visual Mode what that model is or it's actual size until you launch GZDoom. You'd have to be extra careful and use your imagination.
Also, you'd have to familiarize yourself with A_ChangeModel because the user variables are parameters that get used to call it. (This is what sets the model.)


I'm not sure if I'm forgetting anything else right now. There are a couple of new test maps too, you can check them out if you want.


The current code is designed to run with GZDoom 4.10.0 for the time being
doomzie
Posts: 94
Joined: Sat Apr 30, 2022 4:26 am

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by doomzie »

Awesome. Great to hear how much you have done! I'm not sure if I understand it all, but I'll look into it and report back.

I had the following notes made :-) :
- How to: Add a dynamic light to a 3D platform actor, so the model moves around illuminated?
- How to: What would be the best approach to shoot a projectile from a 3D platform model (e.g. from a turret that hangs below a moving grouped 3DP)
- Request: Trigger action when player lands on the top surface of a (moving) 3D platform model.
- Request: Singular travel time for entire interpolation path loop for stable continuous movement.
- Dreams: EOA Player LedgeClimb compatibility with 3DP, to make the player capable of (jumping and) climbing onto 3DP actors. Grabbing the edge of a model pushes the player up onto the model (3D Platform). Works for regular floors and 3D floors, but "obviously" not for actors.

So from above post I assume you actually addressed both 'Requests'. I'm very curious what the results will be. :-)

Updating =)
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by Fishytza »

doomzie wrote: Fri Feb 17, 2023 12:02 pm - How to: Add a dynamic light to a 3D platform actor, so the model moves around illuminated?
You can add lights via GLDEFS or you can use A_AttachLight.

EDIT:
doomzie wrote: Fri Feb 17, 2023 12:02 pm - How to: What would be the best approach to shoot a projectile from a 3D platform model (e.g. from a turret that hangs below a moving grouped 3DP)
If it's going to hang from below, make the turret a platform subclass and group it with the rest. I assume its attack behaviour is similar to a monster with the only difference being it doesn't move on its own, yes?
I just commited a example to the repo, maybe you can make use of it:
Spoiler: code
EDIT2: Fix A_Chase()
Last edited by Fishytza on Mon Feb 20, 2023 2:29 am, edited 1 time in total.
User avatar
Fishytza
Posts: 786
Joined: Wed Feb 23, 2011 11:04 am
Preferred Pronouns: No Preference

Re: [ZScript] 3D Platform Actor (v1.1.1)

Post by Fishytza »

TIL 2 things about A_Chase().
1) CHF_DONTTURN doesn't include CHF_NODIRECTIONTURN. (I'm not sure if that's intentional or not.)
2) You have to define the melee and/or missile states or else the flags get ignored entirely.

Return to “Script Library”