BGMC17 | ULC (Underwater Light Chasing)

Wish I could have spent more time on this, but 8 hours was all I got this week. Pretty happy with what I got in that time.

Ah well, here it is: Underwater Light Chasing.
Strap on your seatbelts for the slow-paced game of trying to navigate an underwater vehicle towards coloured lights. It’s not really that hard.

Nearly everything was made from scratch within the past week using the trinity of open source (Blender, Gimp, Audacity). The only exception is the cave wall stone texture which is from a photo I took last year.

Keys:
W/S = forwards/backwards
A/D = left/right
Q/Z = up/down

Notes:

  • Has sounds
  • Runs at 30fps on my laptop (intel HD4000), should be fine on any desktop.
  • I do not know your name


Things I wish I’d had time to do:

  • More interesting environment
  • Creatures roaming around
  • More varied lights to find
  • Optimize the shaders
  • Texture the ROV

Things I’m proud of:

  • How little code I had to write
  • How the environment turned out

Download Latest:
Download Version 1a: (Strafe Controls + tweaked sounds)
Underwater Light Chasing v1a.zip (1.66 MB)

Older Downloads
Download Version 1:
Underwater Light Chasing.zip (1.48 MB)

Hey looks nice, but wy i cant go left an right? So i crashed against the wall…?

You can’t strafe left and right because there aren’t thrusters mounted there. If you look at the vehicle from another perspective (ROV.blend), it will make more sense.
I planned to implement a far more complex movement model for the player, but ran out of, well, time.

Wow Geoff, it’s beautiful!

A little too immersive though, I started to get motion sickness playing it. :smiley:
As you say, it would have been nice to have some seaweed or creatures moving about, and it’d be nicer with some kind of underwater ambient sound, but it’s a great game none the less.

@S-Markt:
The lack of left-right motion wasn’t because I didn’t know how to, or ran out of time to. I did my own 6DOF space template back in the day, heck, whole 6DOF game.
I wanted the motion of this game for feel restrictive, because in the real world, you can’t just stick thrusters all over everything.

@smoking_mirror
Motion sickness? Wow.
If I get time tomorrow morning (actually Monday for me, but Sunday night for you guys), I’ll see if I can implement some creatures/seaweed. No promises though. Not sure if it will be ‘legal’ for the BGMC either.

There is an ambient sound. Listen very carefully. Maybe I need to up the volume on it. But it’s not meant to be obvious.

The controls worked well for me. Very nice for 8 hours of work. No motion sickness for me. Ran smooth on my PC. :slight_smile:
Sometimes I like a slow pace. :slight_smile:

I get motion sickness easily playing certain first person perspective games. If the motion is too immersive, like the camera is swaying from side to side, the fact that my head isn’t moving makes me feel dizzy.
The original s.t.a.l.k.e.r did it to me so I had to download a patch to stop head sway.

In the past I’ve had to return games to the shop because they made me want to throw up. :stuck_out_tongue:
That’s mostly why I don’t play console games, at least with the PC you can go in and patch it.

In this case I don’t think it’s the camera sway, just the combination of filters and lights, and the really “real” feeling of the cave makes me feel a little queasy after playing for a while.

I’m sure others won’t have any problem though. :slight_smile:

Nice atmosphere in underwater cave
I ran into the wall and I could not follow the light:):frowning:

I wanted the motion of this game for feel restrictive, because in the real world, you can’t just stick thrusters all over everything.

Rudder? Turning? :yes::confused:

Yeah, I don’t get the no left and right either. I was banging the sub on the ceiling and floor to try to move to the right.

Oh, and the quiet sound is too, haha, quiet (the motion sound is too quiet too). Even in audacity, I turned my volume all the way up, and I heard pretty much nothing. But I don’t have good bass on this computer…

I’m going to try this on my Unity3d computer later. <– With some pimpin bass. :RocknRoll:

Wait, if you just mouse-look you can turn to the left and to the right. You mean you can’t move/turn left and right at all?
Are you using a build of blender that has the mouselook actuator?

Anyway, I made a version with strafe controls and tweaked the quiet noise to be slightly higher frequency (so hopefully you guys can hear it)
Link in the first post.

