XVehicles (Network play) (VCTF, VMH for UT99)

Need some nice Mods? Here, you are right!
Buggie
Godlike
Posts: 1762
Joined: Sat Mar 21, 2020 5:32 am

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Buggie » Sat Jul 16, 2022 4:14 pm

No. I try go own way. But there is thing called as "game balance". Even if you game designer (I am not) it very complicated stuff, where easy screw things up.
So I prefer stick to working schemes (at least for start). 2k4 is one of it, where game balance already designed.

Also I not see queue of peoples which goes make maps for VCTF. I mean really good maps. because, as show my experience, try convert exists maps usually produce unplayable shit, or barely playable awful map (in best case).

So, as for start, we stuck to port VCTF maps from 2k4. As show real players experinece - awesome maps from 2k4 still awesome in XV. So we on right way.

But for do so need equivalent for each stock vehicle from 2k4. Currently we lack of key vehicle - manta. but I already work for it:
scr_1657984254.png
scr_1657984275.png
scr_1657984302.png
But there still ahead of work here, since UT99, not use Karma and direct port inner code not possible. Need recreate all from scratch.

Anyway, many good VCTF maps from 2k4 very related to gameplay to exactly with exists stock vehicles. So for port this maps, need port vehicles too. At least create some replacements or alternatives. Like Raptor -> Heli.
You do not have the required permissions to view the files attached to this post.

User avatar
EvilGrins
Godlike
Posts: 8952
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by EvilGrins » Sat Jul 16, 2022 7:40 pm

Buggie wrote:
Sat Jul 16, 2022 4:14 pm
Anyway, many good VCTF maps from 2k4 very related to gameplay to exactly with exists stock vehicles. So for port this maps, need port vehicles too. At least create some replacements or alternatives. Like Raptor -> Heli.
While far inferior, on MULTIPLE LEVELS, we do technically have ports. From the OnslaughtVehiclesBeta & OnslaughtVehicles.

They're not as good, and glitchy as all heck, but they do exist.
You do not have the required permissions to view the files attached to this post.
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758

Buggie
Godlike
Posts: 1762
Joined: Sat Mar 21, 2020 5:32 am

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Buggie » Sat Jul 16, 2022 8:17 pm

Well. It is not exactly port. It is awful stuff.
As Ferali say once (to you)
Feralidragon wrote:
Fri Mar 04, 2022 2:29 pm
EvilGrins wrote:
Fri Mar 04, 2022 10:12 am
There's an existing ut99 package for Onslaught vehicles, Ferali said he used it as a base to make the X-vehicles from.
https://www.moddb.com/mods/onslaught-for-ut99
No, that's not what I used.
The X-Vehicles base is actually a vehicles mod Dots (.:..:, now Marco at OldUnreal discord) did at the time, what I did was to improve it, mostly on the physics side, and build my own models and vehicles overall.

I wouldn't ever use anything BlackCheetah made as base, he was enthusiastic but also one of the most terrible modders at the time for UT99, and those ONS mods are a stellar example of that.
Another:
Feralidragon wrote:
Sat Nov 27, 2021 5:22 pm
Blade hunter wrote:
Fri Nov 26, 2021 12:14 pm
Also the other thing is BW I have spent a whole lot of time making stuff that I know the workflow for it. I also helped in the mod UT2341 which is one of the other projects I worked on. So yeah if that stuff could be easily ported that would be fine because I remember someone ported a whole lot of stuff from UE2 to 1 until apparently he got banned from the BU forums ...
Well, if that "someone" is Blackcheetah... well... I don't exactly remember why he was banned, but his mods back in the day weren't that good to say at the very least.
I generally don't talk shit about other developers, especially in something which is just a hobby to everyone, but he kinda elevated the ability of doing broken and buggy mods to another level, to the point that installing some of his mods would actually break your UT install, because he did some stupid stuff such as redistributing modified UT files, so his mods could actually be taken as "malware" (although he didn't seem to intend to do any harm, he was just doing things in a very wrong way).
You can not "port" vehicles from 2k4. They use phys engine called Karma. Which not exists in UT99. So need rewrite all from scratch.
What you can use it is mesh, texture, sounds, maybe some effects (limited, since 2k4 is very different from UT99).

