I'll present the benefits or tools I think are valuable and saves us time on implementation and problem solving by adopting an engine, and we can discuss if those benefits are worth the bloat.
Game Camera
Usually really simple to use "player view" perspective of the world
Generally engines provide separate UI drawing for the Camera and the game world to separate player HUD and the game world UI. Very helpful when layering and moving around but keeping HUD static
Phaser separates HUD and world with "Camera" and "Stage".
Asset Loading and Pooling and Animation
Provides way of grouping sprites together into an "animation"
Generally provides way to start, stop, restart, loop, etc an animation efficiently without having to manually load/swap each sprite asset. Generally can specify which frame of an animation you want to jump/start/stop at as well.
Asset loading also includes audio loading and playback api's
Game Event Loops
Provides logic loop and render loop
These methods generally also provide time context, such as delta time since last logic operation or time since last render
Generally also lets us simulate many logic loops before deciding to render another frame, etc
Handles certain game lifecycle events, generally ensures that game events happen in a specific order for developer, such as input, then physics, then simulation, then render loop, etc.
Takes responsibility of event integrity out of developers hands
Input: Cross plat handled & APIs provided, including Gamepads
Rendering:
Depending on the engine, will support multiple rendering methods. Phaser can use Canvas and WebGL internally and will auto-switch between uses based on browser support on the platform
Still provides access to DOM and Canvas via static classes
I probably forgot something or didn't give enough detail on certain subjects.
I'm also not as familiar with the WebAPI's as you both are, so maybe some of this stuff is much easier in the web than in iOS or Desktop development without the use of an engine. Would love to hear your thoughts and have some discussion around it.
2D: Phaser 3D: Babylon or PlayCanvas
I'll present the benefits or tools I think are valuable and saves us time on implementation and problem solving by adopting an engine, and we can discuss if those benefits are worth the bloat.
Game Camera
Asset Loading and Pooling and Animation
Game Event Loops
Input: Cross plat handled & APIs provided, including Gamepads
Rendering:
I probably forgot something or didn't give enough detail on certain subjects.
I'm also not as familiar with the WebAPI's as you both are, so maybe some of this stuff is much easier in the web than in iOS or Desktop development without the use of an engine. Would love to hear your thoughts and have some discussion around it.