I think rather than have a surprise objective they should remove the prizes, intense competition, and networking. Hackathons should be about coding something cool, not winning, networking, or partying.
Or make the prizes reasonable. I won an RC helicopter and got a few t-shirts at a hackathon a couple years ago. I wasn't there contingent on the prize, but it was still a nice incentive.