Based on the Rome layout in the first chapters of SPQR.
Let’s have the active plotline be Kicerro (Cicero) vs Satiline (Catiline). There’s a council that rules the city. Both are members. Kicerro in the leading party that supports big landowners and rich merchants. Satiline supports the poor and downtrodden, the average sailor and stevedore.
Conspiracies galore, Satiline is stashing arms around the city, deals with a few key merchants, and has an army outside the city intending to throw a coup, kill his rival Kicerro and setup himself up as the head of a newly formed councils, purged of aristocracy. Port Royale is a city of “free men!” Let’s thrown in that Sataline has either kidnapped and/or romanced Kicerro’s daughter. Uncertain to the outside world.
Let’s have two key events planned:
Stolen weapons? Lead to a Satiline depot?
The coup itself. The players are made aware of that there are two gates that have to be successfully breached. If they try to figure it out, they learn that one has been reinforced, but the other hasn’t. The party can turn the tide at the unreinforced gate and cause whatever side they want to win.