I've just tagged a RocRay 0.6 (https://github.com/lukewilliamboswell/roc-ray) release.
RocRay is an experimental platform for making native games and is built on raylib.
I've been using this to find and fix bugs in the new compiler and making small games as a way to exercise different features.
For now, I suggest using roc build for the optimised LLVM backend rather than roc <file> which uses the dev backend. The dev backends have noticeably lower framerates, and I suspect there are bugs that we will iron out soon.
Contributions and ideas are welcome, and feedback appreciated. Please post any screenshots or captures of your game, I'd love to see anyone trying this out. :grinning_face_with_smiling_eyes:
If anyone is interested -- I built the Physics module around a 3D projective geometric algebra just to try it out. It's fun and opinionated but probably uncommon for games :sweat_smile:
Interested to know if anyone finds that helpful.
could you elaborate on the '3d projective geometric algebra'? that sounds both very interesting and over my head
Luke Boswell said:
If anyone is interested -- I built the Physics module around a 3D projective geometric algebra just to try it out. It's fun and opinionated but probably uncommon for games :sweat_smile:
Interested to know if anyone finds that helpful.
The PGA is quite nice. Any reason you have not used static dispatch in the Physics/Math modules. Is it because it is a port of roc prior to static dispatch ?
a: Circle
a = Math.circle({ x: 0, y: 0 }, 5)
b: Circle
b = Math.circle({ x: 8, y: 0 }, 3)
# without static dispatch
Math.circle_overlaps(a, b)
# with static dispatch
a.overlaps(b)
Any reason you have not used static dispatch in the Physics/Math modules. Is it because it is a port of roc prior to static dispatch ?
I've have been working my way through reporting or fixing compiler bugs. I think at one point static dispatch was broken and this form was working... but it's probably fixed now. I have been using Claude to add more examples and basically copy the previous ones so that pattern stuck I guess. I've done a few passes over things like record de-structure, ? use and a few others but I wouldn't say the examples are idiomatic Roc or anything -- the focus has been to get a working platform and release.
kris said:
could you elaborate on the '3d projective geometric algebra'? that sounds both very interesting and over my head
It's pretty cool stuff imo -- I heard about this originally here in zulip a couple of years ago.
Basically we use a unified multivector to represent all of the geometric things like Points, Vectors, Planes, Lines, Motors etc. It's then really easy to do things like representing a point at infinity, transformations like rotation or reflection, or intersecting lines or points on a plane.
If anyone builds something cool, or feels like making PR to clean up anything -- please send them through... I've got a lot of projects I'm trying to push along and roc-ray doesn't get as much love as it could.
This is really cool. I have done a little work in raylib before. Sorry if this is the wrong place to ask but is it possible to get it running on wayland? I might be missing something simple.
I'm not sure what wayland is... give me a minute to do some research
I think I can make another URL package with wayland specific libraries in it... so there would be two published in a release.
I would be interested in using it if you did. I was planning on porting some scientific work to roc as an exercise and it is always more fun when you can display results and I like using raylib to do that when I can. I am brand new to roc but if I can help or you want to point me in a direction happy to explore.
I'll see if I can cut a release with Wayland support for you. Making some scientific graphs would be cool to see. Even if we just start somewhere primitive we can fix bugs and improve things. I like raylib because I'm confident we will be able to achieve really good performance based on some of the demos and games I see people building.
@Timothy Daniel your on a Linux x64 machine I assume
Yes I am.
@Timothy Daniel
![]()
See https://github.com/lukewilliamboswell/roc-ray/releases/tag/0.6.1
Hopefully it works :fingers_crossed: -- I haven't been able to test it manually
![]()
Works! had to make sure libxkbcommon and libwayland were on the path and install glfw. But that is standard from what I understand about running raylib on wayland. Thanks!
Last updated: Jul 23 2026 at 13:15 UTC