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.
Object systems or LÖVE should have one
- Hexenhammer
- Party member
- Posts: 175
- Joined: Sun Feb 17, 2013 8:19 am
- slime
- Solid Snayke
- Posts: 3170
- Joined: Mon Aug 23, 2010 6:45 am
- Location: Nova Scotia, Canada
- Contact:
Re: Object systems or LÖVE should have one
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...
Try not to triple-post in the future...
- 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
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).
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".
Lua does not have "Classes". LÖVE doesn't have them either (it's not even alone there, javascript is the same).
I disagree.I think a good description of LÖVE given your philosophy would be "minimalist Lua game framework".
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.
- Hexenhammer
- Party member
- Posts: 175
- Joined: Sun Feb 17, 2013 8:19 am
Re: Object systems or LÖVE should have one
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.slime wrote:Lua's own philosophies are implied when Lua is mentioned.
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.It's not the responsibility of the LÖVE website to explain Lua's philosophies.
Re: Object systems or LÖVE should have one
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.
Re: Object systems or LÖVE should have one
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
But that's just my style of coding.
Code: Select all
function inherit(a,b) --let's a inherit from b
setmetatable(a,b)
b.__index = b
end
My game called Hat Cat and the Obvious Crimes Against the Fundamental Laws of Physics is out now!
Re: Object systems or LÖVE should have one
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.
Re: Object systems or LÖVE should have one
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.
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.
- Hexenhammer
- Party member
- Posts: 175
- Joined: Sun Feb 17, 2013 8:19 am
Re: Object systems or LÖVE should have one
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.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.
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.If LÖVE every had a class system built in, I (and many others) simply wouldn't use it.
Re: Object systems or LÖVE should have one
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.Hexenhammer wrote: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.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.
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.If LÖVE every had a class system built in, I (and many others) simply wouldn't use it.
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?
My game called Hat Cat and the Obvious Crimes Against the Fundamental Laws of Physics is out now!
Who is online
Users browsing this forum: Ahrefs [Bot], slime and 6 guests