Re: Is LÖVE really necessary?
Posted: Wed Feb 18, 2009 8:42 am
LÖVE is, I think, necessary. It fills the niche of an easily distributable cross-platform engine. It uses a well-designed embeddable language that's easy to understand. It's early in it's maturity, but, um, that's why it's version 0.5.0.
For me, LÖVE doesn't compete with pygame, it replaces pygame. The main problems with pygame is that it's difficult to make something that a) works, and b) scales well. Python projects have a way of scaling way out of proportions into a deathmarch really fast. (Take a look at Trac and Zope/Plone if you want a really good example...) Most people who are creative enough to develop and implement a game that's going to play well and be successful are not the type that can program in Python; most of the people who program in Python have the aesthetic sense of a computer nerd. See also: Design of PyGame homepage.
My main thing with LÖVE is that it's still a pretty blank slate, and I'm not that good of a deep level programmer. We've seen lots of widget libraries and helper tools pop up in the short amount of time that LÖVE has been around. What I can't find (but again, I'm a newbie) is places where the developers have taken some of those ideas and dug through them for things that can be integrated into the core. I also think that if the core developers released small incremental new versions more frequently, we'd see more action.
Two good examples of "how to do it" are Zend Framework's release cycles -- given the x.y.z version system that LÖVE and ZF share, the ZF team releases a .z version at least once a month. Another good example of how to do it (but with a lot of documentation fail) is the Dojo Toolkit for javascript. They have the core Dojo, the Dijit UI toolkit, and the DojoX experimental extensions.
Does LÖVE need to be 3d? Hell, no. There's so many good reasons not to be.
Does it need to be fast? Well, that's kind of the definition of a game. Lua's got some good functionality here (I've been looking into putting some of my light-cone/vector game logic into coroutines that can be polled from the core) that could be leveraged, but that's something that the community needs to help the developers with.
Is there space in the market for it? Yes. If you look around, you find that most independent game developers have a framework in C++ or another high-end fast language that they've built themselves, or they mutter and grumble along with something else that will "do" until they make it big. So far, LÖVE seems to scale better and is faster to develop in than most of the prototyping tools used in the main game development arenas. And those are usually all limited platform-wise, or you have to do stupid voodoo to get them cross-platformed. LÖVE does that out of the box. That's impressive.
In short: LÖVE serves an under-served community that wants to produce good looking cross-platform 2d games with a minimum of coding knowledge. Sure, most of the early games are going to be in the form of casual games, because that's what can be produced quickly and it's still young as a technology. As you see bigger projects arrive on the scene, I think you'll see more depth to the contributions that get put back into the community.
Now, back to your grindstones, devs...
For me, LÖVE doesn't compete with pygame, it replaces pygame. The main problems with pygame is that it's difficult to make something that a) works, and b) scales well. Python projects have a way of scaling way out of proportions into a deathmarch really fast. (Take a look at Trac and Zope/Plone if you want a really good example...) Most people who are creative enough to develop and implement a game that's going to play well and be successful are not the type that can program in Python; most of the people who program in Python have the aesthetic sense of a computer nerd. See also: Design of PyGame homepage.
My main thing with LÖVE is that it's still a pretty blank slate, and I'm not that good of a deep level programmer. We've seen lots of widget libraries and helper tools pop up in the short amount of time that LÖVE has been around. What I can't find (but again, I'm a newbie) is places where the developers have taken some of those ideas and dug through them for things that can be integrated into the core. I also think that if the core developers released small incremental new versions more frequently, we'd see more action.
Two good examples of "how to do it" are Zend Framework's release cycles -- given the x.y.z version system that LÖVE and ZF share, the ZF team releases a .z version at least once a month. Another good example of how to do it (but with a lot of documentation fail) is the Dojo Toolkit for javascript. They have the core Dojo, the Dijit UI toolkit, and the DojoX experimental extensions.
Does LÖVE need to be 3d? Hell, no. There's so many good reasons not to be.
Does it need to be fast? Well, that's kind of the definition of a game. Lua's got some good functionality here (I've been looking into putting some of my light-cone/vector game logic into coroutines that can be polled from the core) that could be leveraged, but that's something that the community needs to help the developers with.
Is there space in the market for it? Yes. If you look around, you find that most independent game developers have a framework in C++ or another high-end fast language that they've built themselves, or they mutter and grumble along with something else that will "do" until they make it big. So far, LÖVE seems to scale better and is faster to develop in than most of the prototyping tools used in the main game development arenas. And those are usually all limited platform-wise, or you have to do stupid voodoo to get them cross-platformed. LÖVE does that out of the box. That's impressive.
In short: LÖVE serves an under-served community that wants to produce good looking cross-platform 2d games with a minimum of coding knowledge. Sure, most of the early games are going to be in the form of casual games, because that's what can be produced quickly and it's still young as a technology. As you see bigger projects arrive on the scene, I think you'll see more depth to the contributions that get put back into the community.
Now, back to your grindstones, devs...