Building a dynamically generated city

Computers & Mobile Craft & Design

Shamus wrote some impressive procedural city software in OpenGL and posted this simple summary of how the process works –

  • The project is bound to Windows right now. Several people made great suggestions yesterday for wxWidgets, Qt or SDL. I don’t have time to examine those now (the interface is already done and I’m anxious to move forward) but I am making a note to make sure my next project is written on something portable.
  • I’m using OpenGL for rendering. The API seems more quaint every year, but it still gets the job done without getting in the way.
  • The look I’m going for is a helicopter-level view of a city, not a street-level view.
  • The city is going to be pretty basic. 30 hours is not much time, and I’m aiming for simple-yet-effective as opposed to profound and feature-rich. While a lot can be done with a procedural city, I’m not going to take this idea very far to begin with. I just want something that’s fun to view for a couple of minutes.

Not much in the way of specifics, but much more info can be found on the Twenty Sided blog – p1, p2, & p3 [via Create Digital Motion]

6 thoughts on “Building a dynamically generated city

  1. Polynonymous says:

    Pretty cool, I look forward to seeing this in a future version of Dwarf Fortress.

  2. Andy Cakebread says:

    Very nice. I see the city is based on the grid system used in most american cities. Could you generate a city based on ancient pathways/semi-randon pathways which most european cities are based on?

  3. Anonymous says:

    I love that spirit:
    “I just want something that’s fun to view for a couple of minutes.”
    Great job!

Comments are closed.

Discuss this article with the rest of the community on our Discord server!
Tagged

ADVERTISEMENT

Maker Faire Bay Area 2023 - Mare Island, CA

Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 15th iteration!

Buy Tickets today! SAVE 15% and lock-in your preferred date(s).

FEEDBACK