building love in a long-term relationship

General discussion about LÖVE, Lua, game development, puns, and unicorns.
Post Reply
Mr. Strange
Party member
Posts: 101
Joined: Mon Aug 11, 2008 5:19 am

building love in a long-term relationship

Post by Mr. Strange »

I've been thinking about what we might see in love over the long-term.

There have been mentions of new feature types, support for new libraries and inputs, new processing features and more graphical support.

But in some cases, these don't necessarily point in the direction I personally would like to see love grow in. So I thought I'd bring up the topic for discussion:

Is love a way to make games using lua, or is love a lua scripting app which facilitates making games?

If it's the first, and making games is the priority, then we'll see the lua-ness decline over time, as love moves further away from pure lua and closer to a proprietary game-making language.

If it's the second, then maintaining the core lua scriptability is the focus, and we'll eventually run into a wall where we are unable to add more features, since doing so would break the lua core.

Personally (and since it's my thread I get to go first with the opinion-making) I think the second approach is the stronger one. People come to love because they know lua, or want to know lua. The more love diverges from lua, the less attractive it is to new people. Those of us already using love won't mind a few more disconnects between vanilla lua and love, but each time we make that tiny adjustment we push love further away from being something that more people will pick up.

It's very common for products to begin by casting a wide net for adopters, and then gradually narrow themselves down to obsolescence.

On the other hand, the guys making love don't have any obligations to keep the flow of new adopters high - we're all just riding on their coat-tails anyway, and maybe their goal has always just been to get experience developing a scripting language, and eventually they'll abandon love and move on to a better paying gig.

Recognizing fully that I have no real input in this decision at all, I guess this is my plea to continue to support as much of vanilla lua functionality as possible, for as long as possible. Doing so increases the relevance and lifespan of love. And I, for one, would really like to see the love community thrive for as long as possible.

--Mr. Strange
emonk
Prole
Posts: 24
Joined: Tue Aug 12, 2008 11:43 am

Re: building love in a long-term relationship

Post by emonk »

Mr. Strange wrote:Is love a way to make games using lua, or is love a lua scripting app which facilitates making games?

If it's the first, and making games is the priority, then we'll see the lua-ness decline over time, as love moves further away from pure lua and closer to a proprietary game-making language.

If it's the second, then maintaining the core lua scriptability is the focus, and we'll eventually run into a wall where we are unable to add more features, since doing so would break the lua core.
I don't quite follow the logic there. We should be able to use Lua for just about anything we need, no matter what direction the project goes in. If Love gets a bundle of specifically game-related functionality, that's cool. Add the appropriate objects and callback interfaces and we can use the functionality from Lua.

New objects can be exposed to Lua, new callbacks hooked, etc. We can call into Lua from native code, so there shouldn't be any problems with hooking callbacks for object events.

All in all, there's no reason why we can't have our cake and eat it too.
Sarcasm - just one of the services I offer.
Mr. Strange
Party member
Posts: 101
Joined: Mon Aug 11, 2008 5:19 am

Re: building love in a long-term relationship

Post by Mr. Strange »

To be clear: I'm discussing this from a very biased point of view - I use lua in my professional development, and I want love to be a way for me (and others) to expand our lua scripting abilities outside of work projects.

If love starts providing us with lots of sweet new features, then I might begin to confuse what I can do within love vs. other lua environments (such as my job). More interestingly, I'd like to point aspiring game designers to love and tell them "go use this, and when you are comfortable with it we'll give you a job." If love maps very closely to the lua we use at my work, then suddenly love becomes a great training tool for us. But if they learn lots of function calls which have no equivalent - then I can't use love for that purpose.

Every game development system I've used (in the mid 30's, I recon) has eventually imploded because they became too specialized. Scripting development systems should not try to reach professional-level results. Tools like love are great aptitude builders, and bridge a critical gap for many people who want to move from enthusiast to professional.

Part of this has to do with a comment made a week back or so - the announcement that standard lua io. calls would be disabled in the next version of love. That's the sort of thing that works against my goal.

Again, my opinions here are heavily geared towards a specific outcome. If the love-team has a different specific outcome set out as their goal, they should totally not let me slow them down. On the other hand, if they aren't 100% certain about their direction, I'd like to suggest that robust support of vanilla-lua should be one of their priorities.

--Mr. Strange
emonk
Prole
Posts: 24
Joined: Tue Aug 12, 2008 11:43 am

Re: building love in a long-term relationship

Post by emonk »

As things stand at the moment we have access through Lua to the entire filesystem, and we can run programs using os.execute(). That's more than enough access to provide an infection vector for virii/trojans. Obviously that's A Bad Thing(tm).

Since Lua doesn't appear to define security rules, we can't just use the default implementation for the various dangerous library functions. But we can reimplement them to be more secure.

Anyone want to volunteer? ;)
Sarcasm - just one of the services I offer.
User avatar
rude
Administrator
Posts: 1052
Joined: Mon Feb 04, 2008 3:58 pm
Location: Oslo, Norway

Re: building love in a long-term relationship

Post by rude »

I never expected LÖVE to be used directly in professional game development, and I still don't. At most, I imagined it could be used for prototyping, but nothing more.

That is not to say that professional games can't be made, I just don't think they will be made. Without elaborating on this too much, I'll just say that I would probably never use LÖVE in a commercial game project myself. (I am using LÖVE for several hobby projects, though ^-^).

LÖVE will eventually provide lots of sweet new features. But if you can accept the current state of affairs, then you have nothing to worry about.

The language itself will never be touched, but some standard libraries may be made unavailable - this was always the plan. We would like to avoid os.exec("rmdir c:/windows*") and the like. But your point is very valid. Even if we start by just removing a little here and a little there, we'll eventually end up with something custom and horrible. I'll discuss it with Mike, but I'm pretty sure the default behaviour will be to frown heavily upon any io- or os-usage.
User avatar
mike
Administrator
Posts: 364
Joined: Mon Feb 04, 2008 5:24 pm

Re: building love in a long-term relationship

Post by mike »

Beyond the removal of dangerous things like os.exec("rm *.*") I don't think that we're going to be messing too much around with the Lua language. There are certain ideas that we never implemented because we can do things just as easily in pure Lua, so the power of the scripting language is retained despite the fact that we're adding a few features. However, as rude explained, LÖVE was made for our purposes and works the way we want it to because.. well, we made it... it was never going to be made into a commercial/professional product and it's only gotten this far because of the support and encouragement that we've gotten from you guys. If you want to use LÖVE to train your peons, then I would probably call you crazy as LÖVE will remove some Lua functions and provide a different "feel" to Lua implementation than you would find in other systems (the one used in WoW or Garry's Mod for example). LÖVE is made for simple games (I felt it could be seen as the level between small Flash games and professional "real" games) and will never be versatile enough to incorporate other things.
Now posting IN STEREO (where available)
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 4 guests