Page 7 of 14

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

Posted: Thu Oct 13, 2022 6:27 pm
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.

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

Posted: Mon Oct 17, 2022 3:22 am
by Fishytza
I hope they were easy enough to figure out heh.
And I hope you're having fun with them. :)

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

Posted: Mon Oct 17, 2022 4:41 pm
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.

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

Posted: Wed Feb 08, 2023 6:30 am
by DELTAtheDboi005
Screenshots?

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

Posted: Wed Feb 08, 2023 4:45 pm
by Fishytza
Have a video instead.


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

Posted: Wed Feb 08, 2023 10:27 pm
by DELTAtheDboi005
Holy batshit dude! that looks amazing!

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

Posted: Thu Feb 09, 2023 2:47 am
by Fishytza
Thanks! :D

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

Posted: Thu Feb 09, 2023 4:15 am
by DELTAtheDboi005
Anytime 8-)

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

Posted: Thu Feb 09, 2023 5:38 am
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.

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

Posted: Thu Feb 09, 2023 6:26 am
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

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

Posted: Fri Feb 17, 2023 6:58 am
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

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

Posted: Fri Feb 17, 2023 7:56 am
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

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

Posted: Fri Feb 17, 2023 12:02 pm
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 =)

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

Posted: Sun Feb 19, 2023 12:48 pm
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()

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

Posted: Mon Feb 20, 2023 2:26 am
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.