So.
Each duck in my proposal would have a cheap ardiuno, servo, three leds, impact sensor, and a DIP switch to set its 12c address, permitting 16 ducks. The i2c address would be a block of 16 addresses somewhere sensible that is not going to collide with other hardware.
Each duck would connect to the i2c bus, and would also connect to an interrupt output line. This would be pulled up on the controller - the ducks would let it float (pin mode INPUT) or would pull it down to indicate that an impact had been sensed.
Each duck would run i2c in slave mode. It would accept a packet to set or interrogate its state and would reply with state.
The state of each duck comprises the state of each LED, duck up/down, and whether or not it should respond to impacts by dropping the duck. Five bits.
The controller would act as a webserver over wifi, serving up the content of some pages on an SD card. It would also serve up the current duck state as JSON, and would accept POST requests with a querystring indicating what state it should put the ducks in.
The controller would respond to the interrupt by setting a volatile variable that would prompt it to refetch state from all ducks over i2c.
The webpages on the SD card would be some sort of HTML and javascript that talks to the controller and runs a game. I personally like angluarJS because I'm doing it at work. It would poll the controller for state - say - once a second.
Note that there's no security here - nothing to stop somene hacking the game over wi-fi. The simplest solution (apart from using a proper password on the wifi network) would be to have the controller arduino only accept connections from whitelisted IP addresses. Perhaps a password on the SD card allowing a connected client to grant/revoke access to IPs, and an admin URL. That way it's all on the SD card.
I hope you are getting a feel for what you are asking. What I'm describing here is what I think would be the easiest way to go about it. In the meantime, perhaps set your sights lower - two ducks might be do-able. One duck isn't enough, because for a proper PoC you need to cope with potentially multiple sources of impact.