Buggie
Godlike
Posts: 1762
Joined: Sat Mar 21, 2020 5:32 am

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Buggie » Mon Jul 18, 2022 4:26 am

v41

- Add Manta vehicle.
- Fix fire in one spot for some cannons.
- Fix break HUD mutators.
- Fix aim weapon for bots in flying vehicles.
- Prevent enter bots with flag to vehicles not able carry flag.

Update in first post: viewtopic.php?f=34&t=14936
scr_1658114151.png
scr_1658114165.png
scr_1658114182.png
scr_1658114197.png
scr_1658114228.png
scr_1658114263.png
You do not have the required permissions to view the files attached to this post.

User avatar
EvilGrins
Godlike
Posts: 8952
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by EvilGrins » Mon Jul 18, 2022 8:22 am

Hmmm, just finished up an edit for a CTF4 map with XV... but now debating if I wanna add that manta.

Seems weird to see a manta flying but unable to see the pilot.

Anywho, I wanted to make a recommendation for the Turrets. I don't think it makes sense for their kill message to be "killed by player's vehicle" given that vehicles are piloted or driven things, and turrets don't move.

Maybe have a "killed by player's turret" or something? Just a thought.
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758

User avatar
OjitroC
Godlike
Posts: 3086
Joined: Sat Sep 12, 2015 8:46 pm

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by OjitroC » Mon Jul 18, 2022 9:09 am

The Manta looks interesting.

What's the mutate veh number for it? I had a look but couldn't find any indication, not that I know where to look. Tried a few numbers but they don't seem to go above 9 (the Energy Turret).

What does the Alt-fire do (if anything)? When in the vehicle there is a noise when pressing Alt-Fire but couldn't work out what was happening.

Buggie
Godlike
Posts: 1762
Joined: Sat Mar 21, 2020 5:32 am

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Buggie » Mon Jul 18, 2022 10:23 am

veh 0.

Alt-fire do duck. Lower hover height for able crush ppl.
Same as crouch, but better use alt-fire, for make more high jumps, for example.

Without duck manta (usually) hover above players head and harmless.
With duck - it crush it. Also you can press duck exactly when above enemy. It is crush too.

Automatically merged

And yes, if someone not know, manta hover over water (lava, slime, acid, jar, etc)
scr_1658139414.png
scr_1658139459.png

Automatically merged

New VCTF server: --- Normal Weapons CTF (Grapple) - XV/VCTF -- London ---
You do not have the required permissions to view the files attached to this post.

Buggie
Godlike
Posts: 1762
Joined: Sat Mar 21, 2020 5:32 am

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Buggie » Sun Jul 24, 2022 6:36 am

v42

- Stop dumb fire to nothing for bots.
- Fix support for bot attitude in different game modes.
- Resolve wrong package dependency.
- Fixed Manta max speed.
- Fix manta climb on walls.
- Toggle movers by manta duck.
- Bots able jump in manta.
- Bots able fall in manta.
- Better aim for bots in manta.
- Limit manta max speed.
- Reduce damage from bump for manta.
- Reduce damage on collision.
- Reduce damage on collide vehicles.

Updated in first post: viewtopic.php?f=34&t=14936

a9902957@nepwk.com
Average
Posts: 70
Joined: Thu Nov 03, 2011 5:12 am

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by a9902957@nepwk.com » Sun Jul 24, 2022 8:24 am

"Fix support for bot attitude in different game modes"
Sweet, when I played HolyWars and MushMatch I had the hunch that some(?) vehicles made 'em
aggro too much against some bad choices.

Thanks for all your work on this! Same to Feralidragon before you!

Man riding shotgun on top of the Heli (you better not get dizzy from spinning lol, nice one) or Manta is fun.
This screams for a BotChatCommand extension for issuing a bot order to disembark/eject from a vehicle (or to "deliver" a vehicle
to a certain spot). https://unrealadmin.org/forums/archive/ ... 31029.html http://www.ut-files.com/index.php?dir=Mods/
Tacticool gaming options on big maps with gametype objectives.

