Please consider what ledtester said. There should always be someone to monitor the room and provide an instant escape route. Otherwise you risk death or even injuries. Unless the lack of an obvious exit is just an agreement between participants, but I suppose that hurts immersion.
Despite being a softdev, I do not support automation for the sake of automation. The only reason I can see for eliminating the human here, if a human is already available, is providing lower error rate. If that would be your goal, I see a some other options other than RFID:
- Computer vision. The advantage is reusability and flexibility, in particular if the puzzle is going to be torn down after one or a few uses. Designing a separate circuit just for one occassion seems wasteful both in terms of effort and supplies. Making it in software requires a webcam and a computer, both of which are easily reusable. The disadvantage is that CV is a temperamental beast with a huge variance in outcomes. It may work marvelous or it may be a disaster, depending on factors like lighting, camera placement and occlusion. Testing outside of the actual environment is not easy and may give misleading positive results.
- QR codes. Those are reliable and may work in IR (if the camera has no IR filters), requiring no additional visible light. The downside: you must place QR codes somewhere and the camera, located at close proximity, must see them all. That puts a lot of constraints on your layout and may affect aesthetics/immersion.
- RGB LEDs with a light sensor, placed under the pieces. If the pieces are of considerably different colors, you may read a color easily this way. An additional IR LED may be used to detect when a piece is put over the sensor to avoid shining light into air, when there is nothing to scan. Unfortunately unsuitable for bright locations. The problems you may encounter is interference from other light sources and writing the right conditions to detect the right change in the analog signal. The latter seems trivial, as everybody imagines it’s always just a binary value, but in practice spurious triggering or missed signals may happen.
In either case, I would couple that with a human operator. The human makes a decision and the machine verifies it. Note the order: the machine should never suggest anything to the operator before they make a decision, other than perhaps making an alarm if they don’t react for too long. This way gain much by having two elements in series.