BluShine

Members
  • Content count

    23
  • Joined

  • Last visited

Posts posted by BluShine


  1. 7 hours ago, getinthedamnbox said:

    Showing the arcs of all your throws at the end is a neat addition. I'm curious as to how the opponent's AI works. Mine seemed to throw a little to the left every time.

    The AI is pretty simple. I start by calculating a "perfect" trajectory, then I reduce the power by 25% so the ball will land in front of the petard and roll into it. Next I add 0-5 degrees of randomness to the throwing angle. And then I simulate the "spin" phase by adding between 0 and 1 bars of left or right spin, and 0 to 2 bars of top or back spin. Top/back spin will usually result in a fairly close shot, but left/right spin will usually miss the petard significantly. 


  2. Got a full gameplay loop!

    fullgameplay.gif.f28afa6875705d65d38104e11c6f7f14.gif

    This gif shows only 1 toss per player, but I can set that to any number. 4 seems like a good match length. 


    So, pretty much all the programming is finished. I even have a simple AI system so I can have some opponents that are more aggressive, more accurate, better at utilizing spin, etc. Gonna spend this weekend working on art, sound, and levels. Who knows how much I'll get done, but at least I've got something worth calling a "game" at this point!


  3. This project is nuts, and I love it. I just hope it won't be too hard to actually run your game. Maybe package up a zip file with an emulator and the rom all set up? 

    I think you're probably better-off just avoiding near-rhymes like "whoosin", rhyming definitely has some gray areas, and it's hard to objectively say where a true rhyme stars and a half-rhyme begins. 

    If you want to distract and challenge the player, what if you included words that look kinda like a rhyming word but sound completely different? So, alongside "boomin", you could also have "bombin", "bonin", "bannin", "bossin", "burpin", etc. 

    Putting text sprites on the road seems like it might be tricky. If the text exists in the 3D space, it might be hard to read because of the low resolution, especially at a distance. I guess one solution would be to put scaled "target" sprites on the road, and have the text float above or beside the sprite. 


  4. Didn't get much done during the week, but I should still be able to finish by Sunday. Anyways, here's the weird controls minigame I came up with. You aim the ball, and then hit space to start charging your shot. Hit space again to shoot the ball. If you time it right when the circle fills the yellow outline, the ball will land where you aimed. The twist is that there's Super Hexagon-style walls, and hitting a wall will add spin to the ball. The longer your shot, the more difficult it becomes to avoid the walls. But skilled hoisters will learn to exploit the walls to add precise amounts of curve to the ball. 

     

    curveControl.gif.ce6dce073f72ef2d1f33c939228f3b1b.gif

     

    It definitely needs some transitions, sounds, and effects. And probably a tutorial, too. But I think the mechanic works well enough for the gameplay I have in mind. 

    I'm gonna try to get the petard mechanic finished over this weekend, and implement an actual scoring system. Maybe I'll even get a simple AI opponent working. Once that programming stuff is done, I can spend the rest of the jam just messing around with art, levels, sounds, music, etc. 


  5. After making a procedurally-generated pipe photography game for Wizard Jam 4, I'm back for more! I hope ya'll are ready to get hoisted, because LORD HOISTMAS is coming to town. 

     

    In ancient times, man created a weapon known as the petard. This fearsome explosive was created to destroy walls and doors. But another spicy use was soon discovered: hoisting


    1000 years later, the immortal god-king LORD HOISTMAS rules over the humans. Hoisting has become a professional sport. Every year, we hold the Bagblast tournament, and only the greatest hoister will have the honor of challenging our LORD in the final match. 

     

    Lord Hoistmas

    With Bagblast!

     

    An explosive bocce-like dystopian pro sports sim with arcade hexagon elements. 

    Play it herehttps://blushine.itch.io/lord-hoistmas-with-bagblast

     

    hoist.png.026e21ccfb42d6d608171cd50012126b.png

    Diversifiers used: 
    Hoisted: You can literally hoist yourself by your own petard.

    Limited Vocabulary: Your only verb is "throw".

    "You Just Played Yourself 🔑": Every round begins with your placement of the petard. While you are technically competing against an opponent, the real challenge is to throw your balls close to your original throw. A poor petard placement can make this task very difficult. 
    Texture Thrift: Almost every texture in the game is re-used and re-colored at least once. 
    selfhoist.gif.f103933850e43cd8050326547e319b26.gif


  6. 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?


  7. 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. 


  8. 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...


  9. 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. 


  10. 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. 


  11. 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


  12. 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