When I was working on Ponies Among Us, I decided to use the SVG graphics from my web comic as the graphic engine. I didn't mind the lack of per-pixel graphics since it was good enough for the game.
There were some really nice things about what I did, mostly a bones-based animation system and I could change colors and shapes on the fly (I was doing a Fable-like display of your powers).
That sounds pretty cool. Any screenshots? From what you say, I'm guessing the project was abandoned?
Yeah, I tried to do too much and it was slightly beyond my skill. Okay, a lot beyond my skill, but I still want to work on it. It was for 4E6, but I ended up blowing a month on National Novel Writing Month, a month on CuteGod, then I ended up looking for a job, so the project just got shuffled away.
http://moonfire.us/blog/category/games/ponies-among-us/ (this is my blog category for it)
http://mfgames.com/comics/glorious-saber/001 (my web comic, also on hold, its short)
This is from the web comic:
This is how I was going to do the ponies...
Those are the graphics for the pony and a base figure. The following is a SVG loaded into memory and thrown on an OpenGL texture with the ability to change color of various parts (the hair in this case) dynamically. Framerate is pretty high, mainly because it is just a texture, but Rsvg+Cairo+Glitz isn't *quite* stable to go directly from SVG to OpenGl at this point.
This is just a link to the character editor I wrote for the "bones" of the figures. I got it into the OpenGL quite nicely, but I stumbled on integrating the physics into the bones part of things.
http://moonfire.us/blog/2007/12/17/some-days-i-think-i-do-too-much/I did put it on hold, but I'm hoping to get back to it some day. Mainly because it looks like so much fun to do and I like the style. I just need a bit more skills and a slightly more streamline toolchain (which I'm still working on).
Right now, the methods for getting SVG to OpenGL in a cross-platform manner are... slim.
I managed to cobble together something using Rsvg+Gdk+Tao (C# of course) and I was pretty happy with it.
Yeah. There seem to be all sorts of vector graphics libraries (Cairo, AGG...), but none of them geared towards real-time OpenGL display. I'm not even hell-bent on using SVG (though the Inkscape-as-game-editor thing you mention does sound very juicy), any library that gives me high-quality, antialiased 2D vector primitives with high framerate and integrates with a given OpenGL context would be great, but I don't know if such a thing even exists.
Speaking of it, what was the framerate like with the approach you mentioned?
I almost always frame-limit my games, but I was comfortablly getting 300+ fps on my crappy machine, even when I had a ton of things. But, given the time, I ended up doing a render to texture approach for Ponies (Rsvg+Cairo+Gdk) for a given scale and color keys. So, it wasn't much different than normal pixmap, other than I had a lot more flexibility to change color gradients or scale.
It would be nice if OpenVG (a vector graphic standard on top of OpenGL as far as I can tell) would get a bit more stable and a more streamline SVG -> OpenVG implementation existed, ideally open-sourced and/or free. But, you have to start somewhere.
Yes, OpenVG sounds interesting in theory, though I only just learned about it. Do you have any idea what the reference implementation does at all? The front page doesn't really tell me much. There seems to be a commercial implementation, AmanithVG, but that's out of the question for me.
AmanithVG is okay, I haven't had much with it and I don't like their model. There really isn't any good direct to OpenGL at this point; unless someone writes a proper OpenVG version in ANSI C.
Cairo+Glitz (OpenGL backend) looks like a really great way of doing it, but I haven't checked back on that recently. Rsvg+Cairo has a direct SVG to Cairo stuff, and when chained to Glitz would give you a direct SVG to OpenGL drawing.
You can also use the render to texture approach. Rsvg is a pretty good renderer which can put it into a Pixbuf which is very easily converted into an OpenGL texture. AGG probably could also be used, but it wasn't really C#-friendly, so I didn't really look into it.
I'm also limiting myself by the cross-platform and C#-usable, which REALLY hampers me.
Actually, the code in Running Bomb (my PGC entry) is using code that I started with Ponies. I managed to find a good polygon clipping library (GPC) and ported it to C#. That is going to be rolled back into Ponies (when I go back) for the physics layer.
Yeah, the artwork is based off of Thing Thing. :D