When I rode home on my bike today it was raining, and suddenly I thought about coding a decent replacement for the snow/rain plugin. Well, at least for the rain part.
It still needs to be polished a bit, plus I have yet to come up with a user-friendly way to set up the 3D parts.
to-do list:
-support for other resolutions than 320
-ability to let things get wet
-user-friendly 3d system
done:
-wind
-hits ground differently depending on material
DOWNLOAD DEMO (https://www.dropbox.com/s/7ya0io53z538379/3DRain.zip?dl=1)
Quote from: KhrisMUC on Tue 10/07/2007 23:32:10
3D Rain
that's cool. Do you think you can make it compatible with the Easy3D (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=26130.0) module, or will it achieve to vaporize any powerful processor in the atmosphere?
The demo creates some nice effects. Congrats! I'd suggest some variation in the drops colour; apart from that, it's a worthy alternative to the "established" rain/snow plugin.
BTW- using the "z" axis is a stroke of genius IMO. Are you planning to make objects and walkbehinds respond to this, too- so that, say, a large tree in the middle of the park actually blocks rain?
Monsieur OUXX:
To be honest, I'm way too lazy to read myself into the Easy3D module's lengthy code. And I've yet to see a game using it either :)
Ghost:
Thanks :)
The drops will be customizable, maybe even two-colored.
And yes, being able to put stuff in the bg that blocks the rain is one of the main reasons why I'm trying myself at this. I'll try to make it as customizable as possible while using only sprites and coordinates hopefully to avoid conflicts with regions & other stuff the game designer might need for something else.
I'm afraid it won't recognize walkbehinds though. Displaying the rain has to be done using RawDraw functions and there's no WalkBehind.GetAtRoomXY unfortunately.
No worries, objects should be sufficient. Good luck on you, then, and godspeed ;)
That's a rather nice effects, I may have to break my "no modules" guideline for my current game to take advantage of this
one question: The rain seems to bunch in the center of the screen. I'm guessing the rain isn't being calculated for outside the bounds of the image?
Strange, with the v2.72 Linux engine all the drops seem to stay in one place:
(http://www.strazer.net/ags/3drainlinux.gif)
I tried something like this once, but I wanted the drops to also be drawn in front of objects and characters, so I had to rawdraw them as well. I also wanted the drops to stay in place in the room and not move with the screen/viewport in scrolling rooms so I had to calculate (part of) the rest of the room as well. Needless to say, it all got pretty slow pretty quick. :-\
Then again, I used sprites for the raindrops. I'm curious to see how this demo performs in higher resolutions. Looking forward to the module!
Strazer brings up an interesting point. You may need to make the rain emitter width customizable for wide rooms. I am also curious to see how something like this would affect performance on a graphic intensive game. Nice work!
Very impressive! Am eagerly awaiting development on this one, bravo.
Very impressive. I've been working on a 3D-ish rain module myself for a while (sprite based particle system), but haven't so far found a viable way to draw transparent rain in front of characters and objects without slowing the system down massively (and without giving up on lighting and tint effects as you would do if also RawDrawing the characters). I'd be interested in how you'll manage this - for non-transparent rain Overlays would perhaps be the best solution.
Nice work with the module indeed :)
The problem with these particle systems (rain, snow, stars, waterfall, falling leaves etc...) is that an external dynamic-link library (DLL) seems to be the only optimal way/form to implement them at the moment -- reasonable performance and providing an object-oriented interface to the script (just like the built-in AGS objects such as Characters, GUIs, DynamicSprites etc.) are a plus here. On the other hand, their role in an adventure game is usually of a secondary importance, to say the least. Sure, a nice-looking particle-based snowfall can add to the feel of immersion for some snow scene but the bad thing with DLLs is that they bind the game to Windows only, which is a shame as there are many people using Linux, for instance. So one downloads a game just to discover it won't work because of some DLL there, although the whole point of the AGS engine to be a virtual machine to run any AGS game on a variety of operating systems, as long as there is a port of the engine available for a certain OS.
I was working on a plugin to generalize all sorts of particle effects (by providing an ability to create and manipulate custom particle systems) but eventually put it on hold as I stumbled upon some technical issues which (among other things) led to slow down in performance speed and thus rendered all the benefits of using a DLL quite useless; as then it can just be simply scripted, retaining cross-platform compatibility.
Hi Khris ! The Link About Your 3D Rain Demo Seems To Be Broken...
I Wish I Could See That... How Could I ?
Haha, wow, another skeleton in my closet has reappeared :)
I fixed the link, try again.
what about this awesome module? :cool:
I'll add it to my secondary to-do list :D
Great potential module Khris...
Please continue (nod)
Quote from: Khris on Wed 12/08/2015 20:13:34
I'll add it to my secondary to-do list :D
...waiting :-D
Any news on this module? Would truly love to use it :)
I'm locking this, it has been 3 years without a share or so, I once actually got the source of it somewhere, I can't remember where.