Serp-slurp (Spicy hot chocolate 3)

co-authored: @smugsman
Overall★★★★★★★★★★2.73
Fun★★★★★★★★★★2.73
Innovation★★★★★★★★★★2.58
Theme★★★★★★★★★★2.75
Graphics★★★★★★★★★★2.49
Audio★★★★★★★★★★2.62
Humor★★★★★★★★★★2.73
Mood★★★★★★★★★★2.65
A 1-4 player (2 keyboard, 2 controllers) fastpace high-score based "survival" game in which reaction time and strategy are key.

Four wizards have been swallowed by a massive serpantine beast in a norwegian national park and must collect enough vitality to sustain their lifes for long enough. As they
keep sinking into the ouroboroses stomach they encounter vast enviorments and strange items. Will they ever get out? How long can they sustain themselves? How DEEP can they go? (See what i did there >) )

[EDIT: Important question to ask, this project uses java and requires it to run(also the recommended way of playing). But I've managed to use graalVM on it and convert it to a windows executable, i.e. '.exe'. Also, its between 700MB and 2GB in size, which makes it incredible hard to upload and manage. Comment below if you're interested in it!
-Kartoffel_Licht]



As plattforms appear and dissapear the players must jump on them, loot the provided material and jump off before they sink into the stomach acid.
Theres many more deep mechanics to spice gameplay however; WHY DONT YOU JUST PLAY IT!? PLAY THE DAMN GAME!!1!*

(*or don't, but we'd appreciate it. -Kartoffel_Licht)

A game by:
Kartoffel_Licht - codesman,music literaly build the whole thing
Smugsman - artsman,sfx - made silly sprites and spoke
(InkyOnyx - Made two character designs and provided emotional support)

The game does support local multiplay with:
[Movement/Actionkey1-4]
WASD/EQRC
UPDOWNLEFTRIGHT/Num0-3
2x Gamepad: Left Stick/AXYB

[Edit: to change skin, press Action key 2]


(More technical details here)
Binaries included for
freebsd-amd64
linux-amd64
macos-x86_64
windows-amd64

If you run into any issues, please look into the comment-section or the issues on git.
Consider leaving a report with OS and the console output (command is eg. "java -jar path/to/game.jar") to help others having troubles in the future!

Make sure you have the latest version of Java (https://www.oracle.com/de/java/technologies/downloads/) installed, or else it might yell "A Java exception has occurred" at you.

Also you'll need a somewhat modern GPU (supporting Vulkan)


Patches:
Added 'game_win2-1.jar', containing small refactorings, and notably a try-catch statement around the game loop, increasing robustness.

Comments25

Smugsman
Smugsman8 Apr 2025, 12:50
Hooray, great game, tingles my need for spicy hot chocolate
izzqz
izzqz8 Apr 2025, 16:56
Im sorry for my dummy behavior... But where is the play button?
Sayeg
Sayeg8 Apr 2025, 17:20
I would suggest adding some gameplay pictures to your page to attract more people :)
LDJam user 387005
LDJam user 387005author8 Apr 2025, 17:21
Hello @izzqz,
I've uploaded some images to the main page. Since you're probably not seeing a big button saying "play", my only guess is that you're seeing a loading screen.
Assuming a window has appeared, there're two cases:
You're seeing white/Nothing is drawin -> the game is still loading textures/shaders and/or has thrown an unreported exception.
You're seeing the Loading-screen (saying "loading Soundfont") -> the game is still loading the sounds/music/soundfont and/or has thrown an unreported exception.

In both cases, sadly, I doubt there is anything to be fixed locally. But if the issue is still here, I'd appreciate if you'd send me a console log (requires running the app from the console using smth. like 'java -jar "path/to/game.jar"')!

Mit Freundlichen Grüßen
Profugo Barbatus8 Apr 2025, 19:29
Can't get it to launch, no errors, just thinks for a split second then kills its own process. Modern GPU, correct Java Version, but doesn't kick off anything.
Yiraa
Yiraa8 Apr 2025, 20:38
It took me some time to understand why I was dying at the beginning (it was not clear for me that I needed to stay on falling objects).

