Procedural City, Part 1: Introduction

By Shamus
on Apr 13, 2009
Filed under:
Programming, Projects

151 comments

Change of pace. In the last week I’ve had an idea clawing at the back of my head, and it’s clear the thing isn’t going to leave me alone until I do something with it. I don’t usually blog about my little programming projects (with the exception of the Terrain Project) because I like to imagine this site has some sort of focus, but the choice here is for me to blog about this or leave the site fallow for a week. So I’m blogging it. Perhaps you’ll find it entertaining anyway.

Motivation

There are several reasons for wanting to do this.

It’s comical now, but this was a real eye-grabber in 1996.
It’s comical now, but this was a real eye-grabber in 1996.

Way back in my early days of 3D development a lot of my work was focused on creating effects or finding tricks to make it look like there is more to the scene than what is really being rendered. A lot of work was being done by game companies to simply push the technology as far as it would go, but I enjoyed getting halfway there with technology and then going the rest of the way with a good facade and some lighting tricks. The techniques I used in the mid 90’s would seem laughably simplistic and trivial today, but at the time I remember getting a lot of “How did you do this?!?” type reactions to my work.

For example: I wanted to make a city, but the scene just couldn’t render things at a great enough distance to give you a “big city” feel. It just felt like a handful of big boxes next to each other in the middle of a featureless plain. So I set the city at night, scaled the buildings down so that they weren’t really much bigger than houses, and slightly pinched the tops of them so that the top of the (apparent) cube was smaller than the base. The reduced scale let me get a lot of buildings close together, the night lighting let me suggest more detail than was really present, and the skewed shape created a false impression of height. (The eye wanted to believe that these building-ish objects were cubes, and so when you looked up it made them seem taller than they were.) The scene was pretty astounding in 1996, although I doubt it would impress anyone today.

This sort of thing was an unusual blend of technical and artistic work, and I enjoyed it immensely.

l4d_buildings.jpg
In a section of the Left 4 Dead commentary (near the very end of the initial No Mercy level) one of the developers draws attention to an apartment building in the distance. He explains that it’s a very simple building with little detail, but because it’s mostly a silhouette against a detailed sky, the eye accepts it and your mind fills in details that aren’t really there. This reminded me a great deal of my old work, and got me itching to do some of that sort of thing again.

My new graphics card is ridiculously powerful. While I’m working less and less with graphics these days, on the rare occasions where that sort of work crops up it’s still focused on getting more out of widely adopted low-end technology. So I haven’t worked with much new technology. (“New” being very relative. For me, anything younger than a kindergartner is new.) This makes me some sort of cutting-edge Luddite, pushing the limits of stale technology.

CPU’s have stagnated a bit over the last few years while GPU’s have continued to accelerate. (No pun intended.) This has moved a lot of the old bottlenecks around. I think it would be good for me to get to know one of these recent GPU’s and see what it’s like to work with them.

And finally, I love procedural content, but I never get a chance to work with it.

Goals

1. The goal is to make a nighttime cityscape that is mostly made of lights and suggestions rather than real detail.

2. The city will be entirely procedurally generated. That is, the program will contain no art assets. No textures. No models. Everything must be built from scratch at startup.

3. I’m budgeting a week of nights and weekends for the project. So, probably about 30 hours of time total.

4. I’m going to use only conventional rendering. While I’d love to muck about with pixel shaders and see what the new ones can do, I haven’t messed with that sort of thing since 2006. Just getting up to speed on the subject would blow my entire time budget. (Pixel shaders are special programs that run on your graphics card instead of on your “computer” with all of your other software. They are strange, amazingly powerful, and difficult to master.)

5. I’m aiming for something that will run on a broad range of machines. This will be a little tricky, since my current machine is pretty beefy compared to the average. (I’m talking about the average windows-based PC, not the average gaming computer.) It’s much easier to develop on an old machine than to develop on a new one and try to guess where the bottlenecks will appear when run on old hardware. All of our older machines around the house have been converted to Ubuntu, and running under WINE wouldn’t make for a very useful benchmark. So this goal will be difficult to judge. The best I can do is aim for the program running at at least 100 frames per second on my PC and hope that it can still manage 25 or so on an older machine. Even this is pretty dicey, but it’s the best I can do for now.

