The shooting ended an incident that had begun about 8:30 p.m. local time Saturday, Bainbridge Island Police Chief Matthew Hamner told CNN Sunday morning.
Police received calls about a man firing shots from a boat in Eagle Harbor onto the shore, he said. Officers originally thought someone was setting off fireworks, but callers began describing the type of gun the man was using, Hamner said.
Officials cleared the area and approached the subject around 1 a.m. As they neared, the man raised his gun toward officers and they shot and killed him, Hamner said.
No one else was injured, police said.
“I cannot fully express my gratitude to all of the officers involved,” Hamner said. “They showed good judgment and training.”
Police did not identify the shooter. It was not immediately clear Sunday why he was firing his gun.
Bainbridge Island is in Puget Sound, a 35-minute ferry ride from Seattle.
Authorities had urged residents of the harbor to take shelter and avoid their windows. Ferry services were briefly shut down as the incident unfolded, then cleared to resume.
At some point the shooter stripped naked, CNN affiliate KOMO reported.
Witness Lisa Skelton told the affiliate that she saw the shooter emerge from his boat and open fire, then go back below deck to reload and fire again.
In an attempt to get the shooter to surrender, police used flash bangs, according to the affiliate.