Crispy on 6/3/2006 at 11:39
Quote Posted by Rantako
I tried Crispy's idea (with a few changes) and it worked nicely!
DUDE. :wot:
Double-yew. Tee. Eff.
I didn't seriously think that was going to work... :weird:
Nice job! It does feel a bit too much like an elevator with blue lighting effects rather than actual water, but hey, I'm not complaining. Very much. :thumb:
So what other improvements can we make to this?
1. I think the upward motion of the elevators could stand to be a little faster... it feels pretty slow at the moment when you're running out of air and frantically trying to swim upwards! You tend to fall down a bit before hitting the elevator, too, which isn't very good. :)
2. Displaying the current amount of breath remaining in some fashion. The ideal thing would be a T1/T2-style bar of bubbles. (Yes, I'm aiming high!) Perhaps someone could see if non-blocking text works with images (by embedding an image in the text; (
http://www.ttlg.com/wiki/wikka.php?wakka=ImageReadables)). Then it might be possible to do something like this (I'm just paraphrasing the script here):
CONDITIONS:
Every 1.0 seconds
Query if BreathRemaining equals 0
ACTIONS:
Display non-blocking text bubbles00.txt for 1.0 seconds
...and so on, for every value of BreathRemaining (or whatever the flag is called) from 0 to 30.
Tedious? Yes, very! Hopefully someone can think of something better, but there's an idea at least.
3. Any way to improve the control? For example, is there any way to detect which direction the player is looking? If so, a solid object *above* Garrett could perhaps be used to push him downwards when the player hits jump while looking down (and vice versa when the player is looking upwards of course). I imagine it would just be RigidAttached to the existing elevator (one per elevator) at an appropriate height (Garrett is 92 units high when standing, I believe). Of course you would have to turn its density off sometimes, such as when Garrett is not underwater (imagine trying to fall into a pool of water from a high distance and getting stopped by an invisible mid-air object!) - can we toggle density at runtime?
4. (Minor point) Speaking of standing, I didn't actually try but I suspect we can crouch underwater. :cheeky: Can we fix this by somehow disabling crouch or nullifying its effects?
5. Fall damage. If the player falls into water from a great height, currently I imagine they'll hit the elevator and get hurt. Is this an issue? It does hurt to fall into water from a great height... so we could just say that T1/T2 got it wrong and T3 "fixes" it. ;)
6. More watery sound and visual effects to make it feel like we're underwater... I know people experimented with FOV and bubble emitters and things. Old Thief made sounds different when underwater - it'd be good to try and replicate this using EAX effects, and perhaps a background sound loop. This is all stuff that's been done and just needs integrating and playing-around-with.
I don't know exactly how much of the above is plausible, but we've just proved that swimmable water
can work. Let's see what else we can do while we're at it!
Ideally, I think that as more improvements are made, we should assemble a standard set of instructions for getting swimmable water to work and look as good as possible... on the wiki, naturally. :)
Please share your opinions, thought experiments, actual experiments, ideas, random brainfarts, whatever... let's get this show on the road!
--Crispy, backseat T3Edder. :p
Rantako on 6/3/2006 at 13:21
Here's some answers...
1. Fixed. The elevator in the demo goes at speed 30, I now have it going at 50.
2. I tried it quickly last night (with text, rather than images). It seems a non-blocking text takes about five seconds to fade out, regardless of the numbers you put in the script - so we could have six images of bubbles, the next one displayed every five seconds. However, its
very easy to knock it out of sync (if, for example you go underwater for 2 seconds, surface, then go under again, the first message will not have faded away until the counter is at 3, so the messages will then come 3 seconds late. Also, the counter sometimes starts at 2 or 3 for some reason, meaning you have slightly less than 30 seconds of air :p )
3. Really don't know about this one. There is a script condition to check if you can see something, but according to (
http://www.ttlg.com/forums/showthread.php?t=95970) this thread its buggy and doesn't always work. I don't think you can change density at all, but you can change bOutOfWorld with scripts to make things appear or disappear.
4. Yep. You can crouch, creep, walk, lean, draw weapons and everything else while underwater. I don't know if anything can be done about the movement (would it really matter? After all, you can still move underwater in real life). If you wanted to stop the player using weapons underwater, there is a script action that removes all inventory, and another one that restores it (how they did the equipment bag in Pavelock).
5. I don't think theres anything you can do about this. There is a property that controls the height Garrett can fall from before being injured, but it can't be changed in game. Falling into the water hurts as much as falling anywhere else.
6. If the demo is working properly there should already be FOV changes, screen tinting and watery sound effects when you're under water, but more is good. There's a (
http://www.ttlg.com/wiki/wikka.php?wakka=UnderwaterVision) page on the wiki with underwater vision and bubble emitters and things. I dont think my sound card supports EAX, so I can't help there.
At the moment I'm working on making tunnels off the main pools, and getting the elevator to be in the right place for when you come out of the tunnel back on to it. It's sort of working, but it looks like a separate script will be needed for every tunnel/passage in the whole map (currently using teleporters, where every one has a different name and so needs a different script). Hopefully there will be a way to overcome this.
ascottk on 6/3/2006 at 18:04
Quote Posted by Rantako
5. I don't think theres anything you can do about this. There is a property that controls the height Garrett can fall from before being injured, but it can't be changed in game. Falling into the water hurts as much as falling anywhere else.
Actually ProjectX may have a solution for that:
Quote Posted by ProjectX
So far the potions I've added are:
night vision (this was a bit of cheating, all I did was tint the screen to make things brighter)
invisibility
and I'm trying to get:
slowfall
slowmo
I'll have a look at that as soon as T3Ed likes me agin.
EDIT: EUREKA (which is greek for: 'hand me a towel!')
I found something that'll directly do exactly what I want!
the command simtime(scale(0.5)) slows down everything by half!
i hope...
W00t it works!!!!
simtime scaling looks promising.
Rantako on 6/3/2006 at 18:24
I don't think it would let you fall without being hurt (although I'm only guessing here) because it seems whether you are hurt or not depends on how high you fall from, rather than how fast.
EDIT: As I said above, using non-blocking text messages to show how much air you have left just wasn't working. Instead, I've made an inventory object with a bubble texture on it. When you have 25 seconds of air left, 25 of these are added to the inventory, making a picture of bubbles with a number 25 next to it appear on screen. 20 seconds left, and 20 of them are added, and so on. Luckily these inventory added pictures seem to be completely separate from the non-blocking text, and there can be more than one on screen at once, so it accurately keeps count of how much air you have left.
It's far from ideal, but unless there's a way to have more control over the text, it might be the best we can have for the moment.
Now to start writing a tutorial...
Crispy on 7/3/2006 at 05:42
I didn't really expect positive answers to any of those questions - just throwing out ideas. :P
Quote Posted by Rantako
Instead, I've made an inventory object with a bubble texture on it. When you have 25 seconds of air left, 25 of these are added to the inventory, making a picture of bubbles with a number 25 next to it appear on screen. 20 seconds left, and 20 of them are added, and so on.
Nice solution! It's better than non-blocking text anyway in my opinion, since it means it's in a more appropriate position.
Rantako on 7/3/2006 at 19:59
Here's an updated demo map with the air counter and some more complex underwater areas.
(
http://rapidshare.de/files/14941338/TDSWaterTest2.zip.html) TDSWaterTest2.zip
The air counter uses a bubble texture I put together quickly, but which does not look very good - the game renders its background black, making the actual bubbles hard to see. Again, make sure you back up your files first (there are quite a lot now - this is getting really complex :p )
ascottk on 7/3/2006 at 20:27
Good job, Rantanko! I was worried the elevators would be near the top & when you went through the tunnels there'd be no way to get back up. Now if the jumping movement would look slower I'd be more convinced :D
d'Spair on 10/4/2006 at 20:34
:eek: :wot:
Man. :wot:
Oh boy.
I just say it again: THIS community can make everything.
massimilianogoi on 26/9/2007 at 01:29
Why the wiki page are REMOVED???? :mad:
I needed of this now...