At 6/27/12 11:58 AM, PrettyMuchBryce wrote:
What framework are you using ?
We're using the Love framework which is really awesome.
At 6/27/12 11:58 AM, PrettyMuchBryce wrote:
I have always thought of this as a really smart thing to do. I wouldn't totally rule it out. Do you have any concrete examples of when it didn't work ?
Almost every single flash developer that has moved onto downloadable games has tried that and they all say the same thing, it doesn't really boost sales by all that much.
Also, about my rant about C++ being not a good language to use for 2D games...I take that back.
The more I use Lua and other languages/setups, the more and more I realize why C++ is so awesome. The only reason I haven't switched back to C++ is because there isn't (or I haven't found) a framework that is as flexible as the Love2D framework, or as flash. Something that has built in rendering, sounds, physics, events and ties that all together easily so I don't have to spend weeks or months making my own framework before starting on the actual game.
One major feature of C++ is portability. Lua is loose as a goose. Variables don't have types, there are no braces and there's no real OOP. After using Lua for a month or so I can only describe C++ as "beautiful" now. Sure it's not the best language for quick prototyping, but if you want something solid, it's not the speed of performance of C++ that's attractive to me, it's all the features the language has.
I mean pointers alone are very much worth using C++ for. At first when I was learnign C++ and realized that there were two kinds of variables "normal" variables and "pointers" I thought it was really cumbersome and a really bad feature. But after getting back to Lua and AS3 in this game jam, I'm amazed these languages DON'T have pointers.
It's like when you do:
var myVar:Number = 12;
var otherVar:Number = myVar;
Now I found myself asking. Did I just pass a value to otherVar? Or did I pass a reference? So if I do
otherVar = 1
Will that change myVar too? No it won't. So you just passed a value. Conversely:
var mc:MovieClip = new MovieClip();
var ho:MovieClip = mc
ho.x = 100
trace(mc.x)
Now this will output 100, even though you changed that property of ho and not mc. So what you passed was a reference to the mc. As in, you didn't pass the value, you passed its address in memory, and that is what they call a "pointer".
So the fact that you can control when to pass something as a reference and when as a pointer is immensely helpful. And so are all the powerful OOP features.