HellRok / Taylor

A simple game engine built using raylib and mruby
https://www.taylormadetech.dev
MIT License
97 stars 6 forks source link

Set of Taylor changes #16

Open awfulcooking opened 1 year ago

awfulcooking commented 1 year ago

Hey. These changes came about when hacking to make #17 .

See the commits for details..

Hopefully some are useful.

HellRok commented 1 year ago

This is amazing, thank you for doing this! I won't have a chance to get this merged until early June but I'm very keen to.

I am curious how you found the experience of developing Taylor as I think you're probably the first person other than me to have a crack.

awfulcooking commented 1 year ago

Hey, no worries. I found it tricky to get everything compiled right. I see the Docker based automation but I didn't have resources (mainly disk space) to use it, so was compiling directly on my Debian 11 system.

I got there in the end, but had to change some compiler arguments. And I think I may have changed the mruby-require implementation to one that offers the $" (usually aliased to $LOADED_FEATURES - the files that have been required) variable.

Other than that it's quite a pleasant experience and it's nice to see the C++ code I would have found difficult to write, there and working, and cross-platform.

Raylib is an attractive microlibrary to build on

I do have some API ideas that might differ. For instance, to add the Ruby methods to modules organised by their task:

Display.get_resolution rather than get_display_resolution, etc

But it would be okay to coexist and still help each other, if we don't find whole agreement!

HellRok commented 1 year ago

I'm glad you managed to get it working! And yeah, the annoyance of getting it working on a local machine was the inspiration behind the docker based workflow.

I see you also commented on #11 so you know that I do plan to clean up the global namespace, I just want to get the shaders implemented before I do the big namespace cleanup and remove as much as physically possible from it.

awfulcooking commented 1 year ago

Hey, mostly just housekeeping. Added the gem changes to the build config for all platforms, then did a full rebuild using Docker.

I'd squash / elide some of the commits, but don't want to give you trouble if you've already got a checkout :-)