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...
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.
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!
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
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.
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.
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!
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!
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.
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.
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).
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)
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.
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!
Steam workshop support or really any modding support for townscaper would be awesome. Letting people create buildings of different styles would be great.
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?
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.
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.
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.
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.”
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.
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.
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.
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?
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.
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.
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
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).
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.
@@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!
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.
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!
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.
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.
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
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...
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.
@@shayneoneill1506 ?
Xd
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!
Love your work, dude. Keep it up
Not to add even more to your plate, but I'd love to see your take on the wavefunction collapse algorithm :)
@@TAP7a I feel like Sebastian would explain it incredibly well. That's absolutly the kind of video and project he could do brilliantly!
A true pimp among us.
@@TAP7a I second this!
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
F*cking genius. You should contact the devs for this.
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
it's also weirdly cute how the armies kill each other
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.
Oh yeah, simple. **head explodes**
Congrats on the devs for winning so many awards. Great that neat indie games like this get attention.
There was just one dev, Oskar Stalberg.
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.
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.
Townscraper has always blown me away. It’s a real technical achievement. Great insight into its development as always Tommy!
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!
Ngl, I'd never considered this game as being an interesting topic from the point of AI... Absolutely fascinating video!
What a beautiful little game / simulation. Bought it right away.
I can see a future GDC talk being made from this videos perspective about this game
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.
I knew we would endup with a mention to redblog grid articles! :)
Fascinating video 👏🏻
All discussions of grids in game dev end at Red Blob Games. 😂
Awesome interview!
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!
I think AI-assisted creativity will be massive in the future
I find things like Jukebox AI to be great sources of inspiration.
this is one of my fave video game breakdowns of all time. thank you for the love and care you put into this Tommy!
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.
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.
"We have quantum computing at home"
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).
Without knowing anything about either concept, I was pretty sure that something like this had to be the case. Thanks for explaining!
Not even perverse. Most analogies are not airtight. This is a pretty good one, all things considered.
@@Deadly_Laser quantum computing at home:
Have not seen something impressive as this for long time
It would be kind of cool to have a VR mode of some sorts where you can just walk through the city you made.
If you follow Oskar on Twitter, he's been experimenting with a VR build of the game recently.
From the video, to the editing and the interesting links in the description, you gained a like and sub. Thank you!
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)
super cool stuff. Procedural generation has always been something I love to learn about.
I truly do hope someone makes a tile pack for it some day too
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.
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!
I didn't realize how complex of a system this was. Very cool design
Steam workshop support or really any modding support for townscaper would be awesome. Letting people create buildings of different styles would be great.
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?
Love to see this game get more attention : D
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.
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
this was great, thanks for making this, great coverage of some impressive games/dev work.
Wow, this looks beautiful and fun. Thanks for bringing it to my attention!
Thank you for the interesting episode ^-^
The game was/is so successful because imo it's the modern equivalent of lincoln' logs.
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.
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.
I love it. Will give me inspiration for a decade.
Would love a day where people made open source tool like toys that allow collaborative Game Dev. Imagine the innovation!
perfect video ❤
Modular voxels. Nice. Makes me want to get back to it.
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.”
Thanks for the vid
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.
I'm a simple man. You recommend Sebastian Lague, I subscribe.
Great work 🥳 Thank you 💜
Great writing, and good video
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.
very interesting, never heard of this game before. Are there any npcs that wander around your town or is it just the buildings?
The only NPCs are the birds and butterflies. No 'people' wandering around.
I believe that someone did make a mod where you can wonder around the town yourself in first person, but that's about it.
@@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.
@@AIandGames make people living in town please
wow the intro is creative
I wish they would add humans doing chores or just walking around D:
38:17 Lookit those birbs!
The only missing is tiny people walking around.
“And if you’re following him on Twitter…”
Me: hm. Not actually sure I am, currently.
*checks Twitter*
Twitter: is down
Twitter: is X
If this guy keeps going he's going to invent diffusion networks...
Why? And so shortly after I discover BLAME! I’m gonna have to get this...
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.
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 😭
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
If only BrickBlock had a larger grid!
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?
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.
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.
i wish there was a way to walk in first person here
there actually is a mod for first-person exploration of your towns, if you own the Steam version
Oskar! Hire some people to make the other ethnic tiles!
Good game
Bad north in android is 2oomb?
What does 2.1 Dimensional mean?
Why is it called wavefunction colapse? it should be caled suduko like
If we didn't want to use Unity, is there another game engine that could do something like this?
There's nothing about the game that is engine specific. You could write the architecture in pretty much any engine.
We need updates.
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
To each their own!
Personally, I digged it. I love creating my own fun in games.
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).
@@youlleatamuffinandlikeit4596 Look, it's just siesta, everyone's in for a good nap
Well yeah that's the point, the irregularities in the grid I mean, you build with the landscape!
👏👏👏👏👏👏
Okay, you don't want to spend another 6 months adding skins of other architectural styles. Hire an artist and release it as DLC!
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
Next you're going to tell me an abacus is AI
Well of course not. That would be incorrect.
I thought you use an AI voiceover but then I realized that you are Scottish
i never heard of townscaper before and even after this video i dont really have any interest in it but yea great interview anyway
second?
Nothing new. 3D autotiling. A system as old as Nintendo.
Second
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.
first
did you generate your voice with AI in this video? feels kinda life-less today
It's been a long month 😴
@@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!
@@AIandGames welp, Happy April Fools day, hope things do/don't get better for ya
Why Brynjolf narrating
That's a new one. Not had that comparison before...
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.
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!
the Steam version has .obj exporting
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.
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.
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
this is not AI it's wave collapse algo
WFC >> Constraint Satisfaction >> AI
Like, even Wikipedia knows that. 😉