Dynamic Time-division duplex (TDD) can provide efficient and flexible splitting of the common wireless cellular resources between uplink (UL) and downlink (DL) users. In this paper, the UL/DL optimization problem is formulated as a noncooperative game among the small cell base stations (SCBSs) in which each base station aims at minimizing its total UL and DL flow delays. To solve this game, a self-organizing UL/DL resource configuration scheme for TDD-based small cell networks is proposed. Using the proposed scheme, an SCBS is able to estimate and learn the UL and DL loads autonomously while optimizing its UL/DL configuration accordingly. Simulations results show that the proposed algorithm achieves significant gains in terms of packet throughput in case of asymmetric UL and DL traffic loads. This gain increases as the traffic asymmetry increases, reaching up to 97% and 200% gains relative to random and fixed duplexing schemes respectively. Our results also show that the proposed algorithm is well-adapted to dynamic traffic conditions and different network sizes, and operates efficiently in case of severe cross-link interference in which neighboring cells transmit in opposite directions.