FoonLudum Dare ExplorerLD52 → Jumping Bean Harvester

Jumping Bean Harvester

By therealjtgill

View on ldjam.com

CategoryRankScoreCount
Overall7562.7933
Fun7112.7132
Innovation5233.1034
Theme6583.1933
Graphics7132.4533
Humor5382.5329

Comments

grisha 2023-01-10 02:54

Didn't play (don't wanna run an exe) but love to see dear imgui represented. Keep building your own engines!

therealjtgill 2023-01-10 02:58

@grisha Thanks for the encouragement! I was trying to get emscripten working just before the jam started but couldn't push past the compile errors in time. I'll work on getting a web build for next time though!

chrispy977 2023-01-10 03:18

Interesting experiment, felt like a lot of the frustrating simulators like Surgeon Simulator. Hard to control the beans and the truck. Super commendable project though, seems like you put in a ton of work to make it so systematic. Keep going at it.

noobman64 2023-01-10 03:21

Neat game. I don't know if its the case, but it looked like you were simulating some kind of suspension system with the wheel movement and it looked cool :)

riesyeti 2023-01-10 16:00

All self made? That's really impressive especially for the time constraints! And it's fun too once you get tha hang of it, though the grabbing of the beans is a bit finnicky imo, but still good.

raivk 2023-01-10 21:10

Congrats on making it with your own engine and such, that's quite an achievement!

christian-zommerfelds 2023-01-10 21:26

Good job on submitting your game!

I think I got 50 points despite having a stationary bean. The grabbing mechanic could be improved on, e.g. maybe a physical arm and having to balance the bean on the trunk of the car :)

yahel-dooley 2023-01-10 21:40

The game is pretty challenging and certainly tested my patience. I can tell that a lot of work went into the logic of controller, and that alone under the time constraints is commendable. The core loop itself was a bit too frustrating for my liking, as even after managing to capture a bean, the vehicle could still simply drove over and past it. That said though, I do think that frustration could be solved by giving it a little "magnetic attraction" once you've grabbed a bean. Good work!

mactinite 2023-01-11 02:19

Custom engine? Cool stuff!

fancyreckless 2023-01-11 10:38

Controls and everything is intuitive, resizable tutorial windows is pretty neat and something I haven't seen before. Grabbing mechanic needs some work as right now it was big challenge to use it, but maybe that's where the fun is. Good job on writing your engine, that's a really challenging task.

nathan-varughese 2023-01-11 10:48

very well done, bit tricky to grab the beans tho

flatgub 2023-01-11 11:06

Congrats on submitting something with your own engine, that's absolutely impressive on its own merit!

lisyarus 2023-01-11 18:54

Oh, someone using a custom engine as well, with less than 2Mb download size, love that :) Also haven't seen anyone use imgui as a game GUI, that's an interesting decision. I've noticed you have a whole lot of DLL's in the package, mostly for the physics, I guess? It feels strange because what you'd typically do is just make a `libphysics.dll` with all that stuff inside. A lot of DLL's means a lot of files to read & load at startup, which increases the time for the game to start. It also means a lot of functions can't be inlined or called directly by a relative address, since they reside in a different DLL and the address isn't known before actually loading them, so they have to be called through an address lookup table, which is slower. It's usually not that big of a deal, but if this happens for a lot of functions in a hot loop (like the physics engine update), this might be a problem.

So, speaking of the game itself, I love the concept but I'd say the implementation needs some polishing. My camera was routinely stuck inside walls, and since they're all of the same yellow color it's really hard to navigate and understand where you are. The car movement looks a bit jittery, - I guess because the wheels are actually polyhedral and have rigid contact with the ground? Since you're making you own physics engine, it shouldn't be that hard to support proper round cylinders, I think: you mostly only need collision detection, and most algorithms for polyhedrons (like SAT or GJK) can be adapted for spheres and cylinders as well.

After playing for a while I managed to turn the car upside down and got stuck - guess this should be detected by the game somehow and considered a lost life or something like that :)

2023-01-11-214351_1920x1080_scrot.png

therealjtgill 2023-01-11 19:19

@lisyarus Thank you for the thorough feedback! I'll respond to your points separately.

RE: dll's - Yes, my CMake setup ends up making a bunch of SO files (or dll's on Windows). It's an older setup that definitely needs an overhaul.

RE: Dear ImGui - It was a choice made out of... availability. The renderer and GUI are tools meant more for debugging than visual polish. Although I really think shadow maps would make things pop...

RE: Jitter - I'm using GJK, EPA, and Sutherland-Hodgman for collision detection and resolution. Currently all rigid bodies are treated as convex polyhedral meshes, but yes, support functions can certainly be created for non-polyhedra. The main benefit would be a performance boost from not having to iterate through faces and vertices to find support points. With the current formulation contact points and constraint impulses are pretty stable, the car jitter comes from how the motor constraint for the two drive wheels is set up. This can absolutely be addressed in future demos!

RE: Getting stuck - Press `m` to reset the car ;)

Thank you again for your feedback, this is extremely valuable and I look forward to playing your game!

jitspoe 2023-01-12 03:19

Fun little physics sandbox. It would be nice if the harvested beans disappeared. Seems I had a case where a harvested jumping bean jumped back out and when harvested it again, I didn't get any points.

