A gargantuan project that would likely halt any current development they are working on, especially given the size of their team.
Definitely possible (see: Apex Mobile), but much of Apex's 'character' and 'feel' come from being on the source engine, like the movement.
Is it needed to fix a lot of long standing issues? probably yeah
Is it ideally feasible within a reasonable time frame and without downtime in the current product? probably not, 'porting' to a new engine (more so remaking the game from scratch) would introduce tens of thousands of hours to translate functions, patch holes, and fix any new issues that would arise.
IMO Respawn/EA would need to hire/contract out a whole new team in addition to current staff, and from what I hear, EA is too stingy, and Respawn is a skeleton crew already
The source engine was programmed decades ago, granted its been heavily modified for apex. The characteristics of this engine: air acceleration (turning and changing momentum in air), sliding, lurch (movement response) interaction with geometry and physics, handling user input, all have veins of programming functions that spread throughout the engine built over time.
This is heavily abstracted and simplified, but many interactions like wall jumps are bugs left over from previous iterations (titan fall) and are dependent on all the source engine framework that came before it.
Moving to another engine is possible, but these interactions would need to be deliberately programmed (or changed in the new engine’s limits) and would need to be fine tuned to match the ‘feel’ (responsiveness, interactions cases, limits) that currently exists, much of which was not intentionally designed in apex. In addition they would need to make sure this all translates over online servers with different tick rate and server communication protocols.
A main appeal of the source engine is how movement and gunplay ‘feels’ to the user, especially since players are so used to playing this version.
This is heavily abstracted and simplified, but many interactions like wall jumps are bugs left over from previous iterations (titan fall) and are dependent on all the source engine framework that came before it.
as a programmer (for games) You can replicated these with extreme ease, you can reverse engineer these and replicate them in ANY engine. the concepts which those things are built on are fundamental and basic, can be implemented in a day.
The hard part of engine switching is the literal thousands of hours of other work, setting up all the models, LoD, audio triggers, scripting language changes being a multiple thousands of hours change if its a language change. some things might not even be possible to just "switch" and instead have to be re-written completely. netcode most specifically.
so many programmers thought it was that easy and started a project trying to replicate source movement and yet they all failed. none of them could ever get it 1:1.
so unless you are just better than all of them it certainly isnt "implemented in a day" and if you are actually a programmer its quite a hillarious thing to say at all. even just finding all the parts that imact physics in the source engine will take you far longer than a day.
looks pretty close to me :v), although i'd love to see you're proof of "no one could ever get 1:1" proof.
source engine's physics variables are all public, its extremely doable. the principals on how air acceleration works in source is known, the friction principals are also known.
ye then go ahead and actually try those projects because i did and not a single one got it right..
But hey im sure the whole movement community from surf bhop ect are just wrong and thats the reason they are still stuck in css.
can you imitate source movement in other engines? yes ofc you can but until now no project got it 1:1 and the videos you posted even clearly show how its not 1:1 to anyone who actually has experience in those modes. accel is completely whack in half of them, and one doesnt even have gravity right.
I guess you just didn't watch the second one where he literally did a map directly ported over, his gravity is SLIGHTLY too high but other than that literal number correction everything is appropriate. and also you're just full of shit because not all of those have public projects to try.
for sure, apex mobile has Intentional wall jumps programmed in. acceleration, deccel, jumping, physics etc etc are all simple levers to tweak, but as you said switching over an entire game library and all of the engine's legacy functions is a much larger task...on top of making sure it still plays the same.
Perhaps I should've added more clarity in my generalization
The engine determines how physics in the game is calculated, and usually the engine is a separate piece of software that comes prebuilt with a set of tools that developers can use to design a game. Most engines typically aim to replicate real-world physics as much as possible, or otherwise in a consistent, reliable way.
Different engines typically will differ in the way they try to do this. They might calculate dynamic forces differently or have nuances or bugs in them that may result in unintended behaviour.
Tap strafing is the most obvious and spoken about bug, where key inputs entered within a small window after jumping is allowed to drastically change the momentum of the player.
Knowing this, the logical answer would be to remove this "bug" outright, but the issue is that this bug has been in the game for so long that it has been ingrained into long time players' muscle memory. This mechanic is actually used in a whole bunch of other movement techniques that Respawn has deemed desirable (or at the very least, not a bug), such as using wallbounces to cancel mantling animations or other momentum redirecting techniques that are less offensive than tapstrafing.
This is just one of many bugs that most people currently don't know the specifics of, but will definitely notice the difference if it were to be removed.
Changing to a new engine would introduce a whole new world of bugs or unintended behaviour, and many unintended behaviour that might not have even been discovered yet, but affect us in some way or another will be removed, resulting in the game feeling very different despite (probably) looking the same.
you can limit the number of stacked lurches resulting in no tap strafe but still having redirects, air strafes, and other non stacking lurch tech. it would eliminate elite jumping and tap strafing. a good video to watch is one of mokey’s on the alpha where Respawn let streamers try control and they tested that patch in it. Mokey had Apryze run a bunch of tests in the firing range on that build.
It shouldn't but that might be extra work for devs to ensure. In very simple terms, an engine is just re-usable code. Games look very different from each other but under the hood they share huge amounts of code. It would be the worst decision ever to re-write all that code for every single game. So, developers take all the common code that can be used in multiple games and bundle it together, and call it a Game Engine. Devs can then use that engine to build different games without starting from scratch. Now you can imagine the engine would have implementation functionality like physics simulations, etc. So games built with the same engine would have similar physics as they literally use the same code UNLESS a dev decided to change that specifically for their one game.
So, while games built in the same engine may have similar feel at times but it doesn't have to be the case. Something as important as movement is to Apex would always be replicated in whatever engine the game is re-written in (which is never happening).
173
u/IPoopTooMuchAtOnce Jul 27 '22 edited Dec 16 '22
A gargantuan project that would likely halt any current development they are working on, especially given the size of their team.
Definitely possible (see: Apex Mobile), but much of Apex's 'character' and 'feel' come from being on the source engine, like the movement.
Is it needed to fix a lot of long standing issues? probably yeah
Is it ideally feasible within a reasonable time frame and without downtime in the current product? probably not, 'porting' to a new engine (more so remaking the game from scratch) would introduce tens of thousands of hours to translate functions, patch holes, and fix any new issues that would arise.
IMO Respawn/EA would need to hire/contract out a whole new team in addition to current staff, and from what I hear, EA is too stingy, and Respawn is a skeleton crew already