{"action":"created","issue":{"url":"https://api.github.com/repos/xxuejie/mruby-gles/issues/2","labels_url":"https://api.github.com/repos/xxuejie/mruby-gles/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/xxuejie/mruby-gles/issues/2/comments","events_url":"https://api.github.com/repos/xxuejie/mruby-gles/issues/2/events","html_url":"https://github.com/xxuejie/mruby-gles/issues/2","id":12546072,"number":2,"title":"Sample Code","user":{"login":"ashes999","id":18432,"avatar_url":"https://avatars.githubusercontent.com/u/18432?v=3","gravatar_id":"","url":"https://api.github.com/users/ashes999","html_url":"https://github.com/ashes999","followers_url":"https://api.github.com/users/ashes999/followers","following_url":"https://api.github.com/users/ashes999/following{/other_user}","gists_url":"https://api.github.com/users/ashes999/gists{/gist_id}","starred_url":"https://api.github.com/users/ashes999/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ashes999/subscriptions","organizations_url":"https://api.github.com/users/ashes999/orgs","repos_url":"https://api.github.com/users/ashes999/repos","events_url":"https://api.github.com/users/ashes999/events{/privacy}","received_events_url":"https://api.github.com/users/ashes999/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2013-03-28T02:24:55Z","updated_at":"2015-06-11T13:35:44Z","closed_at":"2015-06-11T13:11:50Z","body":"Hi,\r\n\r\nWould it be possible to get a small sample project code to see how this works?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/xxuejie/mruby-gles/issues/comments/111137433","html_url":"https://github.com/xxuejie/mruby-gles/issues/2#issuecomment-111137433","issue_url":"https://api.github.com/repos/xxuejie/mruby-gles/issues/2","id":111137433,"user":{"login":"xxuejie","id":340446,"avatar_url":"https://avatars.githubusercontent.com/u/340446?v=3","gravatar_id":"","url":"https://api.github.com/users/xxuejie","html_url":"https://github.com/xxuejie","followers_url":"https://api.github.com/users/xxuejie/followers","following_url":"https://api.github.com/users/xxuejie/following{/other_user}","gists_url":"https://api.github.com/users/xxuejie/gists{/gist_id}","starred_url":"https://api.github.com/users/xxuejie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xxuejie/subscriptions","organizations_url":"https://api.github.com/users/xxuejie/orgs","repos_url":"https://api.github.com/users/xxuejie/repos","events_url":"https://api.github.com/users/xxuejie/events{/privacy}","received_events_url":"https://api.github.com/users/xxuejie/received_events","type":"User","site_admin":false},"created_at":"2015-06-11T13:35:44Z","updated_at":"2015-06-11T13:35:44Z","body":"@ashes999 I'm just speaking my thoughts loud here :)\r\n\r\nIn addition, with all those advancements in Vulkan, Metal, DirectX, etc, as well as my growing knowledge and preference for [data oriented design](http://www.dataorienteddesign.com/dodmain/), I now wonder if it is the right way that we expose OpenGL ES API directly to mruby.\r\n\r\nOn the one hand, less and less games are running on OpenGL these days(in fact the only significant platform running OpenGL I can think of is Android). With the diversity of graphics APIs, maybe we should have a low-level layer of code talking directly to OpenGL ES, Metal or whatever interface, and then expose that layer as API to Ruby.\r\n\r\nOn the other hand, Ruby is never a programming language designed for performance, perhaps it might be better to keep Ruby at a higher level as a scripting language for a game engine, which the engine itself is written in C/C++ or [Dart](https://news.ycombinator.com/item?id=9475825) talking to OpenGL ES, Metal or whatever low-level interface. This way the engine part can leverage whatever optimizations we might have for the bare-metal, and we can then enjoy the elegance of Ruby as a programming language for writing games.\r\n\r\nSo instead of `mruby-gles`, I really do think what we need here, is something like [love2d](https://love2d.org/) or [OpenFL](http://www.openfl.org/), but tailored for Ruby. Should that project exists, I will be more than happy to help port that platform to webruby. But the cruel truth is: we are still waiting for that project.\r\n\r\nGiven my awkward little experience on game programming, I'm never the person suitable for writing and maintaining such a big project. So what I can do here, is also to wait for some more time :)\r\n\r\nTBH, my interest these days, has shifted from using webruby as a game medium to an education platform: with a growing number of people using Chromebooks, won't it be cool if we can build certain apps for them that they can use to write code and get feedback directly in the browser? No plugin is needed in this case, even an Internet is not an requirement(everything runs in the browser JS engine)! This is what I'm thinking right now, instead of trying to create games based on Ruby, and bare-metal OpenGL ES. The bar here is just too high, since your competitors might be using Unity or Unreal.\r\n"}}