Fast Jimmy wrote...
While I appreciate you listing your credentials, I think you are still oversimplifying things.
Changing engines is more than just the engine itself. All of the tools, software and techniques you had used on the previous engine are possibly of little to no help. Which isn't that big of a deal, when you are working with an engine that has previously been used to create similar games, as there would be tools already created to implement gameplay features already created. But if an engine has only been used to make shooters, chances are there hasn't been much work done to create tools for the engine that can help create the type of game you want.
Wrong. The engine does a lot to create the type of gameplay you want. Here's the general list of things the engine does:
- Renders things on screen
- Streams data from drive into memory
- Plays audio when told
- Plays animations on models when told
- Handles geometric collision
- Loads data from drive into the correct sections of memory for system access
- Handle the connection, transmission and processing of data of multiplayer data
- Handles physics applied to objects
- Handles lighting calculations
- Handles visualization adjustments, like field of view, depth of field, saturation, etc.
The ability to handle these sorts of tasks better than the previous engine is the primary reasoning behind engine changes. The sort of changes you're talking about are still gameplay changes, not engine ones. Just because there exists work to be done does not make them engine changes. It just makes them systems that gameplay needs to build (or rebuild, or port) because of an engine change.
You obviously have more experience doing programming than I do. But I think you are also looking at things the way you want to see them, as well.
You want to know what I've also done before that you probably haven't? I've worked on a project that changed engines mid-cycle. And I did something very similar to what you were talking about - I built a cinematic melee combat system where there didn't exist one before. But I didn't make any engine changes. There were certain things I built to ask the engine to do things for me, like "play this animation", and "check for collision within these parameters". But my system, and the AI state machine system on which it was based, was all gameplay. It wasn't engine work. It didn't fundamentally change the behavior of the hardware, or rendering, or networking, or physics, or sound, or input, or animation, or any of the host of low-level systems taken for granted. It just used those options afforded by those existing systems to work.
Which means you are still, as you have been, wrong. You might as well say "Well, kilogram has a different meaning to me". You could say it, but it would sound ridiculous.