I have some custom routes defined as follows. My issue is that IF the post doesn’t have a tag it returns a 404, and if I have a new tag created that isn’t part of the routes.yaml it also 404s.
This is because posts have to belong to a collection to have the {slug} as URL.
In your case, anything that doesn’t have the announcements or gaming tag will not belong to a collection.
You could set up your routes in a different way, have the /posts/ as the collection without filter, and the /announcements/ & /gaming/ as channels.