theothersamp 2023-01-12 03:26

Seems a little more like a tech demo than a game, but a good one. The physics engine seems to hold up well as far as I can tell. Nice work getting that done in the time!

therealjtgill 2023-01-12 18:36

The Mac build is broken - I'm going to take down the link until it's fixed.

picross 2023-01-13 06:01

Awesome game! Very impressive that you used your own engine. Was the engine mostly already developed when you started the jam or did you have to do a lot of live fixes during LD> Also, which physics API are you using? Super cool stuff and nice work!

harmofish 2023-01-13 06:43

The physics engine is performing admirably. I understand how difficult it is. Congratulations! I'm looking forward to continuing to improve this game in the future.

therealjtgill 2023-01-13 12:56

@picross Thank you for playing! Yes, the physics engine was in a solid working state before the jam started. The one major addition I added was the ability to raycast into the scene. I also added a couple of 'getters' to the existing API, but those were no biggie. The physics API is one that I've made up, but if you stand 20ft away from it and squint your eyes it might look like Unity's physics API?

@harmofish Thank you so much!

picross 2023-01-13 17:04

@therealjtgill That's super cool! I can't even imagine all the math involved. Thanks for sharing!

n-feofentov 2023-01-13 20:29

It was cool! I love vehicle physics, was fun to ride on top. I wish camera has more smooth movement, hang it on spring. But it's cool you've made it on your own engine. Great job!

kevin-barrios 2023-01-13 22:50

Cool demo of your physics engine. Didn't quite have the patience to harvest the beans, but still enjoyed driving the car around, toying with the physics and the tank controls.

therealjtgill 2023-01-14 00:22

@kevin-barrios Thank you for trying it out!

lintfordpickle 2023-01-14 14:30

I wanted to play this as I saw one of your posts pre-competition about using your own physics engine (and I too just finished up my 2d physics engine over Christmas).

Similar to others, I didn't have the patience for collecting all the beans in the end, but the physics simulation ran great, and I was able to traverse the world and interact with stuff. Great work

There was a little something that I'm not sure is intended or expected, but the camera seemed to react to 'micro' movements of the buggy as I drove across the ground. I presume the ground is a flat cube, so I wouldn't have expected any jittering of the camera, and although it was barely preceptable, it was a little jarring

therealjtgill 2023-01-14 15:08

@lintfordpickle Thank you for the feedback! The tires are polyhedral approximations with flat faces on the sides, so those micro movements are the result of the wheels transitioning from face --> edge --> face --> edge contact with the floor. I've got an update pending that allows GJK and EPA to support implicit surfaces in addition to convex meshes, so camera jitter is on the list for fixes! I'm looking forward to playing your game as well!

malibaturhan 2023-01-14 16:20

very nice to play but lacks gameplay. I think this is a prototype of something

xparker 2023-01-14 22:13

Nice entry - never really got the hang of collecting the beans. But managed to hang off a platform on 2 wheels.. and then the camera glitched :smirk: in simple terms: I enjoyed it

therealjtgill 2023-01-15 15:43

@malibaturhan Thank you for trying it out!

therealjtgill 2023-01-15 15:44

@xparker That's what nearly all of my attempts end with - hanging off the edge going "ah shit shit shit I don't want to lose my bean"

mr-lazy 2023-01-15 21:29

nice entry....game mechanism is good..your own engine!!!!that's awesome!!!

jk5000 2023-01-16 15:03

I don't know how well the game is working, but it was still fun to see what you have made.

therealjtgill 2023-01-17 16:06

@chrispy977

Thank you for playing! Yes, the "harvester's" turn radius is pretty big and the beans are definitely difficult to pick up; improving the mechanics is a high priority for the next game jam. Thank you for the encouragement, and I look forward to the next jam!

therealjtgill 2023-01-17 16:07

@noobman64

Yes, you nailed it! There's a hinge-like suspension in all of the wheels - I couldn't implement the prismatic joint in time, otherwise the suspension would've felt much more familiar. Thank you so much for playing!

therealjtgill 2023-01-17 16:08

@riesyeti Thank you so much! Mechanics related to interacting with bodies in the physics engine are a high priority for the next game jam, thank you for the feedback!

therealjtgill 2023-01-17 16:09

@raivk Thank you so much! Best of luck with Harveeps!

therealjtgill 2023-01-17 16:12

@christian-zommerfelds

Thank you! Ah yes, the jumping beans spawn randomly within the map area at the start of the game... and sometimes they drop straight in the bucket. What would you think of turning the trunk of the car into a bucket that can be raised and lowered (like a garbage truck)?

therealjtgill 2023-01-17 16:13

@yahel-dooley

Thank you for playing, and apologies for the frustration the gameplay caused! Addressing the gameplay mechanics is a core focus for the next game jam and I very much appreciate your feedback!

therealjtgill 2023-01-17 16:13

@mactinite Thank you!

therealjtgill 2023-01-17 16:16

@fancyreckless

Thank you for playing! The core focus of the next jam is going to be converting difficulty into fun. I'm glad you like the resizable window, I'll consider it for the next game!

therealjtgill 2023-01-17 16:17

@nathan-varughese Thank you for playing!

therealjtgill 2023-01-17 16:17

@flatgub Thank you for your kind words!