Mark Sachs (ksleet) wrote,
Mark Sachs
ksleet

  • Mood:
  • Music:

Exit generation and the Black Triangle Moment.



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.
Tags: neon galaxy
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments