BluShine

[RELEASE] A Very Pretty Pipe Dream: procedural pipe photography shooter

Recommended Posts

Play it here:

https://itch.io/jam/wizard-jam-4/rate/102192

pipeweather.png

 

Probably final version. Features 7 different pipe worlds, 5 different weather conditions, and 7 photo critics (including Dot Gobbler)!

 

I finished everything I wanted to get done. The critics probably aren't particularly "balanced", but I really like how the aesthetic turned out, and the photos look awesome! After the end of the jam, I did a little bit more work on it: bugfixes, added ambient noise, sound effects for the photo critics, and transitions effects between the scenes. I'm tempted to go back and add a developer commentary... but I think I'll take a break from the project for at least a couple days. 

 

There's Windows, Mac, and Linux versions on the itch.io page, although the Mac and Linux are completely untested! I might also try building a WebGL version later. 

 

All the photos that you take should get automatically saved in a "screenshots" folder, so post your favorite photos in this thread!

 

photo-12-4_21-13-15.pngphoto-12-4_21-21-57.pngphoto-12-4_21-20-2.pngphoto-12-4_21-14-13.png

 

Original idea:

You fly around in first-person through a weird mess of random pipes. Kinda inspired by Strangethink, Proun, NaissanceE, Manifold Garden, Mirrormoon EP, No Man's Sky, and LSD: Dream Emulator. Colorful, semi-abstract flavors. Gameplay would be basically an abstract version of Pokemon Snap. The game says "take pictures of red pipes" or "take a picture with lots of colors" or "take pictures using the rule of thirds". You snap 3 or 4 photos, and then the game evaluates them. I also wanted to add some kind of Twitter photo sharing.

 

Github: https://github.com/BluShine/AVeryPrettyPipeDream

 

 

Share this post


Link to post
Share on other sites

I like this idea a lot. Looking forward to see what it looks like and taking some pictures of STUFF.

Share this post


Link to post
Share on other sites

angledpipes.png

More progress on pipe generation. All pipes are now generated at right angles to the previous pipe. I'm also now generating new meshes for each pipe instead of just scaling cylinder prefabs. I also started generating some nice Mario-esque flanges on the ends of each pipe. 

 

curvypolygons.png

Working on generating the curved joints between pipes now. Once I've got these polygons in the right shape, I'll have to do some mathematical plumbing to fit everything together. Should look pretty good once it's all working.

A nice bonus of generating the meshes by hand is that I'll be able to play around with vertex colors. Which means that I should have a bunch of pretty rainbow pipes soon!

 

Also, I've got a Github up if anyone wants to peer into the depths of the code. https://github.com/BluShine/AVeryPrettyPipeDream

Share this post


Link to post
Share on other sites

This is like the big, better looking brother to my own project! Looking forward to seeing how it turns out.

Share this post


Link to post
Share on other sites

nice progress so far! it's like screensaver revivalism. I wonder if dropping the space background and making everything pretty colors would be more striking though? something like the mirror's edge dlc (which is the only example springing to mind right now), with lots of matte white & bright primary colors.

Share this post


Link to post
Share on other sites

Oooh, I hadn't seen this one! Very impressive so far, interested to see what you can pull off with the pokesnap mechanics, it's a really cool idea! 

Share this post


Link to post
Share on other sites

The pipes are rainbow now.

rainbowpipes.png

 

If nothing else, I've got a nice screensaver generator! Looking forward to spending some time playing around with pipe colors and sizes. Then I'll probably get started with shaders. 

 

2 hours ago, ratamero said:

This is like the big, better looking brother to my own project! Looking forward to seeing how it turns out.

Ha, thanks! I was looking at your project and thinking "this is like my game, but made by someone who is actually good at math". You gotta start adding space backgrounds and rainbow colors to your attractors!

 

2 hours ago, voxn said:

nice progress so far! it's like screensaver revivalism. I wonder if dropping the space background and making everything pretty colors would be more striking though? something like the mirror's edge dlc (which is the only example springing to mind right now), with lots of matte white & bright primary colors.

I forgot about those Mirror's Edge levels. Jet Car Stunts is another game with a similar style. The space background is nice just as a visual reference so you can tell which direction you're facing. But I think you're right that an abstract background would look better. Probably also better for photo-based gameplay. I do kinda like the pipes being somewhat shiny/metallic rather than matte, though. 

 

Maybe I'll have multiple levels with different shapes/colors/materials for the pipes, different lighting, different backgrounds, etc. Or I could do something like Panoramical where the player can adjust a bunch of different sliders and numbers. Or I might just make all of the pipe properties randomly generated. Lots of options. 

Share this post


Link to post
Share on other sites

Today's weather report from the pipe dreamspace!

Saturn has set, and a soft-colored fogbank has rolled in.

fogpipes.png

The pipes seem to be exhibiting fractal growth, slowly increasing in size as they recede into the foggy void. 

pipefog.png

Finally, we've received reports of super-bright unlit shaders and pure white vertex lit shaders. Keep your eyes peeled for these unique pipe formations, dreamers! 

unlitpipes.pngwhitepipes.png

 

 

So, I played around with pipe scale. Now I can generate layers upon layers of pipes with slowly increasing sizes. Tiny pipes in the foreground, with huge pipes in the background. Lots of parameters to tweak. Gotta make sure that the big pipes have a chance to mingle with the smaller ones, but prevent them from completely overwhelming the scene. 

 

I also added some Firewatch-style color gradient fog. I'm liking the look, need to spend more time playing around with color schemes. 

 

Also playing around with some shaders and backgrounds. Gradient skybox looks pretty nice. I might also try just throwing some random gigantic polygons into the background, kinda like a Charles Sheeler painting:

1998_52.jpg404b208dffbab8e77162cc438e3518d2.jpg

 

I've been thinking more about how to structure the game. I think I'd like to have some combination of static "locations" with random "weather". The locations would each have different parameters for the pipe generator: thick vs thin, dense vs sparse, different color palettes, etc. Weather would determine the background, fog, lighting, and post-processing effects.

The player will be shown a selection of levels, and will see a weather forecast for each level. So, you might say "oh look, the Chemical Plant is Snowy today, I want to see how it looks", or "I bet the PVC Depot level will look really cool with the Smog Sunset weather, I want to keep an eye out for that combo".

These ideas are all a decent distance away. The core visuals are more important right now, and then I still need to get some basic gameplay. Once those tasks are done, I can come back to messing around with color palettes and random combinations. 

Share this post


Link to post
Share on other sites

awesome progress! the pipes are becoming prettier daily.

 

as a next step I'd suggest playing with ambient light. Shading with pure black (ie 0 color/saturation) tends to look rather ugly. Here's a quick edit of your colored pipes:

 

M7tdeCv.jpg

 

got a bit over-saturated, but hopefully it's a helpful comparison! And if you wanna get really fancy you can start building pipes with complementary color schemes, but maybe that's a bridge too far :-P

Share this post


Link to post
Share on other sites

Lens flare!!!

pipeflare.png

 

So bright and shiny!

squareflare.png

 

And some nice color ramp shadows.

pipecolorramp.png

 

Grabbed a ton of effects and threw them on the camera. Lens flare, god rays, bloom, temporal anti aliasing, all that good stuff. I also tried some DOF blur and bokeh, but I wasn't really satisfied with the look, and it didn't play nice with the temporal AA. I may come back to it at some point. 

 

Also wrote up a new pipe shader based on Valve's TF2 shader paper. It's got half lambert shading for soft, squishy edges. It's got colorful specular and rim shading. It's got a gradient color ramp for blue shadows and yellow highlights. 

 

I'm pretty satisfied with the look of the pipes right now. I'll have tons of variables to tweak to make differently-colored pipe worlds. At some point, I'll return to the pipe generation code to refine the random colors, shapes, and positioning. I might try out some of that complementary color stuff, @voxn

 

I've also been thinking of adding interiors to the pipes, although it would increase the polycount of the pipes. It's a trade-off between quantity and quality of pipes. Maybe I'll only have interiors for the ends of the pipes. 

 

Anyways, it's about time that I got started on gameplay. I think that I might have different "critic" characters who each judge your photo in different ways. Color, contrast, composition, number and arrangement of the pipes in the scene, etc. Maybe the critics could be based on the Thumbs hosts?  

