Ah, it's a pleasure to see that working. This is the output from my unit test for exit generation. Given a room, which is an arbitrary polygon or group of polygons, we want to choose a line segment along its edge that's of a requested size, but also has a certain amount of clearance from any nearby corners or other already-existing exits. Once we've done that, we want to punch that particular line out as a distinct segment along the polygon's edge, which has the effect of breaking the polygon up in a fashion which will be useful for rendering and physics. We can then generate another polygon extending away from the exit's location, which will be a corridor. And here it is, all functioning as neat as you please.
It reminds me that I found a great article today describing what the author calls the "Black Triangle Moment." The executive summary is that after weeks of hard work getting the fundamentals of an engine working on the Playstation 2, the programmers were delighted to see the evidence of their success and called everyone in the office around to see: a black triangle. Unremarkable in and of itself, the black triangle's importance is that it symbolizes all the support mechanisms that had to come together simply to make it appear onscreen. Once you can draw the black triangle, you know you can draw a colored one, or a textured one, or a dozen, or a million. You're well on your way. The writer of this article wasn't just whistling Dixie: I can remember plenty of my own "black triangle moments," extending back to things like controlling a camera with the keyboard in Direct3D or, heck, typing
10 PRINT "MARK IS AWESOME"
20 GOTO 10
into the TRS-80 Model 4s we had in elementary school and then punching RUN. It's the moment when you know things work and the rest is just a matter of persistence.
Admittedly persistence has never been my strong suit, but, y'know. We'll see how it goes this time around.