Pixel City - Procedurally generated city

Sdílet
Vložit
  • čas přidán 5. 09. 2024
  • This is a demonstration of a program I wrote to generate and fly through a dynamically generated city. You can read the step-by-step of how it was made at my website:
    www.shamusyoung...
    * The program was built on vanilla OpenGL, Windows, using MS DevStudio 6.0
    * Building the city takes about 5 seconds.
    * Took about 50 hours of coding time.
    * Runs on older hardware. The goal was to have the program work on Windows machines less than 5 years old.
    * To be released as a Windows screensaver.
    The music is "Around" by Oursvince, used under the Creative Commons:
    www.vincentbern...

Komentáře • 686

  • @iamdivan7368
    @iamdivan7368 Před 2 lety +27

    This man really was great at videogames in much more ways than one.
    Rest in Peace, Shamus. Thank you so much for everything you've done

  • @vexfidel4127
    @vexfidel4127 Před 2 lety +24

    I found out about Shamus's passing yesterday. It's taken the better part of a day for me to process it.
    This was my favourite one of Shamus's projects, and I can't count how many times I fell asleep to this pretty little city wooshing around on the monitor nearby. In the middle of some really rough patches in life, it was comforting. I really should've told him thank-you or something.
    Thank you, Shamus. At the going down of the sun, in the morning, in light and in word, we will remember you.

    • @oxfordeducatedhighschoolhe6989
      @oxfordeducatedhighschoolhe6989 Před rokem +4

      God Bless you.

    • @NeilRoy
      @NeilRoy Před 5 měsíci +1

      Oh wow. I used to watch a lot of his videos and websites on how he would program well over a decade ago. Didn't know he died! That's really sad. Thanks for letting us know. 😥

    • @DuneJumper
      @DuneJumper Před 3 měsíci

      Wow that's sad

  • @xCrossBite
    @xCrossBite Před 7 lety +40

    For those people looking for the program! - code.google.com/archive/p/pixelcity/downloads
    Give this comment a thumbs up so more people can find it, please.

  • @FishKungfu
    @FishKungfu Před 8 lety +56

    It's June 25, 2016 and I still love this.

  • @firstpersonletsplays1141
    @firstpersonletsplays1141 Před 9 lety +22

    I'm just picturing this kind of thing being used in an open world Rampage-style game, where you control a giant monster causing havoc in city after city to your hearts content.

  • @Xires012
    @Xires012 Před 7 lety +26

    I have been programming for nearly 30 years. This is still one of the most amazing things I've ever seen.

  • @NekoiNemo
    @NekoiNemo Před 9 lety +51

    "Kinda pretty"?? Very pretty! Just take a panoramic shot of it and you got yourself very nice Deus Ex skybox!

    • @BNHSoftware
      @BNHSoftware Před 7 lety +5

      Or just port the whole thing into Deus Ex and use it as a skybox

  • @onlyeyeno
    @onlyeyeno Před 3 lety +10

    Oct. 2020 and still very pretty :)
    In my humble opinion this "city generation" in many ways still beats much that I have seen even now. Especially considering how "automatised" the generation appears and how "lean" the results appears to be. And if it's possible to "generalise" the "algorithms" I could well see this still worth while either as a plugin or a small standalone "city generator" for 3D modeling (and texturing)
    But realising that this is a more than 10 years old project, I'm well aware that the likelihood of happening is somewhere between zero and none :)
    Still if You didn't find any other "use" of it, I can report that "at least" it works very well as an "inspirational piece" to show what You can do if You can program.... (as well as You that is).
    And I actually came here after testing a "WebGL implementation" that credited this "piece" as it's inspiration.. So Yea.. :)
    Best regards.

  • @davidsirmons
    @davidsirmons Před 10 lety +25

    If you could incorporate this into the Unity engine somehow, you'd likely make a killing. It takes tons of time to make cities by hand, and this procedural method would be a good seller. Believe it.

    • @davidsirmons
      @davidsirmons Před 10 lety +1

      Seriously consider making this for Unity. It would be incredibly useful for tons of game efforts.

    • @woodchoppers9663
      @woodchoppers9663 Před 5 lety +1

      Mhm.

    • @rtxarkham8912
      @rtxarkham8912 Před 5 lety +1

      yeah here I am watching this video to find a way to make it in Unity for my game. Wait for me bro

  • @TheSolitaryEye
    @TheSolitaryEye Před 8 lety +82

    Traffic was moving. Immersion = ruined

  • @johnmarston4012
    @johnmarston4012 Před 3 lety +3

    for something this old I'm very impressed even today

  • @Jender42
    @Jender42 Před 13 lety +2

    This is the simplest, yet one of the coolest virtual cities I have ever seen. Now that is an achievement...

  • @RubberRoss
    @RubberRoss Před 15 lety +16

    Best application I can think of this is for animation. City enviroments can be generally tedious to deal with.

  • @Benjuthula
    @Benjuthula Před 10 lety +8

    A superb effort - congratulations. Have you considered variety in the rooftops for helicopter pads, pools, ariels and gardens? Parks, malls and public transport might add to variety in the main streets..and finally historic and outliers would make the cityscape feel more matured and organic. But a fine return on 50 hours, very well done.

  • @theblackwidower
    @theblackwidower Před 10 lety +13

    Really good work. One problem: I don't think simple lights work that well for street lights and cars. Perhaps add simple models to go with them.

  • @thomasgraham5840
    @thomasgraham5840 Před 4 lety +3

    having this as a screensaver made me want to take up programming as a kid

  • @SiliconPrairie
    @SiliconPrairie Před 2 lety +5

    RIP Shamus Young

  • @felynecomrade
    @felynecomrade Před 3 lety +1

    "Have you ever stood and stared at it? Marveled at its beauty? Its genius? Billions of people just living out their lives. Oblivious."

  • @DrNemmo
    @DrNemmo Před 10 lety +6

    This looks like the intro for Ghost In The Shell ! Yes. I like it. MOAR.

  • @EvanHowell101
    @EvanHowell101 Před 9 lety +1

    This is beautiful, the fact that it was 2009 makes it considerably more impressive.
    Oh Shamus, you shame us!

    • @letsdeduce
      @letsdeduce Před 9 lety

      Evan Howell Not really more impressive. An algorithm is an algorithm. It will still look good further down the road.

    • @Sicaine
      @Sicaine Před 9 lety

      Evan Howell what? We had already Quadcores in 2009. Why would you say something like this?

  • @tonyledford5323
    @tonyledford5323 Před 7 lety +1

    This is a great demo. I like the high level overview steps. I'm learning opengl programming and something like this would be a good goal and I'd learn a lot about textures and stuff. Each step you did was a good next step in the evolution of the model. Your model doesn't really have to be anything, it's just an excellent example of what you can do when you set your mind to something.

  • @honse246
    @honse246 Před 3 lety +1

    going through my old bookmarks and found this and just realizing this is originally why i subscribed to you haha

  •  Před 12 lety

    Would add randomly generated advertising panels, displays(dynamic), texts in limited level of height. Another thing: making some logical "landscape" of buildings. There could be random placement of "downtowns" where buldings make hills. But not absolutely random, but slightly growing to the center. And those adwertisings I mentioned before, could become more concentraded in the downtown "hill" then around lower buildings.
    Make gradients to vertical unwindowed strypes - upward illumination.

  • @russ838
    @russ838 Před 7 lety +9

    Anyone got a copy of this tune? The "Around" by Oursvsince that I keep finding isn't the same as this one..

  • @MadMullet81
    @MadMullet81 Před 12 lety

    Its amazing the complexity you can get just from a simple set of procedures.

  • @Nanorobotic
    @Nanorobotic Před 15 lety

    That's awesome! Nevermind the screen saver, patent or copyright this thing (I dunno which you do for programs) and sell it to game developers. This takes the random level design to a whole new level. Nevermind a randomly generated dungeon, nevermind randomly placed enemies or weapons, imagine a free roaming game that put you in a new city EVERY TIME you played it! It could place new missions and everything at key points, you could save it until you finished that one and have it make a new one!

  • @PixelOutlaw
    @PixelOutlaw Před 13 lety

    Great job with this project! People just don't realize how powerful procedural generation is. If you need a city simply have the computer do the work, things like this save quite a lot of disk space.

  • @tvastar
    @tvastar Před 12 lety

    I could imagine this in a city sim game, where you run a city, but you don't have to bother placing every building, the city build itself up, as you manage it. Or city simulator in a strategy game, where you don't want to spend time on macro management, you go to war or something like that., meanwhile your city grows.
    Fantastic work Shamus!

  • @neoaikon
    @neoaikon Před 15 lety +1

    I love the description, anyone with a basic knowledge of graphics programming should be able to produce similar results. Your results are wonderful! It'd be great for a flight sim, most just have flat textures for "cities".

  • @jaybruce593
    @jaybruce593 Před 8 lety

    Hi Shamus - "Pixel City" is an incredible piece of work, really well done...

  • @allthatyousee18
    @allthatyousee18 Před 15 lety +1

    This is amazing. I'm a first year Computer Science student, and this kind of thing really inspires me. I hope I could do something this cool one day.

  • @Jugglerman
    @Jugglerman Před 15 lety +1

    Very awesome, can't wait for the demo of this. It looks very realistic (which is kind of scary when you think about it....)

  • @bnagybalint
    @bnagybalint Před 12 lety +1

    Nice work! You could even play with the arrangement of buildings with difference style and height as higher/newer buildings tend to be built close to each other (like a business district or something). Or you could create a random city grid with short and long streets. But this is a really amazing work!

  • @JPDillon
    @JPDillon Před 15 lety

    Very cool Shamus! Can't wait for the screen saver to be posted.
    Everyone, go read the project notes on the twentysidedtale site. Very interesting!

  • @Djungelurban
    @Djungelurban Před 15 lety +1

    Awesome stuff! Totally the way of the future. To hand make every single aspect of every single game is ludicrous, procedural generation is what's gonna have to take over a lot of the time. And this is another very important step towards that.

  • @ElMesaMola
    @ElMesaMola Před 11 lety

    Screensaver? No man, just pure inspiration to gamedevelopers wannabes like me. Glad you shared this. Thanks mate.

  • @antimundo2646
    @antimundo2646 Před 8 lety +150

    Instructions unclear. Accidentally i cured cancer instead.

    • @nickvallejos5258
      @nickvallejos5258 Před 7 lety +3

      Thank you? Lol

    • @lucie3d
      @lucie3d Před 7 lety +1

      Isn't it a dead meme ?

    • @monomii2841
      @monomii2841 Před 7 lety +3

      "Accidentally i cured cancer"
      good grammar

    • @elbretto6062
      @elbretto6062 Před 5 lety

      @@monomii2841 Great comment

    •  Před 4 lety +1

      @@elbretto6062 it could be a standard douche comment on the interwebs or... or it could be a very cool inside joke, as the buildings here are probably generated using proc gen grammar, so, if you actually used those grammars to cure cancer they would, indeed, be an example of VERY GOOD GRAMMAR! Maybe I try too hard to see the good in people, what do I know :)

  • @MrC0MPUT3R
    @MrC0MPUT3R Před 8 lety +20

    Instructions unclear. Accidentally built a shelf instead.

  • @superb150
    @superb150 Před 11 lety

    Mostly because the concepts of the games that used the equations was limited, but check for example the game ELITE that's being developed, it's pretty amazing how they are reviving the procedural generation in a new and fun way :)

  • @Emkinator
    @Emkinator Před 14 lety

    Continued: As for the missions, they are generally pretty simple from a programming standpoint, e.g. go there, walk in the marker to speak to an npc, go there, shoot some guys and so on. The story behind it gives it most of it's depth. You could load the cutscenes and mission scripts when the player accepts the mission. So maybe 6-10 seconds on the loading screen. Still, i personally wouldn't mind waiting for much longer if it's a good sandbox game.

  • @NeilRoy
    @NeilRoy Před 12 lety +1

    Very nicely done! I want to do an outdoor nature style generator, like this, but with all organics, trees, lakes, rivers, Maybe with roads and small towns or ruins. You should make this so it is a world that is of unlimited size, so it generates the world as you travel. Make it so a seed for the RNG can be input and you always see the same world, but it generates it in sections as you travel. Work on an indoor generator so buildings can be explored too. Nice work anyhow!

  • @Raystm2
    @Raystm2 Před 8 lety +6

    this would be clever as scenery in an open source flight simulator, like flightgear

  • @CosmicD
    @CosmicD Před 15 lety

    this is truely hitting close to my soul. Its a contrast between our abilities and the computer's. NOt to mention that it has a high production efficiency boost and if done with high end quality in mind, could generate entire virtual cities for movies or games. Spore is a game that already endeavors on this.
    Imagine if something like terragen and pixel city could be used simultaneously to create huge city worlds :)

  • @DrunkenDwarfIron
    @DrunkenDwarfIron Před 15 lety

    Dude. I'm beginning to study urban modelling for a PhD. Your program is bloody awesome. Better than many I've seen published in academic journals. Well done!

  • @funmeister
    @funmeister Před 13 lety

    Impressive. Reminds me of Greeble, only different and really cool in its own way.
    More than a screensaver, this can be a tool that saves thousands of man hours in game, art and other contextual applications.

  • @VulpisFoxfire
    @VulpisFoxfire Před 15 lety

    Beautiful work. What the people complaining about lack of features/detailing and such fail to realize is that this is fundamentally a weekend (well, long weekend anyway. ;-) ) hack to demonstrate the technique, and isn't *meant* to be a fully-fleshed out work. Still...makes you wonder what game programmers keep spending years on, you know? :-)

  • @morco83
    @morco83 Před 13 lety +1

    That's very impressive, both the coding and the video. Good job!

  • @rne1223
    @rne1223 Před 14 lety

    Amazing how little details makes the whole scene so much better. Thanks for the inspiration.

  • @vmg89
    @vmg89 Před 15 lety

    yeah it would be pretty cool to see, I'm still amazed on how much detail there is and made by just 1 guy.

  • @ErgonomicChair
    @ErgonomicChair Před 8 lety

    If the buildings can have bouncing boxes applied to them, this could be used to QUICKLY create flight simulators, or old Armored Core like games ixnay the fake vehicle dots. It wouldwork pretty neat for low intensive graphics projects and independent devs if they can set their own height maps too and it could work around height maps.

  • @N8north
    @N8north Před 15 lety

    Some of these video responses are pretty amazing as well

  • @HouseholdHacker
    @HouseholdHacker Před 15 lety +3

    SWEET program.

  • @tsartomato
    @tsartomato Před 9 lety +17

    would be superhard to make european city

    •  Před 9 lety +5

      tsartomato Yup, you would have to model history and have that affect the evolution of the city. Not impossible but very tough indeed.

  • @tribemaster101
    @tribemaster101 Před 8 lety +6

    You could pull a really neat game out of this. If I were you, I'd be making it as we speak.

    • @protheu5
      @protheu5 Před 8 lety +1

      +Helder de Vontaire What sort of game are you talking about? There is no gameplay unless you suggest some. This procedural city is only good as a screensaver or a city for a flight simulator.

    • @tribemaster101
      @tribemaster101 Před 8 lety

      Aidar K
      An rpg, for instance. Or, pursuing and destroying cars in an arcade style racer. Idk, that's up to the creator.

    • @protheu5
      @protheu5 Před 8 lety

      Helder de Vontaire This particular generated city doesn't have any considerable amount of detail for an RPG or a racing game. It looks good only from a distance. You don't want to walk around cubes with blurry textures and moving light sprites.

    • @tribemaster101
      @tribemaster101 Před 8 lety

      Aidar K
      Well, it's just the base. Obviously you gotta improve it.

    • @protheu5
      @protheu5 Před 8 lety

      Helder de Vontaire My point was that you don't build a game around some background, you have a game idea, a gameplay and create a background around it.

  • @igotsomespace
    @igotsomespace Před 11 lety

    Amazing, had watched this video 8 months ago, spent 30 minutes going through bookmarks to try and find it again. Glad I did. So very inspiring.

  • @richardtibbitts3841
    @richardtibbitts3841 Před 7 měsíci

    This was excellent! Sorry you're gone.

  • @rock00dom
    @rock00dom Před 9 lety +1

    That's it, I absolutely must program this!

  • @KlayySOC
    @KlayySOC Před 15 lety

    procedurally generated maps for mirror's edge would be awesome :)
    and yes, I am well aware that it is well beyond the scope of this project, but I thought of it when I read step 7.

  • @OvaltinePatrol
    @OvaltinePatrol Před 15 lety

    This is very cool, folks should check out the article series explaining how he put it all together.

  • @mtgradwell
    @mtgradwell Před 13 lety

    @benanderson88 : It is ported to Linux. You can find it in the latest version of the "Really Slick Screensavers" collection, for instance, where it fits the description admirably. Search in your distribution's repository, or Google it. I don't know about MacOS, but I imagine it's been ported.

  • @Portablet2
    @Portablet2 Před 12 lety

    This is pure beauty. No other words for it.

  • @skaruts
    @skaruts Před 10 lety

    I envisioned a game in the style of Shadowrun being made out of this. Amazing work.

  • @1lapmagic
    @1lapmagic Před 12 lety

    Looks great. Love things with that hand-programmed touch that are graphically unique.

  • @SweRaider1993
    @SweRaider1993 Před 8 lety

    With procedural planets becoming the norm for space sims (Star Citizen, Elite Dangerous, No Man's Sky, Infinity Battlescape, etc.) this is the next step :)

  • @YukonExpatriate
    @YukonExpatriate Před 15 lety

    Beautiful to finally see it in motion Shamus!

  • @jakeharmon1118
    @jakeharmon1118 Před 10 lety +1

    It's the program Pixel City deserves... But not the one it needs right now.

  • @whateverwhynosymbols
    @whateverwhynosymbols Před 13 lety +25

    You say "Release it as: Damn I have no idea what this is for"
    I say it's a demo. It is art, it is bragging rights, it is fairly awesome.
    I say release it at a demoparty.

    • @ChadDidNothingWrong
      @ChadDidNothingWrong Před 2 lety +1

      Yeah I hear they have those in Finland and Norway when everyone isnt hibernating

    • @BlackStarEOP
      @BlackStarEOP Před 2 lety +1

      @@ChadDidNothingWrong Revision in Saarbrucken Germany is basically the biggest demoscene only event.

  • @Justinbond29
    @Justinbond29 Před 15 lety

    I was reading his posts as he made this. He actually spent a while making some more complex AI for the cars, but scrapped it because the extra work wasn't really that noticeable, and took too much processing power (not to mention time needed to program proper movement patterns for cars).
    Some fast-moving sirens would be interesting, but I think he wants more attention paid to the high-up buildings than the street-level details. Still, it'd be cool to see.

  • @shoseki
    @shoseki Před 15 lety

    Step 7 : You post this on the internet, together with an up to date CV and you start applying to game companies.
    Its a nice demo and I'm sure will generate interest.

  • @Isiahkan
    @Isiahkan Před 15 lety

    Agreed. This would be so cool as a screensaver.

  • @Volatar
    @Volatar Před 15 lety

    As the company representative for Monolith Enterprises Unlimited, I salute you for your awesomeness.

  • @VladStaicu
    @VladStaicu Před 14 lety

    Awesome video, Shamus! I just read the entire series and downloaded it as my screensaver. I love your blog and your projects, keep it up.

  • @lukky6648
    @lukky6648 Před rokem

    I think this is what they use for cities off distance or in the background for 3D Animated Movies

  • @svensbasteltisch
    @svensbasteltisch Před 12 lety

    Remembers me a little bit on Dark City. Respect for your coding capabilities.

  • @Tyshark9
    @Tyshark9 Před 10 lety

    Damn, that's very impressive! you could probably use this as a tool to create many different levels and they wouldn't even have to be cities of buildings.

  • @Lethn
    @Lethn Před 12 lety

    Must learn how to do this, this kind of stuff is what's inspiring me to learn OpenGL.

  • @drVutT
    @drVutT Před 10 lety

    Amazing work!
    Awesome looking.
    And only 50 hrs of work!

  • @robertwizzy666
    @robertwizzy666 Před 12 lety

    @m1dlguk procedural generation makes programming very time efficient(albeit extremely mechanical and generic results in the long run), so 50 hours of this doesnt seem like a stretch. it was a good job nonethless.

  • @neocyberkat
    @neocyberkat Před 14 lety

    @leniopable: he uses openGL. check out the link given in the description. He explains step by step how he built it. its simple yet so freakin amazing.

  • @fernwood
    @fernwood Před 15 lety

    Wow, this would be quite an amazing screensaver.

  • @HerrBlonde
    @HerrBlonde Před 15 lety

    The last step clearly reflects the nature of us computer geeks: we do cool things and then ask ourselves what they can be used for. Imagine what we could do with good ideas in our hands.

  • @jabrilsdev
    @jabrilsdev Před 7 lety

    great project you have here Shamus! Thanks for uploading it!

  • @goodgoodgoodful
    @goodgoodgoodful Před 13 lety

    if the lights can be animated using musical input, this can make a great music visualization. kind of a disco city.

  • @youmayfindithere
    @youmayfindithere Před 15 lety +1

    You've managed to evoke a city very well with the minimum details. Conservation of detail at its finest.

  • @IgorKaratayev
    @IgorKaratayev Před 15 lety

    great work. minimalistic, dark, atmospheric. reminds me of Syndicate Wars.

  • @iljadenisovs4659
    @iljadenisovs4659 Před 2 lety +4

    Still impressive.

  • @przemekk810
    @przemekk810 Před 11 lety

    Thank God, there are still people who create such things : a one man solutions, people who create such things for joy to show that it is possible :)

  • @BOLL7708
    @BOLL7708 Před 11 lety

    w00t... how funky. I found your channel by the Rage mega-texture reset-button video after searching for more videos of Carmack showing off the Rift prototype. Then as I decided this was interesting I pressed PLAY ZE ALLZ! The fun part is, I've seen this video before :D Stuff like this has happened to me a few times now, bumping into old videos I had no idea what they belonged to before, haha. It's always a bit odd and fascinating. Thanks for nice videos :D

  • @TripleBarrel06
    @TripleBarrel06 Před 14 lety

    Dang this is so good! seems useful for scene fillers in games too. I was watching and wondering why this seemed so familiar, and realised that an Xbox Live Arcade minigame called "Boom Boom Rocket" uses panning through a city just like this, but I think it was Sydney though, because the Opera House was visible in one song.

  • @Somtaaw7
    @Somtaaw7 Před 15 lety

    Until I started learning programming I never appreciated how long things like this took. Good job.XD

  • @Emkinator
    @Emkinator Před 14 lety

    It has been out as a screensaver for a pretty long time. Just check his site linked in the description.

  • @SeelkadoomPL
    @SeelkadoomPL Před 12 lety

    All the people complaining about graphic quality and begging for release - move your lazy asses and check the link in description - In series of articles author explains how and why things here work the way they work. Screensaver is also there for download.

  • @Piliponful
    @Piliponful Před 8 lety +10

    this is the 2015 and it is stil awsome mate!

  • @drwalen
    @drwalen Před 13 lety

    you can add some street lightings, neons on walls of buildings and anti air crush marking lights on top of higher buildings - it should look more realistic.
    but now this is amazing ;)

  • @apalanka0
    @apalanka0 Před 15 lety

    Awesome, you should release a demo with it , the demoscene comunity will be very grateful.

  • @vimesx
    @vimesx Před 12 lety

    Best video I have seen this year. This is amazing.

  • @jamegumb7298
    @jamegumb7298 Před 11 lety

    It should be.
    But you have to keep something very different in mind when viewing grpahics though: drawcalls.
    On consoles where there is a single optimised platform, you can get 50K of drawcalls through, there is one api that is suited to just the single hardware config in the box. On desktops, you have a myriad of cards and cpu's and the api reflects this, and as such you are lucky to get 10K of drawcalls in before it all falls down, and then you have not hit the limit of the graphics card.

  • @JetSimon
    @JetSimon Před 2 lety +6

    RIP

  • @Spinal83
    @Spinal83 Před 15 lety

    Fucking awesome... and the fact that it is released under the GPL is even better!

  • @TheRealNici
    @TheRealNici Před 13 lety

    This is amazing. I first heard of shamus young when he wrote articles for the escapist, but I didn't know that he was a coder.