system
Given the following post, respond as if you're commenting on Reddit:
human
What do software architects use to plan in advance? (UML tools?)

I'm a self taught Python dude (Biotech pivoting to bioinformatics) and I've been learning through building a procedurally generated video game. As the game gets larger, progress gets slower. I spend (imo) too much time drawing out class architecture and the flow of data, only to have things change the next time I add a feature. There's got to be (free) tools out there to make this easier, but  I really don't know what those would be. My googling usually leads me to  "3d modeling tools" or "software tools for architects/civil engineers". Even looking at the "best UML tools 2020" I don't know if that's actually what I want, or what the difference between a good and bad one is. I feel like I'm suffering from "I don't know what I don't know" syndrome since I've never taken actual classes or had a mentor. Any help is appreciated.
gpt
I've been a professional software engineer for 12 years now.

I would say that it's not super common to use UML class diagrams in big software companies. As you note, these things change frequently. It's just a fact of life - you can rarely plan the entire system from the beginning. Often you don't even know what you really want until you build it. For your example with a procedurally generated game, maybe you start with just a collection of objects in the world. But then you realize that's too slow, so you need some tiling system to generate new tiles as the player nears them. Then you need a way to unload old tiles (and maybe save enough state to regenerate them the same later).
Experience will help you get better at planning ahead for these things, but there will always be surprises.

In general, such diagrams are most useful to communicate designs between different members of a development team. Usually the class structure shouldn't be super complex, so it can be documented in comments or design documents (usually explaining what the code is trying to accomplish and why is the more important task).

I will say that state machine diagrams or sequence drawings can be pretty helpful. For state diagrams, it can be really helpful to list and explain all of the possible states and show what the transitions are. For example, in a multiplayer game, you might have states for players waiting to join a game, in active gameplay, waiting for respawn, etc. This is particularly useful since many different systems might need to deal with the state.