If you do another release Manta projectiles getting some light-emitting effects would be sweet (dynamic lights performance drain, but not lighting up pitch black areas looks weird).

User avatar
Gustavo6046
Godlike
Posts: 1434
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Gustavo6046 » Sun Jul 24, 2022 1:07 pm

a9902957@nepwk.com wrote:
Sun Jul 24, 2022 8:24 am
"Fix support for bot attitude in different game modes"
Sweet, when I played HolyWars and MushMatch I had the hunch that some(?) vehicles made 'em
aggro too much against some bad choices.

Thanks for all your work on this! Same to Feralidragon before you!

Man riding shotgun on top of the Heli (you better not get dizzy from spinning lol, nice one) or Manta is fun.
This screams for a BotChatCommand extension for issuing a bot order to disembark/eject from a vehicle (or to "deliver" a vehicle
to a certain spot). https://unrealadmin.org/forums/archive/ ... 31029.html http://www.ut-files.com/index.php?dir=Mods/
Tacticool gaming options on big maps with gametype objectives.

If you do another release Manta projectiles getting some light-emitting effects would be sweet (dynamic lights performance drain, but not lighting up pitch black areas looks weird).
Sadly, there are still some complications with using MushMatch with XVehicles.

For one, TraceIdentity (the ability to see one's name and other details when looking at them) doesn't look when looking at someone from inside a vehicle, even though it works from people outside the vehicle when they are looking at you. This is the only thing I think I can blame XVehicles for.

Also, Sporifier spore shot and suspicion beacons can't get to people behind vehicles, making it impossible to use these mechanics on them – which is to be expected for an infectious liquid, but maybe not the beacons!

Also, bots in vehicles don't leave the vehicles to use the suspicion beacon or sporifier. This is not a large problem, since they might as well kill the person anyway, but can lead to issues.

Also, since CanSee is used when judging whether someone is fit for being suspected on, I'm pretty sure bots can't suspect on you if you shoot humans from inside a vehicle.

Of course, most of those can be fixed from within Mush Match.

It would be nice if X-Vehicles provided an API for being able to configure some XV behaivour that could be implemented by the gametype author as a subclass. For example, Mush Match would disable the team icons and colours on the vehicles, and, perhaps, would allow multiple vehicles to spawn in the map—or at the very least make an unused vehicle last substantially longer to respawn in original position.





This wallaby has been through the code jungle enough times that he knows to always be prepared each times he makes a trek through it. He always sprays the anti-mosquito lotion, fills his backpack with what would seem like an excessive amount of water bottles to someone with less experience, and puts on his best pair of programmer socks. (And no, he's not trans. Yet, anyway.)

The UnrealScript object-oriented API is certainly appealing at first glance, especially when compared to Quake's purely procedural QuakeC approach, let alone Doom's state machines. But what it has aplenty in accessibility, it lacks in flexibility and performance. Composition will trump inheritance most of the time when it comes to healthy software design, and video game logic is no exception.

In fact, it's a pretty big reason behind paradigms like Entity-Component-System, which have challenged the king of the hill, object-oriented programming, due to its inherent extensibility, flexibility, and performance.

Unfortunately, as we all know, Unreal Tournament predates the very concept of ECS itself by at least half a decade, and even when it first came around, it was developed for real-time strategy games, with thousands—nay, millions!—of tiny little units marching across the screen.

And there is no good way, or reason, to cram ECS into the engine. Either you make an ECS engine that is completely on top of from the game itself, in either UnrealScript or native, which would be very awkward (and probably just result in many Actors being spawned and moved around by the ECS driver used, slow at best and buggy at worst!), or you replace the core UnrealVM with an ECS engine and try to shoehorn existing classes—and support for existing mods, mind you!—into it, which... is just unfeasible, I mean, come on.

Why do I say all that?

Well, mod interoperability is very difficult to accomplish with a simple, inheritance-oriented extension structure, like the one we see in UT. And we can't blame the mod authors, since to implement proper universal interoperability, they'd either need a time machine, or to have tried (and understand the innards of) every mod that has ever existed for UT... or, really, both.

Luckily, there are many ways to achieve composition from within the object-oriented paradigm.

The main one is interfaces – a sort of standard, or 'concession', for common kinds of access that an object of a certain type should provide. For example, all classes which are animals, instead of subclassing Pawn, could provide (implement) an Animal interface. It'd include things such as PlayIdleSound and so.

UnrealScript has something similar to that, in which there are abstract classes meant to represent a common kind of thing (like a Pawn or a Pickup), including "abstract functions", which subclasses are supposed to provide their own versions of. For example, the Shock Rifle's version of the Weapon.AltFire function at some point fires a round bolt of plasma.

In languages like Java (which USc was heavily inspired by), however, those interfaces can often be separate from the ancestry of classes which implement them. A Class can implement an Interface without being a subclass of that Interface, or otherwise related at all. UnrealScript sadly lacks a native alternative, but there are certainly workarounds for that.

An abstract class can be subclassed, then used by a class outside the abstract class's hierarchy. For example, we could have a mod that implements temperature, and an abstract class 'ThermalDescriptor', with a subclass for each kind of tangible object – from animals to bots, to weapons, and possibly map-specific subclasses for each ZoneInfo. Then it'd have a static function with the purpose of iterating over every matching actor.

I wonder how this could help with mod interoperability for our thing here.
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. This also applies to mod authoring. If you become a skilled or notable mod author, you will find people propositioning you to implement their ideas. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction

User avatar
Feralidragon
Godlike
Posts: 5462
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Feralidragon » Sun Jul 24, 2022 2:42 pm

Gustavo6046 wrote:
Sun Jul 24, 2022 1:07 pm
It would be nice if X-Vehicles provided an API for being able to configure some XV behaivour that could be implemented by the gametype author as a subclass. For example, Mush Match would disable the team icons and colours on the vehicles, and, perhaps, would allow multiple vehicles to spawn in the map—or at the very least make an unused vehicle last substantially longer to respawn in original position.
APIs are very complicated things to do, because once they're out they need to be kept pretty much forever in order to not break anything (it's not expected for UT99 mods to have EOL policies surrounding their APIs).

That is to say that the API would need to be very well thought out and defined in order to not be a complex unmaintainable mess down the line, and I am not sure if at this stage of development it's something worth being touched upon, especially since fixes are still a tad too frequent in each release, along with many gameplay changes, suggesting that the mod is still "unstable" overall, for now, at least in the sense that Buggie is still figuring out how to define the base gameplay and features with them.

Gustavo6046 wrote:
Sun Jul 24, 2022 1:07 pm
The main one is interfaces – a sort of standard, or 'concession', for common kinds of access that an object of a certain type should provide. For example, all classes which are animals, instead of subclassing Pawn, could provide (implement) an Animal interface. It'd include things such as PlayIdleSound and so.
I am sorry, but that's a bad example of what an interface is actually meant to be, and is the kind of bad example I see all too often everywhere, so I need to address it here (in a spoiler to not derail the thread too much):
Spoiler
Show
An "interface" is meant to define a contract of "what a class can do" (ability, action, behavior), rather than "what it is" (identity, characteristics, properties).

That is to say that something like Animal would in fact be an abstract class, always, and never an interface.

Otherwise, by defining it as an interface, as a way to define what the class "is", you're implying that the class can be many things at the same time in terms of its own identity and characteristics, like an "animal" and something else at the same time, which is terrible design, and you end up having something worse than "god" classes.

An interface should always be something more along the lines of Walkable or Swimmable for example, as interfaces that provide the methods specific to "walking" or "swimming", with naming conventions generally ending up in "able", or other similar suffixes that allude to what "operation" or "set of operations" they represent ("Walker" or "Swimmer" would work too), as in what is the "ability" they define and enable in a class that implements them.

In your example, PlayIdleSound could indeed belong to an interface, but it would be something like an IdleSoundPlayer for example (if that's the only method it defines), which in turn would also make it independent from whether it's being played from an "animal" or a "robot" for example.

Having that said, you can indeed simulate an interface behavior through abstract classes and heavy use of composition, but it has a big problem:
Spoiler
Show
This engine doesn't like composition very much in its current state, especially when it comes to multiplayer support: there's a ton of hard coded limits everywhere, all the way from how much data can be replicated, to which actors are replicated, in which order, without any guarantee of arrival (at least at the same time within the same frame), and how many can effectively keep an open replication channel between the authoritative and the local copy.

The engine was built in a very composition-unfriendly way.

Pretty much all of these have workarounds, but to account for all of them in everything one creates they would need to be implemented in some sort of "SDK", and what would happen is that either everyone would create their own (it already crossed my mind for me to create one), or if the community tries to create a common one then it will be the subject of a LOT of criticism and either go nowhere or be unused, because creating a good SDK that is easy to understand and is technically sound is incredibly hard to pull off.

To not mention that it would need to be documented, and writing good documentation can be even harder.

Buggie
Godlike
Posts: 1762
Joined: Sat Mar 21, 2020 5:32 am

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Buggie » Sun Jul 24, 2022 4:09 pm

Ferali right. There too early talk about API.

Anyway all stuff which you mention can be configurable even now:
> disable the team icons
This can be done. And already done for MH.
> and colours on the vehicle
You can ignore colors or even put all players in one team (like MH do).
> allow multiple vehicles to spawn in the map
This too can be easy done by walk over all veh factories on map and change one option.
> make an unused vehicle last substantially longer to respawn in original position.
Too editable property of Factory Actor.

Automatically merged

Didn't expect, but look like XVehicles work in Tactical Ops:

User avatar
Gustavo6046
Godlike
Posts: 1434
Joined: Mon Jun 01, 2015 7:08 pm
Personal rank: Resident Wallaby
Location: Porto Alegre, Brazil

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Gustavo6046 » Mon Jul 25, 2022 6:58 am

Mm, right. Thanks Ferali! You're right I was definitely missing the point there lol.


Back on track... or on treads, I guess! :p

XV has a couple bugs in CTFM.
  • Vehicles locked to an eliminated team remain in the map, and remain locked to it. Make it a choice between the vehicles becoming "white" (non-team-locked, but become coloured when first driven, kind of like DOM control points), and despawning them altogether.
  • Bots in vehicles, when their team is eliminated, remain in the map, in the vehicle. Did not test with players (myself lol). Destroying the vehicle gets rid of the bot for good, though.
"Everyone is an idea man. Everybody thinks they have a revolutionary new game concept that no one else has ever thought of. Having cool ideas will rarely get you anywhere in the games industry. You have to be able to implement your ideas or provide some useful skill. This also applies to mod authoring. If you become a skilled or notable mod author, you will find people propositioning you to implement their ideas. Never join a project whose idea man or leader has no obvious development skills. Never join a project that only has a web designer. You have your own ideas. Focus on them carefully and in small chunks and you will be able to develop cool projects."

Weapon of Destruction

Buggie
Godlike
Posts: 1762
Joined: Sat Mar 21, 2020 5:32 am

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by Buggie » Mon Jul 25, 2022 7:12 am

1. Such option already exists enough long time: each VehcileFactory has property bStartTeamLocked. Set it ot False on mapping or during runtime (if you use some ready-to-use maps) via any mutator.

2. IDK how this must works. Elemination and entire game process. But if bot died or destroy it can not left in vehicle. So you need to know how exactly this "elimination" happens.
For example if player disconnect or bot removed from game vehicle correctly works.

User avatar
EvilGrins
Godlike
Posts: 8952
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA

Re: XVehicles (Network play) (VCTF, VMH for UT99)

Post by EvilGrins » Mon Jul 25, 2022 10:33 am

Gustavo6046 wrote:
Mon Jul 25, 2022 6:58 am
XV has a couple bugs in CTFM.
  • Vehicles locked to an eliminated team remain in the map, and remain locked to it.
That's not unusual, same thing happens with UTDM-monsters placed on teams.
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758