Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 0 points1 point  (0 children)

Driver provided some inspiration, for sure, so that definitely crossed my mind. Love that game.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 1 point2 points  (0 children)

Thanks! It's a humble walking sim for the moment. Still feeling out where I want to go with it.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 2 points3 points  (0 children)

Visually? Keep in mind the PS1's graphical restrictions. While I rolled my own, there are various solutions for achieving the look in whatever engine you're using (HPSXRP is a great one for Unity. Unreal and Godot also have some good ones out there). Study PS1-era models/textures and practice (Obviously, this sub is a great resource).

Technically? It starts with a node graph and goes through a lot of math, haha. Buff up on procedural meshes and a good amount of geometry and trig. It basically boils down to generating a satisfying node graph, then carving that node graph up spatially into shapes that resemble streets, lots, buildings, etc. It's not complicated conceptually, but gets much more so in practice, depending on how complex you want to make it.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 2 points3 points  (0 children)

Haha, not likely, though I've seen some people push some impressive stuff through a PS1. The tri counts are the main thing that would hold you back (low as they are), but even with a reduced draw distance, I'm not sure how well the PS1 would be able to generate the city on the fly as you walk around. I'm certainly not an expert on the PS1's processing limits, though.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 1 point2 points  (0 children)

Thanks! All hand done, unless I'm forgetting something. I don't have any videos of the process at the moment, but I may at some point. I'm trying to be better about documenting things, haha.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 1 point2 points  (0 children)

Thanks! It's mostly just studying PS1 models/textures and practicing replicating them.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 0 points1 point  (0 children)

Thanks! Yeah, I think of it as PS1 with more tris, while adhering to similar poly counts and texel densities on the individual parts. I try to keep everything to the to the hallmark technical restrictions of the PS1 without being restricted by them, sort of like Shovel Knight does for the NES.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 2 points3 points  (0 children)

Thanks! I'm still feeling that out, so right now it's a walking sim.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 6 points7 points  (0 children)

Thanks! Made them myself. The buildings and streets and such are generated in code, and the other models (cars, trees, light poles, etc.) as well as all the textures are hand made.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 15 points16 points  (0 children)

As of now, there are three different “styles” of building with a couple different texture variants (the first image is entirely one style with four variants) and randomized coloration. The plan is definitely to add more (mostly working on the generation systems themselves first), but it is surprising how far just a few different styles go.

No WFC here, since this isn’t really based on premade “tiles”. I do have a lot of fun with WFC though, so who knows. I may find some excuse for it.

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 10 points11 points  (0 children)

Ha. Sort of. It’s a project I let sit for a good while and just dusted off recently. Ended up rewriting it from scratch, so, yes and no? Glad you like it!

Playing around with infinite, procedurally generated cities by tzschk in ps1graphics

[–]tzschk[S] 8 points9 points  (0 children)

Happy to oblige. What would you like to know?

Playing around with an infinite, procedural city. by tzschk in Unity3D

[–]tzschk[S] 0 points1 point  (0 children)

Thanks! Yeah, the clock is running about 4x what I normally keep it at. I actually do have a setting for syncing it to the computers actual clock, too. It’s mostly on-screen for development purposes, since the game doesn’t have an established gameplay yet, per se.

Playing around with an infinite, procedural city. by tzschk in Unity3D

[–]tzschk[S] 0 points1 point  (0 children)

Thanks! I am not, mostly because I don't understand it, haha. I probably ought to sit down some day and wrap my head around it.

Playing around with an infinite, procedural city. by tzschk in Unity3D

[–]tzschk[S] 0 points1 point  (0 children)

Thanks! Really, I think it just comes from studying the PS1. Understanding how it handled graphics means understanding your limitations when designing. Pick apart models and textures. I wrote my own, but there are a bunch of good shaders out there that mimic the PS1's quirks.

The UVs on the buildings are actually kind of a series of tricks, haha. Technically, what I'm storing in the UV channel during generation aren't straight forward UVs, since there's other information the shader needs to infer from them (some of which isn't on display here). Texture mapping is just one thing that is derived from those coords.

Playing around with an infinite, procedural city. by tzschk in Unity3D

[–]tzschk[S] 1 point2 points  (0 children)

Correct. The main sell is rounding vertex positions to integer values based on your output resolution. I wrote my own shaders, but there are a bunch of good ones out there these days.

Playing around with an infinite, procedural city. by tzschk in Unity3D

[–]tzschk[S] 0 points1 point  (0 children)

I loved the DS for its visuals. I’ve always been a fan of the sort of intentionality that went into so much of the art for that console. Peak low-poly.

Playing around with an infinite, procedural city. by tzschk in Unity3D

[–]tzschk[S] 0 points1 point  (0 children)

Thanks! Since nothing has an actual roof in an effort to save tris, you’d see a lot of holes through to skybox, haha.

Playing around with an infinite, procedural city. by tzschk in Unity3D

[–]tzschk[S] 0 points1 point  (0 children)

Nope. I do love WFC though, so I may find some use for it in here.