@pfeodrippe Vibe is super cool. Thought I'd see if I could get some gamepad inputs monitoring and it worked โจOf course I immediately ran into my first issue ๐ . The gamepad inputs seems to have a hard coded deadzone. Is this something that forces a raylib recompile? https://github.com/raysan5/raylib/blob/master/src/external/RGFW.h#L5665 How do I handle it?
Thanks o/ Yeah, it would require a recompilation. Which OS do you use? As you may try it locally first by cloning vybe and running the jextract script in the bin folder. Vybe has GitHub actions jobs setup to compile everything automatically, so you can see the dependencies needed, but it should be basically be zig and jextract, let me know o/
Then, you can point the Deps to your local vybe as the commented out :local/root at https://github.com/pfeodrippe/vybe-games/blob/main/deps.edn#L24
You can also try some Java or clj libs like https://github.com/williamahartman/Jamepad if needed, in Java the APIs are much better than in C when you need to change some default ahahahaah
Whoops, misspelled Vybe ๐
. Gonna take me a while. Thanks for confirming. I think I'm going to open up a feature request for Raylib. This won't just affect Vybe but also JS and Python bindings. Moreover, in FPSs it should be up to the user, not the designer to set their deadzone. Likewise for users with old drifty controllers. Therefore I think it's a fundamental flaw of Raylib. In the meantime I can live with it ๐ฌ. If it comes to that I'll local/root it as you say and recompile.
Nice, let me know of anything \o The local build process should be straightforwards (as you should need to call only the jextract-libs.sh script and then start the game), you can also let GH actions do it for you and deploy to clojars lol
For reference https://github.com/raysan5/raylib/issues/4405. hehe
Nice, thanks! They want to add more #define tags ahahahaha well, we can create our own raylib fork (which we already do anyway in vybe) and do the more flexible approach if they donโt
Probably not a consideration for you, but I just thought to make you aware of https://pub.dev/documentation/raylib/latest/ . If Vybe's API could mindfully keep in sync/wrap/re-implement with something that could run on ClojureDart, you'd have a seemless path for mobile game development. Obviously stuff like Panama and other JVM based APIs would be out. Yes Raylib doesn't run on iOS at the moment... but there is Vulkan and SDL2 work being done.
Nice! Yeah, this is another world, for sure. If I had to do this, I guess I would try to use something lower-level like Zig (Iโm writing a flecs wrapper similar to the Clojure API for it at https://github.com/pfeodrippe/vybe/blob/develop/zig_src/vybe/flecs.zig#L973). The idea, in the future, is that we can generate zig code and dynamically compile it for a systemโฆ but it will take a while ahahaha Another alternative is to compile it down to wasm, which should be run in every foreseeable consumer device
Re: the deadzone, I can commit the fix into our fork, so you can have it working properly
I am not a professional gamedev, so take everything I say with a grain of salt ahahaha
I'm not completely understanding the Zig angle. Wouldn't that sacrifice live coding?
This is for when you have a well-defined system and you need some extra performance. And, in theory, you can also hot reload the zig code itself as itโs just a DLL for the JVM, but this hot reloading is for the far future if needed
When you are testing things out, do it in CLJ, yes o/
Yeah completely get rewriting stable bits of the system in some lower level language.
It's not where I want to live though ๐
Me neither ahahahah let the application tell you when needed o/ Optimizing early , specially for a game, is a sure way to make very slow progress
*optimizing early
Love that the original Bandikoot was written in a bespoke Lisp with live coding!!! ๐ฆ
Wow nice, didnโt know that
Andy Gavin is a hero! Naughty Dog would still be a Lisp shop if he hadn't sold it to Sony. Link to timestamp but the whole interview is great https://youtu.be/pSHj5UKSylk?t=5893