Love the goofyness of the graphics!
GoogleFrog
GoogleFrog9 Apr 2025, 02:13
I get an "out of stack space" popup.
```
B:\Games\LudamDare\LD57\SerpSpicyHotChocolate>java -jar game_win2.jar
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by org.lwjgl.system.Library$$Lambda/0x000001935f00ce00 in an unnamed module (file:/B:/Games/LudamDare/LD57/SerpSpicyHotChocolate/game_win2.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.lwjgl.system.MemoryUtil (file:/B:/Games/LudamDare/LD57/SerpSpicyHotChocolate/game_win2.jar)
WARNING: Please consider reporting this to the maintainers of class org.lwjgl.system.MemoryUtil
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
java.lang.OutOfMemoryError: Out of stack space.
at org.lwjgl.system.MemoryStack.nmalloc(MemoryStack.java:321)
at org.lwjgl.vulkan.VkExtensionProperties.malloc(VkExtensionProperties.java:208)
at org.lwjgl.vulkan.VkInstance.getAvailableDeviceExtensions(VkInstance.java:82)
at org.lwjgl.vulkan.VkInstance.getInstanceCapabilities(VkInstance.java:45)
at org.lwjgl.vulkan.VkInstance.(VkInstance.java:29)
at Kartoffel.Licht.Vulkan.VulkanTools.createVulkanInstance(VulkanTools.java:1267)
at Kartoffel.Licht.Vulkan.VulkanInstance.create(VulkanInstance.java:254)
at Kartoffel.Licht.AGGraphics.AGVGraphics.create(AGVGraphics.java:224)
at Kartoffel.Licht.Main.main(Main.java:325)
at Kartoffel.Licht.Main.main(Main.java:46)

B:\Games\LudamDare\LD57\SerpSpicyHotChocolate>java -version
java version "24" 2025-03-18
Java(TM) SE Runtime Environment (build 24+36-3646)
Java HotSpot(TM) 64-Bit Server VM (build 24+36-3646, mixed mode, sharing)
```
apt_prose79 Apr 2025, 03:02
Very cool but not clear...
LDJam user 387005
LDJam user 387005author9 Apr 2025, 08:34
hello @googlefrog

It seems that the game failed to allocate a VkExtensionProperties on the stack, which is strange, since the object itself is only 260 bytes in size..
Also the object gets allocated with LWJGL's Vulkan Instance, on a stack the game does not controll directly. And the issue never happened before :shrug:
Default stack size for LWJGL is 64kb. If you want to, you can try
running the application with: '-Dorg.lwjgl.system.stackSize=', increasing that value (see).

Try something like this: "java -Dorg.lwjgl.system.stackSize=128 -jar game_win2.jar"

