[ZScript] 3D Platform Actor (v2.2b)
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.
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.
-
- Posts: 970
- Joined: Tue Jul 15, 2003 5:43 pm
Re: [ZScript] 3D Platform Actor (v1.1.1)
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.
https://www.youtube.com/watch?v=e1U2UYFpydM
I ended up making a demo level yesterday.
-
- Posts: 786
- Joined: Wed Feb 23, 2011 11:04 am
- Preferred Pronouns: No Preference
Re: [ZScript] 3D Platform Actor (v1.1.1)
I hope they were easy enough to figure out heh.
And I hope you're having fun with them.
And I hope you're having fun with them.
-
- Posts: 970
- Joined: Tue Jul 15, 2003 5:43 pm
Re: [ZScript] 3D Platform Actor (v1.1.1)
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.
-
- Posts: 219
- Joined: Tue Apr 05, 2022 3:43 am
- Preferred Pronouns: He/Him
Re: [ZScript] 3D Platform Actor (v1.1.1)
Screenshots?
-
- Posts: 786
- Joined: Wed Feb 23, 2011 11:04 am
- Preferred Pronouns: No Preference
Re: [ZScript] 3D Platform Actor (v1.1.1)
Have a video instead.
-
- Posts: 219
- Joined: Tue Apr 05, 2022 3:43 am
- Preferred Pronouns: He/Him
Re: [ZScript] 3D Platform Actor (v1.1.1)
Holy batshit dude! that looks amazing!
-
- Posts: 786
- Joined: Wed Feb 23, 2011 11:04 am
- Preferred Pronouns: No Preference
-
- Posts: 219
- Joined: Tue Apr 05, 2022 3:43 am
- Preferred Pronouns: He/Him
-
-
- Posts: 17454
- Joined: Mon Oct 27, 2003 12:07 am
- Location: Kuala Lumpur, Malaysia
Re: [ZScript] 3D Platform Actor (v1.1.1)
The flesh section at the ebd is where the true flex of this library lies.
-
- Posts: 786
- Joined: Wed Feb 23, 2011 11:04 am
- Preferred Pronouns: No Preference
-
- Posts: 94
- Joined: Sat Apr 30, 2022 4:26 am
Re: [ZScript] 3D Platform Actor (v1.1.1)
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
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
-
- Posts: 786
- Joined: Wed Feb 23, 2011 11:04 am
- Preferred Pronouns: No Preference
Re: [ZScript] 3D Platform Actor (v1.1.1)
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
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
-
- Posts: 94
- Joined: Sat Apr 30, 2022 4:26 am
Re: [ZScript] 3D Platform Actor (v1.1.1)
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 =)
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 =)
-
- Posts: 786
- Joined: Wed Feb 23, 2011 11:04 am
- Preferred Pronouns: No Preference
Re: [ZScript] 3D Platform Actor (v1.1.1)
You can add lights via GLDEFS or you can use A_AttachLight.
EDIT:
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: codeEDIT2: Fix A_Chase()
Last edited by Fishytza on Mon Feb 20, 2023 2:29 am, edited 1 time in total.
-
- Posts: 786
- Joined: Wed Feb 23, 2011 11:04 am
- Preferred Pronouns: No Preference
Re: [ZScript] 3D Platform Actor (v1.1.1)
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.
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.