[Submitted] Proposal on a Ruby wrapper project

Threads related to Google Summer of Code
Post Reply
juozasg
Kobold
Posts: 35
Joined: Sun May 07, 2006 7:13 am

[Submitted] Proposal on a Ruby wrapper project

Post by juozasg »

Since Sinbad mentioned that minor changes to our proposal are still allowed, and news from Google could get delayed for a bit longer, I'd like to post my actual Google proposal for comments and queries. It's the same idea as before, but more concretely described.

OGRE 3D Summer of Code Proposal
by Juozas Gaigalas <juozas@csh.rit.edu>
May 8, 2006

PROPOSAL
This proposal describes a 12 week long project, named RubyOgre, that wraps OGRE 3D engine with Ruby programming language. The OGRE API will be accessible through Ruby, handing OGRE functionality to programmers unfamiliar or uncomfortable with C++. Like other OGRE wrappers, RubyOgre will be distributed as a part of “ogreaddonsâ€
Last edited by juozasg on Sat May 20, 2006 11:55 am, edited 3 times in total.
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66
Contact:

Post by sinbad »

This sounds like a reasonable project, although perhaps a little ambitious for a summer project - but your existing experience will mitigate that somewhat I expect. You should probably set yourself milestones for subsets of functionality to expose so you can concentrate on doing the most important things first.

I believe other addons which used SWIG (inc PyOgre?) had to do a bit of hacking for specific classes but the majority used the regular generation route. I'm not that experienced in this aspect though, it's been many years since I last used SWIG.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

I think it would be good to leverage exsisting work in this area.
The pyOgre project already has SWIG interface files, and they are willling to accept support for other languages.
The quirks and modifications for each language could be implemented through conditional defines.
Well, I'd love to see a Ruby wrapper! :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
martyn
Halfling
Posts: 45
Joined: Wed Dec 21, 2005 6:40 am

Post by martyn »

Hi juozasg.
I hope you can benefit from some of the work we've already done.

We use an indirect Ruby wrapper in our project shattered.
http://www.shatteredruby.com

The part that is wrapping Ogre is called ShatteredOgre. On top of that we built ShatteredView, to define things in a ruby-esque way.

If you were to make a good direct(or indirect) Ogre wrapper though, using any of our stuff or not, we would look at replacing our core ShatteredOgre with your stuff and name it after you :-)

You're talking about a more direct wrapper for Ogre than ShatteredOgre, but at the very least we already have the rakefiles built for you. It includes swig code generation on multiple platforms (you probably don't want to use scons, which is python, and what pyOgre uses :-)).

I think our project might save you some time. At the very least we could communicate and both our projects will probably be better for it. ;-)
juozasg
Kobold
Posts: 35
Joined: Sun May 07, 2006 7:13 am

Post by juozasg »

This is cool. I saw your project when I was researching current Ruby/Ogre efforts. My goal for this project is to make a direct wrapper over Ogre with Ruby syntactic frostings. My personal long-term goal is to use RubyOgre to implement my own game ideas. I was thinking about rolling my own game engine once RubyOgre is done, but Shattered framework also looks very interesting. Either way, it would be very useful to have an unified direct Ruby wrapper for Ogre.

I would like to take some of your Rake code and your help to set up more friendly (and more platform independent) interface file generation and wrapper compilation. What I had in mind right now is just a collection of Ruby scripts and static Makefiles.
martyn
Halfling
Posts: 45
Joined: Wed Dec 21, 2005 6:40 am

Post by martyn »

juozasg wrote:This is cool. I saw your project when I was researching current Ruby/Ogre efforts. My goal for this project is to make a direct wrapper over Ogre with Ruby syntactic frostings. My personal long-term goal is to use RubyOgre to implement my own game ideas. I was thinking about rolling my own game engine once RubyOgre is done, but Shattered framework also looks very interesting. Either way, it would be very useful to have an unified direct Ruby wrapper for Ogre.

I would like to take some of your Rake code and your help to set up more friendly (and more platform independent) interface file generation and wrapper compilation. What I had in mind right now is just a collection of Ruby scripts and static Makefiles.
I'd have to learn more about the approach you wish to take, it sounds very interesting!

The approach we have right is using a collection of rake files, and it works pretty well for us, but we are open minded if there is a better way of doing it. We have support for Mac and Windows, and Linux would be supported if any of our developers used it.

We'd really like to hear your ideas on ruby-centric game frameworks! We have a whole lot of good discussion going on in our forums:
http://forum.shatteredruby.com