Mit Freundlichen Grüßen
Buni10 Apr 2025, 16:55
I really love the artstyle :)
Glaupe Cabral
Glaupe Cabral11 Apr 2025, 02:13
Really amazed by the amount of things you could do in that short period of time! Congrats
DevilXrom
DevilXrom11 Apr 2025, 10:54
Hi! Took me a moment to get into it, but once I did, it was pretty engaging. There's definitely something cool here — nice work!
MysteriousJuice11 Apr 2025, 18:23
Hey guys, I saw the video you guys added and your explanations, but shoulnd´t it be fine (according to the rules) to fix gamebreaking bug even after the deadline. In your case it might not be gamebreaking but is stopping many from trying it, so I think it should be fine to still upload the .exe, just note it on your page.
CrozzY
CrozzY12 Apr 2025, 13:17
I liked the game, it's quite interesting and the gameplay is good. Also the game style and sounds are very good and nice. I had fun playing the game and I would recommend it to other people) Very cool game
INCD021
INCD02112 Apr 2025, 16:17
Very unique graphics :thumbsup: Gameplay a bit confusing at first. But what a wonderful game :smiley: Great job. :thumbsup:
Artel12 Apr 2025, 20:13
The art style is great!
ImNotVegan13 Apr 2025, 10:28
could not start game, error after I press "play" button
I used command to start game: java -Dorg.lwjgl.system.stackSize=128 -jar game_win2.jar
LDJam user 387005
LDJam user 387005author13 Apr 2025, 12:42
Hello @imnotvegan
I'd normally ask for the console log, but since I doubt you have installed some vulkan validation layers, there probably won't be much usefull stuff in it. Judging by the state of the error, I can tell that java is correctly set up and vulkan is at least present (though maybe as an untested version). Could you, if you want to, please provide the vulkan version of your machine (may be multiple if you have multiple GPU's present), or the name's of your graphics card(s) and if their drivers are about up-to-date?

(If you experienced in vulkan, then I assume I could tell you that the application automatically enables ["VK_LAYER_LUNARG_monitor", "VK_LAYER_KHRONOS_validation", "VK_LAYER_KHRONOS_synchronization2"], which normally print really useful information in such cases.)

Mit Freundlichen Grüßen
Empyreans
Empyreans16 Apr 2025, 02:06

I liked the creepiness of the atmosphere. Reminded me of some 3DO / PS1 era games.
It evoke nostalgia as if about something I never actually played before which doesn't happen all that often to me.

One thing I'd note is that UI is pretty confusing, but that's totally alright.

Wish I had someone on the stream to play it with me. That'd be fun!

Waiting on LD58 for Spicy Hot Chocolate 4.

~Xp
ImNotVegan17 Apr 2025, 11:10
@kartoffel-licht I have GPU RTX 3080 12 GB and latest graphics driver

I get error messages in console:
```
C:\Users\dimac\Downloads>java -Dorg.lwjgl.system.stackSize=128 -jar game_win2.jar
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by org.lwjgl.system.Library$$Lambda/0x000001c35100d100 in an unnamed module (file:/C:/Users/dimac/Downloads/game_win2.jar)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.lwjgl.system.MemoryUtil (file:/C:/Users/dimac/Downloads/game_win2.jar)
WARNING: Please consider reporting this to the maintainers of class org.lwjgl.system.MemoryUtil
WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release
Resetting..
Added new input Method: class Kartoffel.Licht.KeyboardInputMethod2
Added new input Method: class Kartoffel.Licht.KeyboardInputMethod
Starting Run...
java.lang.RuntimeException: Failed to submit Draw Command!
at Kartoffel.Licht.AGGraphics.AGDrawer.submitCommandBuffer(AGDrawer.java:284)
at Kartoffel.Licht.AGGraphics.AGCanvasDisplay.submitDisplay(AGCanvasDisplay.java:180)
at Kartoffel.Licht.Main.main(Main.java:525)
at Kartoffel.Licht.Main.main(Main.java:46)
Warning, unclosed AGVGraphics-Object! Kartoffel.Licht.AGGraphics.AGVGraphics@1b0375b3
Warning, unclosed AGDrawer-Object! Kartoffel.Licht.AGGraphics.AGDrawer@5f375618
Kartoffel.Licht.Main.main(Main.java:325)
Kartoffel.Licht.Main.main(Main.java:329)
Kartoffel.Licht.Main.main(Main.java:46)
Kartoffel.Licht.Main.main(Main.java:46)
```
LDJam user 387005
LDJam user 387005author17 Apr 2025, 18:58
Hello @imnotvegan
Thanks for the info, I really appreciate it!
First of all, there doesn't seem to be something I could do this LD about that bug'1, so sorry for the inconvenience :neutral_face: .
Also, interestingly, I'll assume that everything before would have worked fine, since the "Starting Run..."-message is present (send if the Play-Button is pressed), But I'll investigate this part again for future LD's.
('1 I created another build marked as game_win2-1, where I reall cheaply try to ignore the error, it might or might not work.)

Mit Freundlichen Grüßen
sinclairstrange
sinclairstrange22 Apr 2025, 17:59
Took a while to get the game working on my end, but that's due to my lack of expertise! Overall a good little game, that honestly gives me old Newgrounds/Flash vibes which I love! Nostalgia, overall a simple yet enjoyable gameplay loop! Enjoyed, well done! ^-^

Other games by @kartoffel-licht

Found a bug?
Tell us on Discord