I don’t know what I’ll do with the program beyond the goals above. Give away the source? Turn it into a screensaver? Add more features? We’ll see where the project takes me and how interesting this is to people.

Getting Started

The first step in a project like this is to make a simple program to open a window, start up OpenGL, and provide some basic camera interface so that I’ll be able to examine my work. This involves gathering up a lot of boring boilerplate code, creating the project files, and adding a bunch of not-very-interesting low-level systems. The result is not very compelling:

pixelcity_base.png

Sorry for dragging you all this way only to show you an empty window, but this is how it often goes. I’ll make sure to have something more compelling to show you next time around. This series will run all week, assuming everything goes to plan.

Enjoyed this post? Please share!

Footnotes:


A Hundred!202011We've got 151 comments. But one more probably won't hurt.

From the Archives:

1 2 3

  1. […] Shamus Young hat über 50 Stunden darin investiert, eine prozedural generierte, also komplett dynamisch on-the-fly zusammengestellte Stadt zu programmieren und diese schliesslich als Screensaver (leider bislang nur für Windows) an die Weltöffentlichkeit weiterzugeben – einfach nur so, zum Spass. Respekt. […]

  2. […] Una enorme ciudad generada dinámicamente a partir de ciertas reglas. Es fascinante. ♥ La explicación paso a paso de cómo funciona. […]

  3. […] been doing the rounds, I thought I should share. If you want to know how it’s done, you should turn to the developer’s enormous diary of its development. If you want to know what it does, you should look at the video beneath the cut or consider […]

  4. Brian Siano says:

    I just saw the work on your cityscape flythrough, and I really like it. You’ve probably seen the similar work on Peter Jackson’s _King Kong_. And you may want to have a look at the video “Rivers of Light” by the Grass Collective, which is a sort of ambient-video thing of footage shot over Los Angeles at night.

    Which brings me to a suggestion. If you did this with enough high-res textures, you could have a nice program for people to run on their HDTVs as a kind of ambient, screen-saverish, nice-to-look-at video feed. Only instead of a pre-recorded sequence, it could run semi-randomly: let the user choose certain parameters, like speed, camera height and view angle, maybe let them play some music behind it, and let it rip.

  5. Brian Siano says:

    Oh, and another thing: if you could get this to work in a game engine like Crysis’s, it’d be a nice boon to game designers.

  6. Josh says:

    Sounds like Chris Colefax’s City Generator for POV-Ray.

  7. […] City is a procedurally-generated city by Shamus Young. For the non-coders out there, this essentially means that based on a certain set of rules, a 3-D […]

  8. […] This is a step-by-step demo of a dynamically generated “big city” by Shamus Young. It’s long but worth it. More geekily fascinating info here. […]

  9. […] creating a night-time cityscape … check out the video here and the in-depth explanation at shamus young’s website […]

  10. […] For the über-geeks amongst us, the author’s description of how he developed the program starts here. […]

  11. ukimalefu says:

    SCREENSAVER! PLEASE! FOR MAC OS X!

  12. […] This cool video shows how programmer Shamus Young created a procedurally-generated 3D nighttime cityscape. The program generates everything every time it runs, and doesn’t use any pre-stored textures or art assets. He gives a great step-by-step explanation of how he did the project in a series of blog posts. […]

  13. […] Procedural City, Part 1: Introduction Procedural City, Part 2: Building Textures Procedural City, Part 3: Generating Buildings Procedural City, Part 4: City Planning Procedural City: Intermission Procedural City, Part 5: Fixes Procedural City, Part 6: Sky Procedural City, Part 7: The Street-Level Trap Procedural City, Part 8: Optimization Tests Procedural City, Part 9: Speeding Things Up Procedural City, Part 10: More Performance Procedural City, Part 11: Demonstration Video Procedural City, Part 12: Finishing Touches Procedural City, Part 13: “Release” of Program and Source Procedural City, Part 14: Feedback and Assessment page_revision: 5, last_edited: 1242437623|%e %b %Y, %H:%M %Z (%O ago) editrate (0)tagsdiscuss history files print site tools+ options edit sections append backlinks view source parent block rename delete help | terms of service | privacy | report a bug | flag as objectionable Hosted by Wikidot.com — get your free wiki now! Unless stated otherwise Content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License Click here to edit contents of this page. Click here to toggle editing of individual sections of the page (if possible). Watch headings for an “edit” link when available. Append content without editing the whole page source. Check out how this page has evolved in the past. If you want to discuss contents of this page – this is the easiest way to do it. View and manage file attachments for this page. A few useful tools to manage this Site. See pages that link to and include this page. Change the name (also URL address, possibly the category) of the page. View wiki source for this page without editing. View/set parent page (used for creating breadcrumbs and structured layout). Notify administrators if there is objectionable content in this page. Something does not work as expected? Find out what you can do. General Wikidot.com documentation and help section. Wikidot.com Terms of Service – what you can, what you should not etc. Wikidot.com Privacy Policy. _uacct = “UA-2059804-6”; urchinTracker(); _uff = false; _uacct = “UA-68540-5″; _udn=”wikidot.com”; urchinTracker(); _qoptions={ qacct:”p-edL3gsnUjJzw-” }; […]

  14. Techni says:

    I wish a GTA or FPS game would use this

  15. […] have to admit that I was riveted to the posts (here’s the first entry).  The process is fascinating, and Shamus’ writing is rather entertaining.  […]

  16. Amazing work, I was skeptical the car thing would look real – but it actually does. Should apply a bit of a blur to the streets over the cars that way it’ll increase the effect.

  17. […] El resultado es bastante espectacular: en total incluye unos 1.600 edificios generados aleatoriamente y 43.000 polígonos. Está programado en OpenGL con MS DevStudio 6.0. «Construir» la ciudad requiere unos 5 segundos. Su autor, Shamus Young, dedicó al proyecto unas 50 horas en total a lo largo de poco más de una semana. En su blog explica todo el proyecto con enorme detalle: Procedural City. […]

  18. […] años o menos) como screensaver para Windows. Este procedimiento es creado y explicado a detalle en 10 pasos por el creador Shamus Young, al que le tomo 50 horas de […]

  19. […] Pixel City is a procedurally-generated city by Shamus Young. For the non-coders out there, this essentially means that based on a certain set of rules, this 3-D city is generated dynamically each time the program runs. Here, the video that shows the Young’s process will make it more clear: […]

  20. No title says:

    […] años o menos) como screensaver para Windows. Este procedimiento es creado y explicado a detalle en 10 pasos por el creador Shamus Young, al que le tomo 50 horas de […]

  21. kofil says:

    mate, whats the name if the application you used? is there any alternative software??

  22. […] d’un programme écrit par Shamus Young pour générer une ville […]

  23. terae7 says:

    Hi, I’m studying engineering, & I was wondering if there was any way for me to study the code You’ve developed…

    I do hope so.

    U can find me @

    terae7@gmail.com

    Tks, see you.

    PD. Congratulations, amazing work!!

  24. […] bien si lo deseas, acudir a la web del autor del vídeo. ▶ Comment /* 0) { jQuery(‘#comments’).show(”, change_location()); jQuery(‘#showcomments […]

  25. […] software engineer named Shamus Young over at his blog. In them he described his process of creating Pixel City, which is basically a procedurally generated city scape set at […]

  26. […] You can read the step-by-step of how it was made at his website. […]

  27. […] Nouveau sur Crowded.fr ? Vous pouvez vous inscrire au flux RSS pour être toujours à la page.Shamus Young a passé 50 heures à créer un paysage de ville nocturne sans aucun détail réèl et sans […]

  28. […] Young’s goal was to make a nighttime cityscape that was mostly made of lights and suggestions rather than real detail. […]

  29. […] Procedural City, Part 1 is a detailed, first-hand guide for developing 3d worlds with procedural content. window.onload = function(){prettyPrint();}; […]

  30. […] Auf Shamus Youngs Blog “Twenty Sided Tale” gibt es einen längeren, durchaus interessanten Artikel zum Thema “Gestalten einer 3D Welt” mit OpenGL.Hauptsächlich versucht er, getreu dem Zitat von Douglas Adams “Little expense had been spared to create the impression that no expense had been spared.”, eine reichhaltige 3D Welt ohne viel Inhalt zu erstellen.Der mehrteilige Artikel findet sich hier […]

  31. Cam says:

    Wow, that was pretty impresive.

  32. ender says:

    Hey Shamus!
    Did you ever hear of demoscene? Demosceners create the same things as you.

    Watch this procedural works:

    Debris by Farbrausch
    http://www.demoscene.tv/page.php?id=172&lang=uk&vsmaction=view_prod&id_prod=12909

    Rupture by ASD
    http://www.demoscene.tv/page.php?id=172&lang=uk&vsmaction=view_prod&id_prod=13698

    Elevated by rgba/tbc, and it’s only 4kb.
    http://www.demoscene.tv/prod.php?id_prod=13718

  33. […] PixelCity is a fascinating 3D scene, dynamically created based on rules. For more information background of this project, and all his thoughts and experiments in the process, read through the very detailed explanations on Shamus Young’s blog. […]

  34. […] 19, 2009 · No hay comentarios Una ciudad generada digitalmente por Shamus Young… para divertirse, así como de onda.  Tranquila onda!  En su blog explica el proceso en […]

  35. lincruste says:

    Hello,
    Congratulations for this beautiful landscape. As a game player, my guess is that this would be the perfect scenery generator for low altitude inhabited planet approaches in Frontier Elite IV.

  36. Sapnai says:

    Hi Shamus! Great work! Amazing :)

  37. Andrew says:

    Wow. Just wow. You need more recognition in the world my friend. Have a great day.

  38. Ken says:

    The only things I noticed that were missing in this amazing bit of work were rooftop lighting and aircraft warning lights. I guess if you wanted to add the stars and an occasional airplane it would really put it over the top, but if you do stars make sure to use real star charts as there are geeks way more attentive than most that’ll point it out.

    If you do turn it into a screensaver do send it my way, it’s really good.

  39. Martin says:

    Akin to what Brian Siano suggests… how about an itunes visualiser?
    Two options:
    1. The cities are built in relation to the music or
    2. The music controls the pan/zoom…

    Nice work.

  40. […] Partikel/Echtzeit-3D Geschichte rumzuhacken, hab ich grad diesen interessanten Artikel gefunden: Procedural City.  Da hat doch tatsächlich einer eine Stadtszene geschaffen, nur per mathematischen algorythmen […]

  41. mbb says:

    Very nice. Now crack it down to a 4kb executable ;)
    But you should definitely watch ‘Debris’ by Farbrausch!

  42. John says:

    Hi Shamus,
    I love this thing. The idea behind it really appeals to me. Unfortunately now that I have moved to Windows 7 it no longer works. Have you (or any of your followers) encountered this before? I’d be glad to work together to try and figure out how to make it work.
    Cheers,
    John.

  43. […] The Procedural City July 26, 2009 at 2:01 am | In Animation, CG | Leave a Comment Tags: Animation, CG, procedurally-generated A city made entirely from procedurally-generated content (with extensive explanation here). […]

  44. […] His name is Shamus Young, and you can read the step-by-step guide of how he created it at his website. […]

  45. […] with some interesting links to further stories. Especially noteworthy is the game Subversion, the procedural city from Shamus Young of the DM of the Rings webcomic. Also Viktor Antonov, designer of City 17 is also […]

  46. […] stom toeval kom ik op de website van Shamus Althans, niet direct op zijn website maar op een blog van hem. Deze meneer had een idee om met zo […]

  47. […] a dynamically generated city. You can read the step-by-step of how it was made at my website: http://www.shamusyoung.com/twentysidedtale/?p=2940 […]

  48. […] an artistic flair. I’m a good example of the latter, which is why I was able to pull of the Procedural City. (With apologies for the excessive ego for the previous statement, but I really do think this is an […]

  49. […] Pixel City In a former life I did lots of procedural generation (mostly terrain and planets), so seeing this very cool project was a really blast from the past and really got me thinking about doing some computer graphics again. […]

  50. […] I’ve really enjoyed reading other technical works in progress, such as Shamus Young’s Procedural City series. Given that I only had a few hours here and there to work on this project, though, I was […]

  51. […] Procedural City, Part 1: Introduction – Twenty Sided – […]

  52. […] Procedural City, Part 1: Introduction – Twenty Sided […]

  53. asdfgh says:

    Hi! If you haven’t noticed you can noclip out of the map in Source games (like L4D) and you will find a small, downscaled room containing all those buildings and background stuff that you can’t reach, so that method is still used today. Sure, the Source engine is sort of ancient, being based on Quake and all, but it runs pretty well on most machines. :)

  54. […] información en Twenty Sided ¿Quieres corregir/completar esta entrada? Envía tus comentarios a […]

  55. […] engine. Shamus Young, intigued by procedural generation as well as making more with less, created PixelCity, a city which the computer creates each time you start up the program. The other motivation he had […]

  56. […] su blog, el creador narra por más de 15 posts, cómo lo ha ido haciendo y todos los problemas (y soluciones) que ha ido experimentando. Un […]

  57. Cheryl West says:

    I hope Shamus Young reads this. I just watched your pixel city and that is the COOLEST thing I’ve ever seen. I’m an experienced computer user but not in graphics. Man, I’m so impressed. Is there anyway I can download that as a screensaver? I love it! Thanks for sharing it.

  58. […] Although building generation may be out with the scope of this project there is a very interesting example of a procedurally generated city that shows building generation, and the source code of that project would likely be a great help: http://www.shamusyoung.com/twentysidedtale/?p=2940 […]

  59. […] with this post, this would have been an admirable enough feat, but Shamus goes one step further and documents each step of his process, explains why he made the decisions he did and even goes over his inspiration for the project. This […]

1 2 3

44 Trackbacks

  1. […] Shamus Young hat über 50 Stunden darin investiert, eine prozedural generierte, also komplett dynamisch on-the-fly zusammengestellte Stadt zu programmieren und diese schliesslich als Screensaver (leider bislang nur für Windows) an die Weltöffentlichkeit weiterzugeben – einfach nur so, zum Spass. Respekt. […]

  2. […] Una enorme ciudad generada dinámicamente a partir de ciertas reglas. Es fascinante. ♥ La explicación paso a paso de cómo funciona. […]

  3. […] been doing the rounds, I thought I should share. If you want to know how it’s done, you should turn to the developer’s enormous diary of its development. If you want to know what it does, you should look at the video beneath the cut or consider […]

  4. By Pixel City | Design | Tech | Culture on May 15, 2009 at 6:01 pm

    […] City is a procedurally-generated city by Shamus Young. For the non-coders out there, this essentially means that based on a certain set of rules, a 3-D […]

  5. […] This is a step-by-step demo of a dynamically generated “big city” by Shamus Young. It’s long but worth it. More geekily fascinating info here. […]

  6. […] creating a night-time cityscape … check out the video here and the in-depth explanation at shamus young’s website […]

  7. By Process Engines « Innocent Bystanders on May 15, 2009 at 8:01 pm

    […] For the über-geeks amongst us, the author’s description of how he developed the program starts here. […]

  8. […] This cool video shows how programmer Shamus Young created a procedurally-generated 3D nighttime cityscape. The program generates everything every time it runs, and doesn’t use any pre-stored textures or art assets. He gives a great step-by-step explanation of how he did the project in a series of blog posts. […]

  9. By Procedural Content Generation: Pixel City on May 15, 2009 at 9:41 pm

    […] Procedural City, Part 1: Introduction Procedural City, Part 2: Building Textures Procedural City, Part 3: Generating Buildings Procedural City, Part 4: City Planning Procedural City: Intermission Procedural City, Part 5: Fixes Procedural City, Part 6: Sky Procedural City, Part 7: The Street-Level Trap Procedural City, Part 8: Optimization Tests Procedural City, Part 9: Speeding Things Up Procedural City, Part 10: More Performance Procedural City, Part 11: Demonstration Video Procedural City, Part 12: Finishing Touches Procedural City, Part 13: “Release” of Program and Source Procedural City, Part 14: Feedback and Assessment page_revision: 5, last_edited: 1242437623|%e %b %Y, %H:%M %Z (%O ago) editrate (0)tagsdiscuss history files print site tools+ options edit sections append backlinks view source parent block rename delete help | terms of service | privacy | report a bug | flag as objectionable Hosted by Wikidot.com — get your free wiki now! Unless stated otherwise Content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License Click here to edit contents of this page. Click here to toggle editing of individual sections of the page (if possible). Watch headings for an “edit” link when available. Append content without editing the whole page source. Check out how this page has evolved in the past. If you want to discuss contents of this page – this is the easiest way to do it. View and manage file attachments for this page. A few useful tools to manage this Site. See pages that link to and include this page. Change the name (also URL address, possibly the category) of the page. View wiki source for this page without editing. View/set parent page (used for creating breadcrumbs and structured layout). Notify administrators if there is objectionable content in this page. Something does not work as expected? Find out what you can do. General Wikidot.com documentation and help section. Wikidot.com Terms of Service – what you can, what you should not etc. Wikidot.com Privacy Policy. _uacct = “UA-2059804-6”; urchinTracker(); _uff = false; _uacct = “UA-68540-5″; _udn=”wikidot.com”; urchinTracker(); _qoptions={ qacct:”p-edL3gsnUjJzw-” }; […]

  10. By Pixel City « Wherewithal on May 15, 2009 at 10:09 pm

    […] have to admit that I was riveted to the posts (here’s the first entry).  The process is fascinating, and Shamus’ writing is rather entertaining.  […]

  11. By REYNALD DROUHIN » Pixel City / Shamus Young on May 16, 2009 at 1:19 am

    […] Procedural City […]

  12. […] El resultado es bastante espectacular: en total incluye unos 1.600 edificios generados aleatoriamente y 43.000 polígonos. Está programado en OpenGL con MS DevStudio 6.0. «Construir» la ciudad requiere unos 5 segundos. Su autor, Shamus Young, dedicó al proyecto unas 50 horas en total a lo largo de poco más de una semana. En su blog explica todo el proyecto con enorme detalle: Procedural City. […]

  13. […] años o menos) como screensaver para Windows. Este procedimiento es creado y explicado a detalle en 10 pasos por el creador Shamus Young, al que le tomo 50 horas de […]

  14. […] Pixel City is a procedurally-generated city by Shamus Young. For the non-coders out there, this essentially means that based on a certain set of rules, this 3-D city is generated dynamically each time the program runs. Here, the video that shows the Young’s process will make it more clear: […]

  15. By No title on May 16, 2009 at 1:27 pm

    […] años o menos) como screensaver para Windows. Este procedimiento es creado y explicado a detalle en 10 pasos por el creador Shamus Young, al que le tomo 50 horas de […]

  16. […] d’un programme écrit par Shamus Young pour générer une ville […]

  17. […] bien si lo deseas, acudir a la web del autor del vídeo. ▶ Comment /* 0) { jQuery(‘#comments’).show(”, change_location()); jQuery(‘#showcomments […]

  18. By The Night Parade » Pixel City on May 16, 2009 at 8:03 pm

    […] software engineer named Shamus Young over at his blog. In them he described his process of creating Pixel City, which is basically a procedurally generated city scape set at […]

  19. […] Ciudad Procedural […]

  20. […] Shamus Young. […]

  21. […] You can read the step-by-step of how it was made at his website. […]

  22. […] Nouveau sur Crowded.fr ? Vous pouvez vous inscrire au flux RSS pour être toujours à la page.Shamus Young a passé 50 heures à créer un paysage de ville nocturne sans aucun détail réèl et sans […]

  23. […] Young’s goal was to make a nighttime cityscape that was mostly made of lights and suggestions rather than real detail. […]

  24. […] Procedural City, Part 1 is a detailed, first-hand guide for developing 3d worlds with procedural content. window.onload = function(){prettyPrint();}; […]

  25. By Keine Kosten gescheut - daheads blog² on May 19, 2009 at 12:41 am

    […] Auf Shamus Youngs Blog “Twenty Sided Tale” gibt es einen längeren, durchaus interessanten Artikel zum Thema “Gestalten einer 3D Welt” mit OpenGL.Hauptsächlich versucht er, getreu dem Zitat von Douglas Adams “Little expense had been spared to create the impression that no expense had been spared.”, eine reichhaltige 3D Welt ohne viel Inhalt zu erstellen.Der mehrteilige Artikel findet sich hier […]

  26. […] PixelCity is a fascinating 3D scene, dynamically created based on rules. For more information background of this project, and all his thoughts and experiments in the process, read through the very detailed explanations on Shamus Young’s blog. […]

  27. […] 19, 2009 · No hay comentarios Una ciudad generada digitalmente por Shamus Young… para divertirse, así como de onda.  Tranquila onda!  En su blog explica el proceso en […]

  28. By Prozedurale Stadt « Der Mediaserver-Blog on June 22, 2009 at 5:32 am

    […] Partikel/Echtzeit-3D Geschichte rumzuhacken, hab ich grad diesen interessanten Artikel gefunden: Procedural City.  Da hat doch tatsächlich einer eine Stadtszene geschaffen, nur per mathematischen algorythmen […]

  29. By The Procedural City « Ireneo’s Memory on July 25, 2009 at 10:01 pm

    […] The Procedural City July 26, 2009 at 2:01 am | In Animation, CG | Leave a Comment Tags: Animation, CG, procedurally-generated A city made entirely from procedurally-generated content (with extensive explanation here). […]

  30. […] His name is Shamus Young, and you can read the step-by-step guide of how he created it at his website. […]

  31. […] with some interesting links to further stories. Especially noteworthy is the game Subversion, the procedural city from Shamus Young of the DM of the Rings webcomic. Also Viktor Antonov, designer of City 17 is also […]

  32. […] Itt kezdődik a kaland. […]

  33. By VBP » PixelCity on September 8, 2009 at 3:37 pm

    […] stom toeval kom ik op de website van Shamus Althans, niet direct op zijn website maar op een blog van hem. Deze meneer had een idee om met zo […]

  34. […] a dynamically generated city. You can read the step-by-step of how it was made at my website: http://www.shamusyoung.com/twentysidedtale/?p=2940 […]

  35. […] an artistic flair. I’m a good example of the latter, which is why I was able to pull of the Procedural City. (With apologies for the excessive ego for the previous statement, but I really do think this is an […]

  36. By Random Best of 2009 « Z303 on December 31, 2009 at 4:30 pm

    […] Pixel City In a former life I did lots of procedural generation (mostly terrain and planets), so seeing this very cool project was a really blast from the past and really got me thinking about doing some computer graphics again. […]

  37. […] I’ve really enjoyed reading other technical works in progress, such as Shamus Young’s Procedural City series. Given that I only had a few hours here and there to work on this project, though, I was […]

  38. By Link Dump: 030610_1735 through 030910_0135 on March 9, 2010 at 2:02 am

    […] Procedural City, Part 1: Introduction – Twenty Sided – […]

  39. By Daily links for 03/20/2010 | Blog | Bob Sutor on March 20, 2010 at 12:55 pm

    […] Procedural City, Part 1: Introduction – Twenty Sided […]

  40. […] información en Twenty Sided ¿Quieres corregir/completar esta entrada? Envía tus comentarios a […]

  41. […] engine. Shamus Young, intigued by procedural generation as well as making more with less, created PixelCity, a city which the computer creates each time you start up the program. The other motivation he had […]

  42. By Pixel City, la ciudad creada de la nada on July 20, 2010 at 5:43 am

    […] su blog, el creador narra por más de 15 posts, cómo lo ha ido haciendo y todos los problemas (y soluciones) que ha ido experimentando. Un […]

  43. By Worksheet #1 | Graeme Haddow on September 26, 2010 at 3:18 pm

    […] Although building generation may be out with the scope of this project there is a very interesting example of a procedurally generated city that shows building generation, and the source code of that project would likely be a great help: http://www.shamusyoung.com/twentysidedtale/?p=2940 […]

  44. […] with this post, this would have been an admirable enough feat, but Shamus goes one step further and documents each step of his process, explains why he made the decisions he did and even goes over his inspiration for the project. This […]

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *

*
*

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>