It sounds like we have similiar goals. I think if we can find common ground we will both benefit from it :-)
User avatar
Wretched_Wyx
Orc
Posts: 498
Joined: Thu Mar 16, 2006 5:27 pm
Contact:

Post by Wretched_Wyx »

I would very much like to see a Ruby wrapper for Ogre, one that is well developed at that. I say roll with it if you know you can do it! I know alot of other people would be interested, if not ecstatic to see something like this grow to a mature and stable project. Best of luck to you!

*tips beer in your honor*

(Why do I always do that... I've ruined my carpet now.)
gmh33
Gnoblar
Posts: 2
Joined: Wed May 17, 2006 7:26 am

Post by gmh33 »

I'm new to the 3D scene entirely, and fairly new to game programming. I would LOVE to have a Ruby wrapper for OGRE. I absolutely love the language and, as you mentioned, YARV is very nice. I don't know C++ yet (I know C well, close enough I guess? :P), and I don't much like the other languages which are currently wrapping OGRE (Pythong, Java and .NET). When scouring the internet and finding very little in ways of Ruby bindings to either C++ or Ogre (The C++ bindings are basically the same as the C bindings.. but SWIG would be a better option if running that route I've been told), I finally found this thread (and is why I joined the forums, though that was bound to happen sooner or later).

Anyway, I'd love to see this project move forward. Ruby is one of my favorite languages to work with. I was prompted to write an OGRE wrapper myself when asking around, though wouldn't know where to start or what to do. Regardless, I'd be willing to contribute in any way that I can. Get a nice "break" from college to work full time for 9 months on a coop (long internship), so I won't have homework to worry about. Again, not overly familiar with this type of work, but whatever I can do to help. It'd be a good way to break up the mind numbing work of learning how to model using Blender 3D :wink:.

Sorry if that was overly ranty.
juozasg
Kobold
Posts: 35
Joined: Sun May 07, 2006 7:13 am

Post by juozasg »

Just updated the original post to the full proposal for comments and questions.
Chaduke
Gnoblar
Posts: 5
Joined: Mon Mar 06, 2006 6:07 pm
Location: Lafayette, LA
Contact:

Post by Chaduke »

It'd be a good way to break up the mind numbing work of learning how to model using Blender 3D
Have you looked at Wings3d yet? For modelling I found it easier to learn than just about any other 3d package out there. The UV mapping is not too bad either.
shevegen
Gnoblar
Posts: 17
Joined: Fri May 13, 2005 6:21 pm

Post by shevegen »

What happened to it?
User avatar
haffax
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 4823
Joined: Fri Jun 18, 2004 1:40 pm
Location: Berlin, Germany
x 7
Contact:

Post by haffax »

Proposal was just under the cut line of approved projects and thus did not get sponsored by google. We haven't heard any more about it since then.
team-pantheon programmer
creators of Rastullahs Lockenpracht
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

Most of the work is done already.
Well, almost: The PyOgre project has a lot of SWIG interface files which could be modified to support both Python and Ruby.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
shevegen
Gnoblar
Posts: 17
Joined: Fri May 13, 2005 6:21 pm

Post by shevegen »

That sounds promising at least, I already thought it faded into darkness :)
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

Ask haffax about their use of Ruby in Rastullahs Lockenpracht. :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
juozasg
Kobold
Posts: 35
Joined: Sun May 07, 2006 7:13 am

Post by juozasg »

I was planning to continue working on this during last year, because my current personal project uses Ruby and Ogre, but I didn't have enough free time to do properly. Instead I wrapped key parts of Ogre with some heavy abstractions that would not be useful to many people.

I wanted to resubmit this project for 2007 SoC and work on it full-time, but I don't think it's a part of the core need and I would rather do something more practical (and more likely to be picked up).
User avatar
Blakharaz
Gnoblar
Posts: 19
Joined: Wed Jun 02, 2004 8:51 pm
Location: Potsdam, Germany

Post by Blakharaz »

RubyOgre could be nice for prototyping. Maybe it even could be extended to a complete game engine, but this could be out of scope for SoC. And surely haffax or some others of our team can help mastering the interesting features of SWIG and Ruby, director classes, typemaps, implementation of GC features.
Coder in the Pantheon team - creators of Rastullahs Lockenpracht
User avatar
sinbad
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 19269
Joined: Sun Oct 06, 2002 11:19 pm
Location: Guernsey, Channel Islands
x 66
Contact:

Post by sinbad »

This is one of those things that's really nice, but when it comes down to it core enhancements and tools have a higher priority, and last year we had far more applications than we could accept. Things on the Ideas page are the most likely to be accepted, unless you submit something else which is just as valuable in a core way which we just haven't thought of.
Post Reply