Ohhhhh, I just got 2.73 right before I read your post. It works beautifully! 10/10 game right here.

Very nice… theres no end point though? i played forever hoping to find one. I found the way that the rover sticks into the screen a little unnerving because i couldn’t see where i was heading. Other than that, it beautiful, i love the sounds, and the environment feels very alive despite its lack of flora and fauna. five stars.

Unfortunately I didn’t have time to figure out how to end it in some way other than a let down. (Let’s face it, an arbitrary ‘you win’ in a game where you can’t lose is pretty bad). If you have any ideas on how to end it, I’d like to hear them.

Perhaps a timer between each light collected?

Overall I liked this game, I’m not sure if it was the side boosters, camera or movement but as mentioned this was super immersive, Everything looked very colorful (except for the ship boosters) and the specular reflections on the walls gave cool ‘force field’ illusions from far away.

i like the idea of supersimple game .

there anyway something that i not like :
performances -> to me run at 9.00ms! (happen ever when there “some filter” + “some lights”)
the mouselook task is a bit unclear, maybe is better that it turn also other axis(x) (in this way all rotations are managed from mouselook)(while actually is a hybrid)

if the veicle is for explore , is projected a bit bad, the camera should have a better visibility.(the lights at side should not give so annoyng)

the sound-engine is made well (maybe can be added some sound when the veicle collide with the cave)
the “repawner-target” is simply genial!
it can be used also to move some “npc” with really few code.

i remade your game version lite , (without filters2d, and without some lights)

that is the easy NPC code , using your original one, maybe one of that npc can due damage to the veicle with collision and due the death:


import random
from mathutils import Vector
import bge


RAY_DISTANCE = 100.0


def get_random_vector(size=1.0):
    return Vector([random.uniform(-size,size) for i in range(3)])






def ray_reflect(objCaster, start, direction, distance, reps=10):
    ray = objCaster.rayCast
    for _ in range(reps):
        _, start, hn = ray(start+direction,start,distance)
        if not start:
            return None
        direction = direction.reflect(hn)
    return start






def some_npc(cont):
    own = cont.owner
    if not "init" in own:
        own["target_point"] = None
        own["init"] = 1
    
    SPEED = 0.1
    
    def validate_target():
        if own["target_point"] is None or own.getDistanceTo(own["target_point"]) &lt; SPEED * 4:
            own["target_point"] = None
    
    validate_target()
    if not own["target_point"]:
        own["target_point"] = ray_reflect(own, own.worldPosition.copy(), get_random_vector(), distance=200, reps=3)
        validate_target()
            
    if own["target_point"]:
        own.applyMovement(own.getVectTo(own["target_point"])[1]*SPEED, 0)
        
        

@Thatimster:

Perhaps a timer between each light collected?

I like it. Maybe if I find some time this weekend.

Overall I liked this game, I’m not sure if it was the side boosters, camera or movement but as mentioned this was super immersive, Everything looked very colorful (except for the ship boosters) and the specular reflections on the walls gave cool ‘force field’ illusions from far away.

Thanks. A lot of time when I couldn’t be directly working on the game went into figuring out what underwater would be like and how to make it in the game engine. I’m pretty pleased with how the graphics side turned out - though as you say, textures on the rovers arms would have been nice.

@marcoIT
My laptop was struggling with this, and I think it’s my heavy use of node-based materials on everything.

Mouselook was implemented differently here: the tilt is before the pan (normally it’s pan before tilt). You can see this when you look to the side and then look up and down. It rotates around the cylinders set into the rover’s arms. Once again, this was because I was hoping to implement a more complex motion system.

if the veicle is for explore , is projected a bit bad, the camera should have a better visibility.(the lights at side should not give so annoyng)

No matter where you put lights on an underwater vehicle, they are annoying. The water will reflect it straight back into your face: like driving in a fog.

maybe can be added some sound when the veicle collide with the cave

I can’t believe I forgot this! If I find some time over the next weekend I’ll add it in.

that is the easy NPC code , using your original one, maybe one of that npc can due damage to the veicle with collision and due the death:

Another thing I wanted to implement was creatures just wandering around, much like what you’ve done here. Nice.