Hello! I'm a big Lua fan and Gideros is a really great project. The open source nature of Gideros got me thinking of adding a new scripting language. I'm particularly interested in forking Gideros and implementing Wren. The only thing is I've never really messed with an open source project and there isn't many pointers I can find in understanding how Gideros is laid out and compilation etc etc.
I've messed with C++ and can generally read it as long as I have some documentation pulled up. I'm usually a quick learner if I can get a good start. If anyone can lead me in the right direction or if Gideros is even set up in a way to make this practical, it would be much appreciated!
Comments
Fragmenter - animated loop machine and IKONOMIKON - the memory game
2. Wren is a language I have recently discovered and it is commonly compared to Lua due to its goal in being small and performant. I personally really like the design of Wren, but its not widely adopted. afaik the only places its really being implemented is the Luxe engine which is just hitting release 1.0 and toyengine (a C++ game framework) has plans to implement it. So i'd like to breathe some life into Wren by adding support to it in Gideros.
I'm not really trying to imply Lua is insufficient, this is more of a learning thing for me that hopefully will result in a productive end product for people to use if they wish.
Likes: keszegh
http://giderosmobile.com/DevCenter/index.php/Gideros_plugins
Likes: Shadowraix
https://play.google.com/store/apps/developer?id=razorback456
мій блог по гідерос https://simartinfo.blogspot.com
Слава Україні!
Likes: Shadowraix
https://deluxepixel.com
1. How does a plugin initialize? From one of the forum threads on there they interfaced with Lua and called functions through that after a "require" will a plugin run on startup so I can have it track down the main file and start interpreting Wren code?
2. Assuming I become familiar with Wren's C/C++ API how can I access Gideros' API in C++ so that I can create a binding of sorts to implement int oWren?
and there is still some outdated documentation
https://docs.google.com/document/pub?id=149g_P1YlE4_6v_hHbFx3YAaYpdU0HoM70XJSLTE38ww#h.6x0eblw70xbq
Likes: Shadowraix
https://play.google.com/store/apps/developer?id=razorback456
мій блог по гідерос https://simartinfo.blogspot.com
Слава Україні!
Likes: oleg
https://deluxepixel.com
Dislikes: Yan
I hope you'll make basic integration and benchmark Wren vs Lua in Gideros, how they perform in a game project (I guess results will be different from synthetic benchmarks, maybe Wren will make even greater difference).
It's really interesting.
"What one programmer can do in one month, two programmers can do in two months." - Fred Brooks
“The more you do coding stuff, the better you get at it.” - Aristotle (322 BC)
@Apollo14 Wren appears to be faster than Lua. It looks like it doesn't support true concurrency (same a Lua), but it seems to imply it does at first glance.
It's also created by a games coder, so +1 from me for it as a second script system maybe.
Likes: Shadowraix
https://deluxepixel.com
Well, its a matter of getting some solid information then. If I can access the Gideros API with the plugin system in C++ then I can see it being feasible. Otherwise it'll be quite a road ahead ahha.
Hopefully somebody here can lead mein in the right direction.
https://github.com/gideros/gideros/tree/master/luabinding
You could start with making debug work correctly (so you can output to the console), the file io redirection, etc then add the applicationapi binding and go from there.
https://deluxepixel.com
An alternative idea:
It is possible that Wren could run on a completely different thread to Lua, it could 'talk' to Lua that runs in the main thread and that then talk to Gideros under the users code control. That way it could be a plugin I suppose, it would also use spare unused processing time so it would be a nice plus.
https://deluxepixel.com
Probably the first step will be to be able to compile gideros by yourself, and then you will be able to tinker with code and understand how it works
Likes: SinisterSoft