The problem is not that nobody took photos
Everybody took photos. That has never been the issue at a sixteenth. The issue is where they went: into Stories that expired the next afternoon, into four separate group chats, into camera rolls belonging to people who genuinely meant to send them and then did not. A month later the birthday person has their own photos, three sent by their best friend, and a strong suspicion that better ones exist.
It is worth being honest about why asking afterwards fails. It is not rudeness. It is that sending forty photos to someone is genuinely annoying, and the moment for it passes within about two days.
A code at the door works because it collapses the ask to a single scan while people are still at the party and still in the mood. It also does something the group chat never does: everyone with the code sees the same gallery, so friends scroll through what has been added and upload their own to keep up.
Whether it is thirty people in a back garden or a hired room with a DJ, the mechanics are the same — and so is the result the next morning, which is one link with the whole night in it.