Not sure if I'll try to do image analysis, or just raycast to detect the pipes that you're looking at. Or maybe some combination of the two methods. I'll probably play around with both and see what works. 

 

I also need to figure out some kind of UI for this stuff eventually...

Share this post


Link to post
Share on other sites

Hmm, I wonder if in the spirit of the WJCU the judges could be voxn's Hell Hosts from A Divine Exodus of Snakes?

Share this post


Link to post
Share on other sites

You can now take photos and arrange them in a nice little room.

classroom1.PNG

Click on the photo you want to display,

classroom2.png

And pin it anywhere on the walls.

classroom3.png

My first gallery show: "Tubular Sensuality"

classroom4.png

 

Every photo taken is also saved in a screenshots folder. 

 

Now that I've got a nice interface for picking photos, I can start programming the critics. That's the last step before I'll upload a fully-playable prototype for ya'll to test out!  

 

Still lots of stuff to do after that. I need a title screen, some sounds, and some music. I need to add a shutter effect for taking photos. I need some kind of tutorial or controls screen. 

 

Plus, I still want to add a lot more features to the pipe generation. And maybe some camera options: aspect ratio, zoom level, black and white film, other effects. 

Share this post


Link to post
Share on other sites

You can just go ahead and feed all the replies to this thread to the judges response dialogue system.

 

"Loving them pipes!" "Whoah these pipes are looking pretty pretty." :tup: 

Share this post


Link to post
Share on other sites

I haven't a clue how you are doing this, but it's beautiful! Maybe I should check out your git repo post-jam. Thanks for sharing your secrets.

Share this post


Link to post
Share on other sites

Finally have some actual "gameplay" in the game. 

classinstruct.png

Pick three photos.

classfeedback.png

The red sphere is displeased.

classfeedback2.png

The sphere is pleased by your photos.

 

Your first critic is a floating red sphere. It likes red photos. It likes photos that have very little sky. It likes photos with at least 30 discrete pipes in the frame. 

 

Basically, each critic can grade your photo based on 1 or more criteria. For each criteria, they will pick the best photo of your 3 chosen ones (so, your red photo doesn't also have to have 30 pipes). The critic then gives you verbal feedback based on each criteria. I will also have some kind of overall numerical/letter score displayed somehow. 

How does the grading work? Whenever you snap a photo, I shoot out a 50x50 grid of raycasts to collide with the pipes in the frame. I use this to detect stats like how many pipes are in the shot, what percentage of shot is pipe vs sky, etc. Also, I save a render of the photo, which I can later reference to detect things like color. The "red detection" reads a 10x10 grid of pixels from the photo, and determines whether their hue, saturation, and value are within a certain degree of a reference color. Finally, the critic compares this to a "pass/fail" threshold. So, if 50% of your photo is red, and the critic wants a photo that's at least 40% red, you get a positive feedback message.There's also a bit of leeway in the color detection, so a 100% pink photo will be detected as ~50% red. 

 

Here's some debug views where each raycast hit is rendered as a sphere. In the second image, you'll notice that my colliders aren't particularly precise: I just have capsule colliders for each pipe and the flange parts have no collision. It's fast, and it's good enough for a game jam! 

photo-12-1_8-58-35.pngphoto-12-1_9-32-29.png

 

I'm gonna try to throw together a main menu and finish up the UI, and then I can pretty much focus on adding more content in the form of new critics and new pipe worlds. I also need to put some sound in the game eventually. 

 

I'm also not sure yet how to introduce the critics. I want there to be some random element, and also some element of learning what each critic likes. I'm thinking that each critic might have a short "bio" displayed before you enter the pipe dream to take photos. For the sphere it could be "Wants to see lots of big red pipes." Probably something more creative. Not sure how much information would be too much. 

 

Anyone got ideas for critics?

Dot Gobbler might make an appearance. I think it would like blue (like dots), and hate white (like ghosts). Also, it would like photos with plenty of empty space, because claustrophobic photos remind it of the maze. 

Are there some 3D models of the Idle hosts anywhere?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now