Crushing Depth

by zzorn
Overall★★★★★★★★★★2.80
Fun★★★★★★★★★★2.48
Innovation★★★★★★★★★★3.11
Theme★★★★★★★★★★3.48
Graphics★★★★★★★★★★3.37
Audio★★★★★★★★★★2.09
Humor★★★★★★★★★★1.95
Mood★★★★★★★★★★2.82
Coolness★★★★★★★★★★58%
Crushing Depth
==============

Ludumdare29 entry by zzorn

This is a submarine fight simulator. Your objective is to destroy the enemy submarines before they destroy you.

The actual gameplay is pretty unfinished, I ended up putting most time into creating the physics and simulation again.

Requirements
============

Make sure you have Java installed.

Starting
========

Extract the zip file, then:

On Linux
--------

Run the start.sh script, for example by opening the terminal in the directory you unpacked the game in and typing
./start.sh
and enter.

On Windows
----------

Double-click on start.bat

Usage
=====

Press space to fire a torpedoe.
There is a reload time of a few seconds.

Press Enter to switch views.

The following keys are also visible in the UI, so no need to memorize them:

Surface diesel engines / Underwater electric motor:
Increase speed with W, decrease it with S.

Rudder:
Turn left with A, right with D.

Dive fin:
Dive down with F, up with R.

Ballast tank:
Pump water into the tank with Down Array (makes submarine heavier) , and pump water out with Up Arrow (makes submarine lighter).

Recharge batteries with diesel engines (works only at surface):
Turn on with C, off with X.
(Not needed unless you want to play a _really_ long time).

The red hand on each gauge indicates the player selected level, while the white hand indicates the actual level.

Issues
======

There is no death screen - if you get destroyed, the camera and UI just stays floating at the point where you died.

There is no win condition either.

There is no sound.

Torpedoes tend to explode after having traveled too short a distance.

Torpedo hit detection is somewhat buggy.

The enemy is pretty stupid (read, random).

Comments17

popogames29 Apr 2014, 10:50
The keys you have to use are all over the keyboard and there is still a lot missing. The idea is nice though, but it needs more improvement.
Kwrky
Kwrky29 Apr 2014, 10:50
I think there is something here, but it needs to the have the gameplay finished. The graphics have a kind of Bioshocky vibe =D
Mekuri29 Apr 2014, 10:55
I really liked the controls, took me a while to figure it out, but awesome! - I managed to hit another sub multiple times, but the torpedoes just went through it- This all happened on the surface, so I don't know if that had anything to do with it. Sounds would've added a lot to this game- The graphics was nice and your underwater mood was nice- But that mood would've rocked with a few underwater sound effects.
All in all, I was impressed with this game - Good job!
SuperIzzo
SuperIzzo29 Apr 2014, 12:50
The scene does not render for me. I can see the HUD and behind it is a black screen. Pressing keys shows changes in the meters (so the game logic is fine). I'm running Windows 7 (64bit) on a laptop with a moderate graphics card (ATI Mobility Radeon HD 4200 Series); I extracted the game and ran using the bat and later using just the jar. Not rating for now.
Ludonaut
Ludonaut29 Apr 2014, 13:10
Nice take on the theme. I like the gauges.
Ragzouken
Ragzouken29 Apr 2014, 13:12
like the visuals :)

some simple ambient sounds would have really improved this!

i think i zoomed out of the map by accident
javifugitivo
javifugitivo29 Apr 2014, 13:15
Nice try but the gameplay seems a bit unfinished, with more time, I'm sure that you would had done a very promising game, good job!
Aomeas
Aomeas29 Apr 2014, 13:16
I have an issue while trying to launch it on Mac OSX :
"Exception in thread "main" java.lang.UnsupportedClassVersionError: org/ludumdare29/Game : Unsupported major.minor version 51.0"
I have tried launching it with the command line "java -jar ludum[...].jar" and with the sh script, resulting in this error.
zzornauthor29 Apr 2014, 13:16
Thanks for the comments everyone!

SuperIzzo: Probably some issue with the shader then, the UI is rendered with the default LibGdx shader, but the ocean uses my custom shader. I'll need to look into compatibility issues with different cards more in the future, there's probably no quick fix I can do for this Jam.

Mekuri: Agreed, I'd have loved to add sounds for all the different motors and systems if I would have had more time. The torpedo hit detection was a last minute addition, I'll check if there is some obvious bug.
zzornauthor29 Apr 2014, 13:19
Aomeas: What version of Java do you have? (The output of java -version ).

I compiled it with Oracle Java 1.7, so it might not work with older Java versions.
SoupWithBits
SoupWithBits30 Apr 2014, 12:50
Looks awesome! With some polish and juice, I think you'll have a winner!
Empyrealhell1 May 2014, 01:42
Just a black screen for me. I can see the gauges, and I can interact with them, but the middle of the screen is solid black. On Windows 7 x64, java 1.7. I have a Radeon video card that's about five years old, my best guess is itas a shader compatibility issue.
zzornauthor1 May 2014, 08:21
Empyrealhell: Thanks for reporting. So far two radeon cards that my custom shader fails on, so we could have a pattern there.
dertom1 May 2014, 09:14
Too bad I also can't run it. Only the hud. It looked very promising...maybe later!
GreatBigJerk
GreatBigJerk3 May 2014, 11:50
Didn't run on OSX. Tried just the jar and the shell script. The shell script gave me this error:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/ludumdare29/Game : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
kibertoad
kibertoad14 May 2014, 20:05
Kinda freaking fantastic. All it lacks is sound and gamepad support. This could be seriously fun to play online with friends.

Other games by @zzorn

Found a bug?
Tell us on Discord