Object systems or LÖVE should have one

General discussion about LÖVE, Lua, game development, puns, and unicorns.
User avatar
Hexenhammer
Party member
Posts: 175
Joined: Sun Feb 17, 2013 8:19 am

Re: Object systems or LÖVE should have one

Post by Hexenhammer »

Second (and hopefully final) addition.

I think a good description of LÖVE given your philosophy would be "minimalist Lua game framework". If THAT were the sales pitch on the front page I would have never suggested adding a class and container library. Obviously it would be out of the scope of such a project, but it would have been very much within the scope of "easily make games". I have used SDL for years and never had the idea to suggest any additional features there.. because it was clear what SDL was meant to be.

I actually appreciate a "minimalist Lua game framework". It's exactly what I need right now (as I said I have my own class lib now and don't want to switch). However, to use a horrible Linux distro analogy, you dress like Ubuntu while you have the philosophy of Slackware.

"Minimalist game framework" attracts a different - more technically adept - audience than your current pitch which is all "easy! friendly! make games!". Read your own forum, most people here know very little about programming. They don't simply throw in whatever libraries they like or want to write their own. They want to make games and they use what's available (again the Lua table drama) or randomly try Lua libs they can find.. with vastly suboptimal results.

Seriously, change the description to "Minimalist Lua game famework" and drastically reduce the number of misguided suggestions caused by the fact that many of your users are ignorant about your actual project goal because of the misleading presentation.
User avatar
slime
Solid Snayke
Posts: 3132
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: Object systems or LÖVE should have one

Post by slime »

Lua's own philosophies are implied when Lua is mentioned. It's not the responsibility of the LÖVE website to explain Lua's philosophies. If LÖVE took a drastically different direction from Lua then it would be worth mentioning, as it wouldn't be implied.

Try not to triple-post in the future...
User avatar
kikito
Inner party member
Posts: 3153
Joined: Sat Oct 03, 2009 5:22 pm
Location: Madrid, Spain
Contact:

Re: Object systems or LÖVE should have one

Post by kikito »

Lua is object oriented. It has an object system. LÖVE uses it.

Lua does not have "Classes". LÖVE doesn't have them either (it's not even alone there, javascript is the same).
I think a good description of LÖVE given your philosophy would be "minimalist Lua game framework".
I disagree.

People who have no idea about programming can cope with a class-less language just fine. Surely at the beginning their code will be sub-optimal. But adding classes on will not solve that! Their code will still be terrible. The reasons why a beginner's code is bad are wider than a simple language paradigm choice. If anything, their code might be a bit worse, since they would have more concepts to learn ("Now that you have learned Lua, this is how you make a class and an instance in LÖVE").

I propose that if LÖVE ever changes its philosophy to have classes built-in, its message gets changed to "A Lua grame framework with Classes".
When I write def I mean function.
User avatar
Hexenhammer
Party member
Posts: 175
Joined: Sun Feb 17, 2013 8:19 am

Re: Object systems or LÖVE should have one

Post by Hexenhammer »

slime wrote:Lua's own philosophies are implied when Lua is mentioned.
I beg to differ. It is not a common attitude that the programming language used is assumed to define a project so much - including for Lua projects. But the visitors of your website largely know nothing about "Lua philosophy" anyway, so it would be misleading even if one accepted your library design description standard.
It's not the responsibility of the LÖVE website to explain Lua's philosophies.
Certainly not. But you should try not to mislead people and give an accurate description of the project and its goals. I mean, leave things as they are. It's not really my problem. Again it would be in your best interest to do it because it would reduce the number of misguided feature requests.
User avatar
markgo
Party member
Posts: 190
Joined: Sat Jan 05, 2013 12:21 am
Location: USA

Re: Object systems or LÖVE should have one

Post by markgo »

With the coming of 0.9.0, I cannot think of anything (important) that cannot be done in LOVE. Trivial things such as classes would be silly to implement and force on everyone a certain style of programming. For example, the old LOVE had a animation module but that was dropped since animation can be implemented easily in Lua. In conclusion, I believe you are misinterpreting LOVE's philosophy as minimalism; from what I've seen, it's more like if it's painfully slow to do in pure Lua, it will be included in LOVE.
User avatar
T-Bone
Inner party member
Posts: 1492
Joined: Thu Jun 09, 2011 9:03 am

Re: Object systems or LÖVE should have one

Post by T-Bone »

The beauty of Lua is the freedom it gives you. Any problem can be solved in a variety of ways, allowing each programmer to find a solution that makes sense for them. If LÖVE every had a class system built in, I (and many others) simply wouldn't use it. Honestly, I can't think of any case where you'd need anything more than a simple "inherit" function like this

Code: Select all

function inherit(a,b) --let's a inherit from b
    setmetatable(a,b)
    b.__index = b
end
But that's just my style of coding.
User avatar
Inny
Party member
Posts: 652
Joined: Fri Jan 30, 2009 3:41 am
Location: New York

Re: Object systems or LÖVE should have one

Post by Inny »

Lets not forget that Love does have a pretty nice library of code that you can pull from on the Libraries page, and on the Snippets page of the Wiki. As Love is a community, It's the optional responsibility of everyone involved to donate some code.
User avatar
Plu
Inner party member
Posts: 722
Joined: Fri Mar 15, 2013 9:36 pm

Re: Object systems or LÖVE should have one

Post by Plu »

When I ran my first project in LÖVE, I included the 30log library, which literally took like 5 minutes to find, include and use.

But it's not even required... my current project uses even less class based stuff and I'm just using pure Lua and some tables to get things working. I like the freedom it gives. Personally I think that letting people figure out everything for themselves except the stuff that´s both slow and really complicated and basic is a good choice. It makes LÖVE an excellent choice for people who want to really learn how to build games.

As nice as it is if someone has pre-chewed everything, you won't actually learn anything. Building your own simple object class in a few hours teaches you more about object design than working with an existing library for a few weeks. Actually building a platform game starting with your own physics implementation teaches you a lot more than just clicking on together in gamemaker.

I find LÖVE to be incredibly educational, and that's a trait you don't see in many modern languages. It almost seems designed to teach you by letting you fiddle around, where other languages and programs teach you by making you sit through weeks of tutorials to show you every button and every little thing someone else has already built for you before you can actually try to mess around with it.

For many other languages, learning them is a chore. Learning to use LÖVE is a fun game in itself.
User avatar
Hexenhammer
Party member
Posts: 175
Joined: Sun Feb 17, 2013 8:19 am

Re: Object systems or LÖVE should have one

Post by Hexenhammer »

T-Bone wrote:The beauty of Lua is the freedom it gives you. Any problem can be solved in a variety of ways, allowing each programmer to find a solution that makes sense for them.
That is true for all programming languages except those which were deliberately designed to restrict the programmer e.g. Java and ADA. Lua actually makes many decisions for you and forces a pretty immutable structure on you. It only feels "free form" compared to something like Java. If you want "freedom" look at Forth, LISP or C.
If LÖVE every had a class system built in, I (and many others) simply wouldn't use it.
Why exactly? Did you miss that I said it should be an optional component? Nothing would stop you from using another class lib. Not that I am still arguing for including one. Now that the actual project goal of LÖVE is clear to me I fully agree that a standard class and container lib does not fit into the concept.
User avatar
T-Bone
Inner party member
Posts: 1492
Joined: Thu Jun 09, 2011 9:03 am

Re: Object systems or LÖVE should have one

Post by T-Bone »

Hexenhammer wrote:
T-Bone wrote:The beauty of Lua is the freedom it gives you. Any problem can be solved in a variety of ways, allowing each programmer to find a solution that makes sense for them.
That is true for all programming languages except those which were deliberately designed to restrict the programmer e.g. Java and ADA. Lua actually makes many decisions for you and forces a pretty immutable structure on you. It only feels "free form" compared to something like Java. If you want "freedom" look at Forth, LISP or C.
If LÖVE every had a class system built in, I (and many others) simply wouldn't use it.
Why exactly? Did you miss that I said it should be an optional component? Nothing would stop you from using another class lib. Not that I am still arguing for including one. Now that the actual project goal of LÖVE is clear to me I fully agree that a standard class and container lib does not fit into the concept.
My main programming experience comes from Pyhton, Java and C++. C++ is certainly a lot more open in its nature than Lua, but I still feel that Lua is very open, especially in comparison to Java and Python. But how you feel about these things really depend on your programming style.

I didn't miss the part where you said it should be an optional component. How could I choose not to use it if it wasn't optional? :huh:
Post Reply

Who is online

Users browsing this forum: No registered users and 39 guests