How Townscaper Works: A Story Four Games in the Making | AI and Games #65

Поділитися
Вставка
  • Опубліковано 24 лис 2024

КОМЕНТАРІ • 136

  • @AIandGames
    @AIandGames  2 роки тому +102

    Thanks once again to Oskar for chatting with me earlier this year. It's been great to watch this work evolve over the past couple of years and to add it to the series is a pleasure. It's funny to think this might be the first time a constraint solver AI is on the channel? Note to self: really need to make a video on the AI of The Sims...

    • @shayneoneill1506
      @shayneoneill1506 2 роки тому +1

      Its a great use of that "waveform collapse" algorithm (Odd choice for an algorithm name). And not only is it worth the cost of a cup of coffee (Well, two reall, but whos counting), its also a rather pleasing thing to play with whilst consuming a cup of copy. It would make for a very relaxing thing to play with on a phone on the way to work.

    • @dipeshrathod5052
      @dipeshrathod5052 2 роки тому +2

      @@shayneoneill1506 ?

    • @moyamix3671
      @moyamix3671 Рік тому

      Xd

  • @SebastianLague
    @SebastianLague 2 роки тому +630

    Townscaper is such a beautiful project, and super impressive from a technical standpoint as well. I really enjoyed this little window into how it all came together, thanks for the great video!

    • @trashpanda2481
      @trashpanda2481 2 роки тому +14

      Love your work, dude. Keep it up

    • @TAP7a
      @TAP7a 2 роки тому +20

      Not to add even more to your plate, but I'd love to see your take on the wavefunction collapse algorithm :)

    • @valovanonym
      @valovanonym 2 роки тому +4

      @@TAP7a I feel like Sebastian would explain it incredibly well. That's absolutly the kind of video and project he could do brilliantly!

    • @omg_look_behind_you
      @omg_look_behind_you 2 роки тому

      A true pimp among us.

    • @rmt3589
      @rmt3589 Рік тому +1

      @@TAP7a I second this!

  • @DasReverend
    @DasReverend 2 роки тому +214

    It would be nice if there was a publicly available tool for making the Townscaper tiles so that someone who really wanted that Japanese twist could do it themselves and upload it to the workshop

    • @ImNotFine44
      @ImNotFine44 2 роки тому +27

      F*cking genius. You should contact the devs for this.

  • @michalslusarski
    @michalslusarski 2 роки тому +61

    the art style of bad north is probably my favorite of all indie games. It's organic, not over-saturated, clean - but not overly minimalistic

    • @CptBlaueWolke
      @CptBlaueWolke 2 роки тому +7

      it's also weirdly cute how the armies kill each other

  • @LilacMage
    @LilacMage 2 роки тому +36

    I LOVE townscaper. And as a Tabletop Rpg player, It really inspires. I would love a print function, so I could use it to make maps.

  • @NunSuperior
    @NunSuperior 2 роки тому +103

    Oh yeah, simple. **head explodes**
    Congrats on the devs for winning so many awards. Great that neat indie games like this get attention.

    • @ceegesange9904
      @ceegesange9904 2 роки тому +3

      There was just one dev, Oskar Stalberg.

  • @olgierdvoneverec4135
    @olgierdvoneverec4135 2 роки тому +26

    I've always thought of this game as a 'prototyping tool' of sorts, a place where you can easily build towns and urban lanscape, so when I saw this video it sounded to me like "the A.I. of Maya" or "the A.I. of Unity" since the user makes most of the choices I thought there wouldn't be space for a typical A.I., kinda gave everything for granted.
    And I'm amazed by how indept and interesting you managed to explore the systems, really great video.

  • @PGJVids
    @PGJVids 2 роки тому +7

    Back during the summer i studied these sort procedural generation systems, and it is really interesting the sorts of technical art games some people have managed to use them for. I believe they also used something a bit similar for the XCOM 2 level generation.

  • @DarkDax
    @DarkDax 2 роки тому +13

    Townscraper has always blown me away. It’s a real technical achievement. Great insight into its development as always Tommy!

  • @navilluscire2567
    @navilluscire2567 2 роки тому +4

    To be honest I actually love the delayed creation of the detailing of the buildings, it adds to Townscaper's own unique stye, like how everything pleasantly **pops** into existence!

  • @Imperial_Squid
    @Imperial_Squid 2 роки тому +27

    Ngl, I'd never considered this game as being an interesting topic from the point of AI... Absolutely fascinating video!

  • @johncage5368
    @johncage5368 2 роки тому +10

    What a beautiful little game / simulation. Bought it right away.

  • @solidreactor
    @solidreactor 2 роки тому +5

    I can see a future GDC talk being made from this videos perspective about this game

  • @danjames1922
    @danjames1922 Рік тому

    This is the most impressed I've been with a piece of programming in ages... Hats of to the dev, great idea and brilliantly executed.

  • @alexitosworld
    @alexitosworld 2 роки тому +6

    I knew we would endup with a mention to redblog grid articles! :)
    Fascinating video 👏🏻

    • @AIandGames
      @AIandGames  2 роки тому +4

      All discussions of grids in game dev end at Red Blob Games. 😂

  • @FinnsterP
    @FinnsterP 2 роки тому +7

    Awesome interview!

  • @end_game
    @end_game 2 роки тому +11

    Oh wow, this is so cute. Just bought it on Android. I'm super excited to try it out! Might have to get it again in Steam to download some obj files for printing and painting. So cute!

  • @kickapoo1390
    @kickapoo1390 2 роки тому +10

    I think AI-assisted creativity will be massive in the future

    • @trulyinfamous
      @trulyinfamous 2 роки тому +1

      I find things like Jukebox AI to be great sources of inspiration.

  • @swyxTV
    @swyxTV 2 роки тому

    this is one of my fave video game breakdowns of all time. thank you for the love and care you put into this Tommy!

  • @hebidebbi464
    @hebidebbi464 2 роки тому +1

    My heart kind of skipped when you mentioned the game assembly! I really hope to go there and yesterday I got the mail that I have been accepted to come for an interview/test in a couple of weeks! Its also a very cool game/toy! Procedural things are so fun once you get them working properly.

  • @leonardschoyen
    @leonardschoyen 2 роки тому +58

    The comment about Wave Function Collapse not being connected to the quantum physics concept is not quite right. The name of the concept in procedural generation is stolen from quantum physics because artefacts resembling super positions (though quantized) and observation leading to a collapse of the super position. Using the same name might be considered perverse by physicist because of the fundamental differences that do exist, but the identical name is not a coincidence.

    • @Deadly_Laser
      @Deadly_Laser 2 роки тому +4

      "We have quantum computing at home"

    • @gogokowai
      @gogokowai 2 роки тому +7

      I feel like explaining the computing algorithm helps understand the wave functions in quantum physics a bit more. The way physicists explain superpositions makes it sound like some magical property that actually lets particles be in multiple states, when really it's just a probability of being in those states. Wave functions are just a way we can abstract out properties of quantum particles that aren't a part of the mathematical models used in quantum theory because they have yet to be discovered (which there's no guarantee if they even are discoverable/measurable due to the physical limitations we have with interacting with the universe).

    • @Dohaveaplum
      @Dohaveaplum 2 роки тому

      Without knowing anything about either concept, I was pretty sure that something like this had to be the case. Thanks for explaining!

    • @qm3ster
      @qm3ster 2 роки тому +3

      Not even perverse. Most analogies are not airtight. This is a pretty good one, all things considered.

    • @lifeonlockdown7818
      @lifeonlockdown7818 2 роки тому

      @@Deadly_Laser quantum computing at home:

  • @kamel3d
    @kamel3d 2 роки тому

    Have not seen something impressive as this for long time

  • @sammyman60
    @sammyman60 2 роки тому +6

    It would be kind of cool to have a VR mode of some sorts where you can just walk through the city you made.

    • @AIandGames
      @AIandGames  2 роки тому +5

      If you follow Oskar on Twitter, he's been experimenting with a VR build of the game recently.

  • @hugogogo13
    @hugogogo13 Рік тому

    From the video, to the editing and the interesting links in the description, you gained a like and sub. Thank you!

  • @timekeeper2103
    @timekeeper2103 2 роки тому +13

    Wave function collapse algorithm is actually pretty reminiscent of wave function collapse in quantum mechanics. If the cells in the algorithm were entangled, the propagation would've been instantaneous. (Although that would be pretty difficult to set up just using qubits haha)

  • @javlinstudio3
    @javlinstudio3 2 роки тому +1

    super cool stuff. Procedural generation has always been something I love to learn about.

  • @Kligor2
    @Kligor2 2 роки тому +2

    I truly do hope someone makes a tile pack for it some day too

  • @Oblivionator100
    @Oblivionator100 2 роки тому +2

    I've actually found it to be a really useful tool in plotting out a 3d castle and town for 3d rendering. I can use the obj export as a template to overlay my own modeling on. It is pretty great.

  • @valovanonym
    @valovanonym 2 роки тому +1

    I juste discovered your channel and I must say, the quality of your videos is outstanding! I'm less into gamedev but more into algorithms and ai, but it makes me want to learn more about games too. Thank you!

  • @crazydave6787
    @crazydave6787 Рік тому

    I didn't realize how complex of a system this was. Very cool design

  • @trulyinfamous
    @trulyinfamous 2 роки тому +2

    Steam workshop support or really any modding support for townscaper would be awesome. Letting people create buildings of different styles would be great.

  • @markramsell454
    @markramsell454 7 місяців тому

    This is a wonderful generator of townscapes. What I would like to see is walk through perspectives, what do things look like from the streets and stairs? How can I literally visit the town. The step after that is how can I live in the town?

  • @mayanightstar
    @mayanightstar 2 роки тому +3

    Love to see this game get more attention : D

  • @stephentroyer3831
    @stephentroyer3831 2 роки тому +2

    This is what I'd want the buildings, paths and scenery in theme park management games to be like. I see why it's not what they do, it's a difficult process to optimize.

  • @knoopx
    @knoopx 2 роки тому

    i followed the development of this game via twitter for a long time because I enjoyed the cute graphics as much as the procedural stuff

  • @amac333
    @amac333 2 роки тому

    this was great, thanks for making this, great coverage of some impressive games/dev work.

  • @AppliedCryogenics
    @AppliedCryogenics 2 роки тому

    Wow, this looks beautiful and fun. Thanks for bringing it to my attention!

  • @ZeroThe2nd
    @ZeroThe2nd 2 роки тому +4

    Thank you for the interesting episode ^-^

  • @jacobellinger8027
    @jacobellinger8027 2 роки тому +3

    The game was/is so successful because imo it's the modern equivalent of lincoln' logs.

  • @almerakbar
    @almerakbar 2 роки тому +1

    I'd love to see an actual city building game with this flexible grid. Instead of the rigid squares we got with games like SimCity back in the day, or the extreme freedom with games like Cities Skylines, a natural grid could make some interesting cities.

  • @chexo3
    @chexo3 2 роки тому +3

    Oskar could probably optimize the wave function collapse algorithm some here. I noticed that in a lot of cases it apparently has to go over the entire town when a single block is added, when in a lot of cases that block will only affect things near it.
    Perhaps he can save computational time by figuring out what parts of the town need to be re-evaluated and which don’t. For instance, you could split an evaluated town into two sections that are both valid, and then if a block is added in one section the other section need not be evaluated.

  • @szalaierik2
    @szalaierik2 Рік тому

    I love it. Will give me inspiration for a decade.

  • @OdysseyHome-Gaming
    @OdysseyHome-Gaming Рік тому

    Would love a day where people made open source tool like toys that allow collaborative Game Dev. Imagine the innovation!

  • @ahmedradwan5385
    @ahmedradwan5385 2 роки тому +5

    perfect video ❤

  • @quinnfowler9454
    @quinnfowler9454 2 роки тому

    Modular voxels. Nice. Makes me want to get back to it.

  • @maxleveladventures
    @maxleveladventures Рік тому

    Love this video! I want to share that you incorrectly use “myriad” and “comprise.” “Myriad” is like saying “many,” so you wouldn’t say “a myriad/many of and things” you would just say, “myriad/many things.” Similarly, “comprise” is like saying “include.” You wouldn’t say, “is comprised/included of several things,” you would just say, “comprises/includes several things.”

  • @fhjunior6183
    @fhjunior6183 2 роки тому +2

    Thanks for the vid

  • @sempersolus5511
    @sempersolus5511 2 роки тому +5

    If there's one thing I don't like about this video, it's that you offloaded the explanation of Marching Cubes to Sebastian Lague's channel.
    He's the Willy Wonka of game making: it's a thrill to watch him work, but I'm pretty sure he's using magic.

  • @jeremyquentin42
    @jeremyquentin42 2 роки тому

    I'm a simple man. You recommend Sebastian Lague, I subscribe.

  • @13thravenpurple94
    @13thravenpurple94 2 роки тому

    Great work 🥳 Thank you 💜

  • @williamchamberlain2263
    @williamchamberlain2263 2 роки тому

    Great writing, and good video

  • @Fragsu
    @Fragsu 2 роки тому +1

    Steam Workshop support would be nice :) that way he doesnt need to waste time on the tile set to create the Japanese style. The community will create it.

  • @kori228
    @kori228 2 роки тому +27

    very interesting, never heard of this game before. Are there any npcs that wander around your town or is it just the buildings?

    • @AIandGames
      @AIandGames  2 роки тому +35

      The only NPCs are the birds and butterflies. No 'people' wandering around.

    • @robertskitch
      @robertskitch 2 роки тому +7

      I believe that someone did make a mod where you can wonder around the town yourself in first person, but that's about it.

    • @DigitalzombieDev
      @DigitalzombieDev 2 роки тому +1

      @@robertskitch Well, there is a weather mod too and a few ingame utility mods to customize plant colors or birds for example. It's growing.

    • @izzliyrahmt87_MY
      @izzliyrahmt87_MY 2 роки тому

      @@AIandGames make people living in town please

  • @smokeback
    @smokeback 2 роки тому

    wow the intro is creative

  • @paindemie5491
    @paindemie5491 2 роки тому

    I wish they would add humans doing chores or just walking around D:

  • @EggBastion
    @EggBastion 2 роки тому +4

    38:17 Lookit those birbs!

  • @himmelsturmerIX
    @himmelsturmerIX 2 роки тому +1

    The only missing is tiny people walking around.

  • @iamsushi1056
    @iamsushi1056 2 роки тому

    “And if you’re following him on Twitter…”
    Me: hm. Not actually sure I am, currently.
    *checks Twitter*
    Twitter: is down

  • @googleyoutubechannel8554
    @googleyoutubechannel8554 2 місяці тому

    If this guy keeps going he's going to invent diffusion networks...

  • @lazydroidproductions1087
    @lazydroidproductions1087 2 роки тому +1

    Why? And so shortly after I discover BLAME! I’m gonna have to get this...

  • @JanR1995
    @JanR1995 Рік тому +1

    I played this multiple times for a couple of hours and am a bit surprised on how it made. Because the rules I've seen until now were all extremely simple and clear. I'm kinda surprised that there is that much complexity behind it.
    But I kinda don't understand why you would even need waveform collapse in a deterministic system.

  • @harryweisner99x
    @harryweisner99x Рік тому

    I was hoping to create something like this in a game I wanted to make. Guess it'll only take me about a decade to learn/apply all that 😭

  • @anonymoussloth6687
    @anonymoussloth6687 2 роки тому

    How do u make that white, transparent hover thing that moves around with your mouse and always occurs on the top surface with that shape?
    28:55

  • @brandleesee
    @brandleesee Рік тому

    If only BrickBlock had a larger grid!

  • @toshii2198
    @toshii2198 2 роки тому

    Can someone explain where does the Marching Cubes algorithm help in making the worlds of townscaper? Using WFC algorithm, for each tile, we decided what pattern to place in them. Then, isnt all that left is to just render the meshes? How does marching cubes come into picture?

    • @AIandGames
      @AIandGames  2 роки тому +1

      The reason Marching Cubes is required is that the Townscaper grid is irregular. If Oskar just made a bunch of cube-shaped tiles to fill these spaces in the grid, they wouldn't fit it correctly. Using Marching Cubes, it figures out what 3D shape can be generated in that cell of the grid, and only then does it try to decorate it by figuring out what tiles are available on each face of the shape using the Wave Function Collapse. As shown in the video, the building tiles in Townscaper are no longer complete building pieces, they're all corners and edges. So it's trying to apply those tiles to these irregular shapes in a way that makes sense.

  • @Kidraver555
    @Kidraver555 5 місяців тому

    With a few more 'feature's' this game could have sold millions not thousands, a bit more like city skylines with roads and more decorations would make it more replayable.

  • @devforfun5618
    @devforfun5618 2 роки тому +2

    i wish there was a way to walk in first person here

    • @epicredhot5675
      @epicredhot5675 2 роки тому +1

      there actually is a mod for first-person exploration of your towns, if you own the Steam version

  • @glenneric1
    @glenneric1 2 роки тому

    Oskar! Hire some people to make the other ethnic tiles!

  • @Miller_Arthur
    @Miller_Arthur Рік тому

    Good game

  • @LiquidSnake1988
    @LiquidSnake1988 Рік тому

    Bad north in android is 2oomb?

  • @titaniumtomato7247
    @titaniumtomato7247 2 роки тому

    What does 2.1 Dimensional mean?

  • @matsv201
    @matsv201 Рік тому

    Why is it called wavefunction colapse? it should be caled suduko like

  • @donovian2538
    @donovian2538 9 місяців тому

    If we didn't want to use Unity, is there another game engine that could do something like this?

    • @AIandGames
      @AIandGames  9 місяців тому

      There's nothing about the game that is engine specific. You could write the architecture in pretty much any engine.

  • @jaredf6205
    @jaredf6205 2 роки тому +1

    We need updates.

  • @franzpattison
    @franzpattison 2 роки тому +4

    I tried this game a while back. It's cute and interesting for about twenty minutes, but the lack of engaging gameplay variety results in pretty stale experience quickly. I also didn't quite like how the grid pattern was so bizarre and unpredictable

    • @walterh2113
      @walterh2113 2 роки тому +5

      To each their own!
      Personally, I digged it. I love creating my own fun in games.

    • @youlleatamuffinandlikeit4596
      @youlleatamuffinandlikeit4596 2 роки тому

      I find it boring as well. I think, for me, it's the lack of people. Any town you build is lifeless except for the birds, so there's really nothing all that interesting to look at. If there were people who could wander around, customizable storefronts, maybe some playgrounds or parks, I think it would be much more enjoyable and interesting. As it is, it's a nice little relaxing game, but it gets old for me after about ten minutes and I go off to play something else instead (usually Occupy White Walls, if I'm in the building mood).

    • @Deadly_Laser
      @Deadly_Laser 2 роки тому

      @@youlleatamuffinandlikeit4596 Look, it's just siesta, everyone's in for a good nap

    • @navilluscire2567
      @navilluscire2567 2 роки тому

      Well yeah that's the point, the irregularities in the grid I mean, you build with the landscape!

  • @Gabirell
    @Gabirell 2 роки тому

    👏👏👏👏👏👏

  • @txikitofandango
    @txikitofandango 2 роки тому

    Okay, you don't want to spend another 6 months adding skins of other architectural styles. Hire an artist and release it as DLC!

  • @Texicus_Reddicus
    @Texicus_Reddicus 2 роки тому +1

    I wish it had more than one grid. I know it's meant to be random and natural, but the in game grid triggers me

  • @UwU-ULTR7A
    @UwU-ULTR7A Рік тому

    Next you're going to tell me an abacus is AI

    • @AIandGames
      @AIandGames  Рік тому

      Well of course not. That would be incorrect.

  • @sunofabeach9424
    @sunofabeach9424 10 місяців тому

    I thought you use an AI voiceover but then I realized that you are Scottish

  • @shay4261
    @shay4261 2 роки тому +2

    i never heard of townscaper before and even after this video i dont really have any interest in it but yea great interview anyway

  • @jamesmworia1529
    @jamesmworia1529 2 роки тому +2

    second?

  • @N076aHj87
    @N076aHj87 Рік тому +2

    Nothing new. 3D autotiling. A system as old as Nintendo.

  • @jjice3863
    @jjice3863 2 роки тому +2

    Second

  • @CptBlaueWolke
    @CptBlaueWolke 2 роки тому

    Tldr: Procedural is not AI; Proceduralism uses Random generation, AI does what it learns but it's not random even if it might look like it.
    Procedural content creation and AI? not at all, it has absolutely nothing in common. Procedural generation is nothingelse then actively directing under which circumstances what to build for wave function collapse like this here. For other procedural content it is based off of random seeds most of the time. Nothing that AI does or needs, AI directs itself with enough training with slight adjustments maybe later on by the user. For other things then wave function collapse it isn't random either, it used what it learns from data to reproduce similar things. In a way it's predictable if you understand how AI makes decisions.

  • @amdrewgamer
    @amdrewgamer 2 роки тому +3

    first

  • @NoNameAtAll2
    @NoNameAtAll2 2 роки тому +3

    did you generate your voice with AI in this video? feels kinda life-less today

    • @AIandGames
      @AIandGames  2 роки тому +12

      It's been a long month 😴

    • @NoNameAtAll2
      @NoNameAtAll2 2 роки тому +4

      @@AIandGames I hope everything is okay...
      Or, if it isn't, that you at least get enough rest, so that you can make everything better :)
      I'm cheering for you!

    • @Dong_Harvey
      @Dong_Harvey 2 роки тому

      @@AIandGames welp, Happy April Fools day, hope things do/don't get better for ya

  • @decalibrator3434
    @decalibrator3434 Рік тому

    Why Brynjolf narrating

    • @AIandGames
      @AIandGames  Рік тому

      That's a new one. Not had that comparison before...

  • @TommyLikeTom
    @TommyLikeTom 2 роки тому

    I have extremely negative emotions watching this because I was working on games just like this in 2015 and I had my entire life stolen from me. You don't understand how hard it is to be a digital artist when the world is collapsing around you.

  • @gegen_den_strom
    @gegen_den_strom 2 роки тому

    The guy should´ve made a plugin out of it instead releasing it as a game. It kinda pointless to play it cause nobody can use the buildings created with it anywhere else. The additional value of the product would be 100 times bigger then!

  • @bummers
    @bummers 2 роки тому

    Isn't constraint solver a form of linear programming? And AI is really overused these days for anything that is algorithmic.
    Procedural maps have been in used in games and sharewares since the 80s. We call it code.

    • @AIandGames
      @AIandGames  2 роки тому

      There's a lot of overlap in the histories of linear programming and constraint solvers dating back all the way to the inception of artificial intelligence in the 1950s. This is far from 'new'. But yes, it's funny how a lot of things that are still technically AI, are just called 'code' now, because they work.

  • @Arne_Berg_Mediasymphonics
    @Arne_Berg_Mediasymphonics Рік тому

    Townscaper is great! Smart and droll and full of opportunities! Thank you very very much for this creative stimulating Sandboxgame! 🤩👍🏽 But there is one point, I wonder. The silence. Sometimes it feels empty. While playing a certain monotony rises. I could imagine, that it would charm up the game-expereance, when sometimes (from time to time) a song is played, which is matching to the atmosphere, which stimulats the mood.
    I produced some proposes because I had fun with it and I am sure, it would boost the game-expereance, when from time to time a song is played 😃
    There are songs of different affects - but you will see - most of them hafe a maritime stile, because many elements of Townscaper let me associate with coast, water and nordic feeling 😊 So you will listen to powerfull and rousing songs like Wellerman or an famous dutch capture-song, but you will also listen to joyous and funny melodies - like "My Bony is over the ocean" or "Hamburger Veermaster" and of course there also are calm and relaxed songs like "Scarborough faire" oder "Kein schöner Land". And so on. Please listen to it and be happy!
    ua-cam.com/play/PLuKMXGUx3FlThVQX81939nydAwBv-FpuL.html

  • @curtisnewton895
    @curtisnewton895 Рік тому

    this is not AI it's wave collapse algo

    • @AIandGames
      @AIandGames  Рік тому

      WFC >> Constraint Satisfaction >> AI
      Like, even Wikipedia knows that. 😉