It is necessary to continue and bring it this to the working state?

General discussion about LÖVE, Lua, game development, puns, and unicorns.
User avatar
AnRu
Citizen
Posts: 69
Joined: Sun Oct 27, 2013 1:33 pm
Contact:

It is necessary to continue and bring it this to the working state?

Post by AnRu »

Hi, guys,
I would like to talk about my work nowadays, and ask whether it is necessary to continue and bring it to working state?
If not to go into the details - I want to create a complete toolset + IDE for Love2d. Just want to note that this is not another parody of a text editor or IDE which is very much in the network. Would you like to use the powerful instrumentry and visual tools with Love2d?

What is planning in first release:
- synax highlighting and autocompletion of Lua and Love2d API
- project system
- fast build for Windows/MacOS/Linux/Android in one click
- project file tree
- themes
- push-notifications on the right bottom corner of the screen

Other features planning:
- 2 working modes: Coding and Designer. Coding for editing files as-is without any visual addition (like in any text editor, Sublime Text for example), Designer for easy editing with UI tools (like in Construct)
- testing and building on different LÖVE versions by one click
- plugins system
- repo with libraries that can be downloaded and imported without leaving editor. Also web site will allow to upload your own libs
- dialogue editor (and other UI windows for editing)
- visual code editing (in Designer mode), which will allow to use Love2d easier (in particular for designers (your cap =P))
- LeafX support (Lua preprocessor, in development)
- git integration
- itch.io integration
- cloud build (not near future)
- this list will continue...

Right now i’m making an prototype using GitHub’s Electron.
If you like to help in development, please reply below or leave your opinion about that idea =)
Thanks!
User avatar
rmcode
Party member
Posts: 454
Joined: Tue Jul 15, 2014 12:04 pm
Location: Germany
Contact:

Re: It is necessary to continue and bring it this to the working state?

Post by rmcode »

Personally I am not a fan of all-in-one solutions, simply because I enjoy being flexible in the tools I use.

E.g.: I am currently using github's Atom Editor for coding and it would be hard to get anything similarly complex / flexible inside of your IDE. Same for git related functionality. So why would I switch over to your IDE instead of using my current tools which are way more specialized? If you can offer something that enhances, replaces some of my current tools then I might use it ;)

That's just my 2 cents.

Not trying to discourage you though - Electron is a powerful platform and I'm curious to see what you'll come up with :)
User avatar
AnRu
Citizen
Posts: 69
Joined: Sun Oct 27, 2013 1:33 pm
Contact:

Re: It is necessary to continue and bring it this to the working state?

Post by AnRu »

rmcode wrote:Personally I am not a fan of all-in-one solutions, simply because I enjoy being flexible in the tools I use.

E.g.: I am currently using github's Atom Editor for coding and it would be hard to get anything similarly complex / flexible inside of your IDE. Same for git related functionality. So why would I switch over to your IDE instead of using my current tools which are way more specialized? If you can offer something that enhances, replaces some of my current tools then I might use it ;)

That's just my 2 cents.

Not trying to discourage you though - Electron is a powerful platform and I'm curious to see what you'll come up with :)
Thanks for your reply :)
I used Atom for some amount of time and know about plugins that allows to make Love2d game development easier, but there are some
inconvenience: for example, there are no dynamic autocompletion and also there are some completions errors.
Yes, most of features listed above can be done by plugins in any IDE, but what about all of these isnide one box?
And the most important - all of this will be done specially for Love2d ;)
cval
Citizen
Posts: 58
Joined: Sun Apr 20, 2014 2:15 pm
Location: Ukraine

Re: It is necessary to continue and bring it this to the working state?

Post by cval »

Something like this will definitely boost people's interest in working with love2d, especially for beginners and those who already working but for some reason and in certain moments struggle with development (e.g. their multitude of tools wastes their time in the process and they realize it but don't know where to start in order to change it). For example, frist non-"gamemaker" (the one that allows to create games with a click of a mouse button) environment i began with in game development was Polycode (not an advertising in any way) which had it's own IDE and it already includes some helpers libs like classes etc. Low entry levels in development environments are specially pleasant and definitely lets people more space to make their ideas real, if done right ofcourse. So if you are certain that you can make package like that and also ready to maintain it later on, the effort might be met with gratitude.

As for myself personally - i'm totally okay with setup i have. Mostly because i have used to it and also because of education - i write helper libs and tools for myself because i don't want to dig in someone's code if something goes wrong.
User avatar
AnRu
Citizen
Posts: 69
Joined: Sun Oct 27, 2013 1:33 pm
Contact:

Re: It is necessary to continue and bring it this to the working state?

Post by AnRu »

cval wrote:Something like this will definitely boost people's interest in working with love2d, especially for beginners and those who already working but for some reason and in certain moments struggle with development (e.g. their multitude of tools wastes their time in the process and they realize it but don't know where to start in order to change it). For example, frist non-"gamemaker" (the one that allows to create games with a click of a mouse button) environment i began with in game development was Polycode (not an advertising in any way) which had it's own IDE and it already includes some helpers libs like classes etc. Low entry levels in development environments are specially pleasant and definitely lets people more space to make their ideas real, if done right ofcourse. So if you are certain that you can make package like that and also ready to maintain it later on, the effort might be met with gratitude.

As for myself personally - i'm totally okay with setup i have. Mostly because i have used to it and also because of education - i write helper libs and tools for myself because i don't want to dig in someone's code if something goes wrong.
Yeah, i think this will really increase number of Love2d developers, this is one of my goals :)
Also i would like to left "old school" method of development, so if you want to develop games by code and only by code - you welcome with Coding mode =)
User avatar
Pangit
Party member
Posts: 148
Joined: Thu Jun 16, 2016 9:20 am

Re: It is necessary to continue and bring it this to the working state?

Post by Pangit »

A real IDE, that simplifies the development process will dramatically increase the user base. One of the most frustrating things in using love is when you as a new user are stuck looking at some cute message and a floating pig. A way to actually run the code you just written without having to search a forum would help.

Overall very positive, while its nice to just be able to use a text editor (I like joe) I do miss the features of an IDE especially with documentation and auto-complete. One of the biggest issues is where you can't search for 3 letter strings. One of the best examples I have ever seen of this was Pure Data. You could actually copy and paste the examples and they worked out of the box. That kind of functionality would make using love far less frustrating. No more broken examples on the wiki or out of date forum posts.

It might be wise to really define your target user, that way the IDE would be a much more focused product. Try and avoid package bloat (looking at you eclipse.) Perhaps have module support so you wouldn't have to implement everything yourself. No doubt once you started a project like this and got it to an alpha stage others would submit updates also. Lol who knows perhaps someone will make a assistant like the Microsoft office paper-clip to help with coding love that would be amusing. "It looks like your trying to run your project, but you have not supplied the path information to love. Do you want me to fix that for you?"


Best of luck with this.
User avatar
Positive07
Party member
Posts: 1014
Joined: Sun Aug 12, 2012 4:34 pm
Location: Argentina

Re: It is necessary to continue and bring it this to the working state?

Post by Positive07 »

First I need to discourage this idea by saying IT'S HARD, maybe as hard as writing LÖVE? I dont knok

NEGATIVE thinks you should consider:
  • Atom is huge, have you taken a look at's it code? And it does ONE thing, code editing with plugins, just that. You are trying to do much more.
  • Also it's not like it hasn't done before, or tried before, you should take a look at ZeroBrane Studio. Also take a look at all those attempts in that first post, those people began something like what you are saying and failed, or left it unifinished.
  • Also everything you have planned for the first release doesn't enhance my current setup in anyway, I do all that with Notepad++/NppExec/Some batch files. Atom does this even better, ZeroBrane well just goes over the way with all the debugging stuff, it's awesome.
  • The UI stuff, you need to write a UI system that supports data loading, I need to be able to theme this as I like, and probably integrate it with my game code, I should also be able to modify this with simple code. Not sure everyone will use this features since MOST games are not that UI heavy anyway.
  • Testing for LÖVE is hard, sockets are needed and that is itself really slow, then you need a library that gets required by LÖVE somehow... Not nice, ZeroBrane handles all this in a great way!
  • Plugin system, safe, sandboxed, scriptable, with ability to provide UI's menus and all that? A LOT OF WORK, maybe even as hard as everything else combined and multiplied by four, this is an engine on itself. Doable of course but I just wanna point out how much work this is.
  • Dialogue box and such, I think here you would put dream features like Box2D editor, Particles Editor and what not, well all that stuff means LIBRARIES, you would not only be writting libraries for LÖVE like most people do but then adding support for this libraries in your IDE. And what if I don't wanna use your libraries because they don't especially suit my needs? Then this becomes bloat and will mostly be the case, you would end up writing an engine on top of LÖVE which people would use instead of actually making an IDE for LÖVE and we all know this engines don't always fullfil all the needs a programmer may have for it's game and are usually adhoc. Same with the visual coding stuff... Plus they are not really popular anyway.
  • I don't know what LeafX is so I won't say anything about this, but this may be a FAR more interesting project that the IDE itself. Also seems to be lots of work not sure, would like to hear more about this!
  • git integration, itch.io integration... not really interested, don't take me wrong, this are features I would LÖVE to have in a code editor, but I don't really NEED them, they are simply nice features and lots of work, if you have a plug-in system why not use that? Also all this features can be added to say Atom, Notepad++, or ZeroBrane.
So in the end you have lots of work:
  • Code editor
  • UI library
  • Engine on top of LÖVE
  • Support for your engine in the IDE
  • Plug-ins sandboxing
  • Plug-ins for git, itch.io...
And I can get all this features with libraries from the LÖVE forums, my actual setup, and some plug-ins. Writing plug-ins specially designed for LÖVE for this code editors is BY FAR more useful than an IDE

Also, always try to focus on one thing and one thing only otherwise you get frustrated really fast.

And don't re invent the wheel, instead of doing all this you could take your time to make great UI libraries, some engine stuff like Particle Editors and whatnot, plug-ins for commonly used code editors...

The features I WOULD LIKE an "IDE" to have is:
  • Full syntax-highlighting for LÖVE (not just Lua)
  • Full integration with LÖVE (error takes me to the editor in the specific file and line, hot reloading, global variable lookup, FPS counter, and whatnot, ZeroBrane does most of this really great but is slow)
  • Extensibility (I want to write plugins!, run commands, interacts with other tools I constantly use like build scripts and such)
  • Documentation (I want to see little windows that tell me what an specific LÖVE function does and the arguments it expects, maybe an example, LightTable does this kind of stuff for ClojureScript I think, which is awesome)
That would already boost my performance by HUNDREDS AND THOUSANDS and delete like four tools in my setup. But I don't want an specific IDE, If I want to code in HTML I would love to use the same code editor I like to use, not another one, so your IDE even if it is LÖVE specific, must support other stuff. Also I want the developer to keep the IDE updated, for the latest LÖVE release and to fix bugs and issues that may arise

These are of course my wishes, some may have others, some may not like these.

On the POSITIVE side:
If YOU think you want to continue on, do it PLEASE.

If your tool can help someone, or help you on learning stuff and/or speeding up your development then do it!

This is not impossible, it has been done before many times, it is a lot of work but you could tackle it and even if you don't succeed you would end up learning something, if you succeed then your wishes would be achieved, and if you leave it now you can go on and tackle another project which is also great.

You can always write something bare at first and then expand and add features as you need them!

Well I don't have much to say, in the end it depends on you, I mayself, may not find an use on this. Of course it will be great on it's own, and people who are taking on LÖVE for the first time may find this really useful.

I don't even use ZeroBrane, Atome or LightTable which are really scriptable and would let me enhance my development speed, I simply don't like some stuff so I prefere my current setup. I think your IDE would find the same destiny, and this must not discourage you, ZeroBrane was the same, a great IDE to code in Lua with many features for it, I didn't really enjoy using it so I dropped but many pearsons find the experience provided really pleasant and have made it their primary tool!

Wish you good luck on this and please tell us about your adventures if you decide to tackle it!
for i, person in ipairs(everybody) do
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(github.com/pablomayobre)
User avatar
AnRu
Citizen
Posts: 69
Joined: Sun Oct 27, 2013 1:33 pm
Contact:

Re: It is necessary to continue and bring it this to the working state?

Post by AnRu »

Positive07 wrote:First I need to discourage this idea by saying IT'S HARD, maybe as hard as writing LÖVE? I dont knok

NEGATIVE thinks you should consider:
  • Atom is huge, have you taken a look at's it code? And it does ONE thing, code editing with plugins, just that. You are trying to do much more.
  • Also it's not like it hasn't done before, or tried before, you should take a look at ZeroBrane Studio. Also take a look at all those attempts in that first post, those people began something like what you are saying and failed, or left it unifinished.
  • Also everything you have planned for the first release doesn't enhance my current setup in anyway, I do all that with Notepad++/NppExec/Some batch files. Atom does this even better, ZeroBrane well just goes over the way with all the debugging stuff, it's awesome.
  • The UI stuff, you need to write a UI system that supports data loading, I need to be able to theme this as I like, and probably integrate it with my game code, I should also be able to modify this with simple code. Not sure everyone will use this features since MOST games are not that UI heavy anyway.
  • Testing for LÖVE is hard, sockets are needed and that is itself really slow, then you need a library that gets required by LÖVE somehow... Not nice, ZeroBrane handles all this in a great way!
  • Plugin system, safe, sandboxed, scriptable, with ability to provide UI's menus and all that? A LOT OF WORK, maybe even as hard as everything else combined and multiplied by four, this is an engine on itself. Doable of course but I just wanna point out how much work this is.
  • Dialogue box and such, I think here you would put dream features like Box2D editor, Particles Editor and what not, well all that stuff means LIBRARIES, you would not only be writting libraries for LÖVE like most people do but then adding support for this libraries in your IDE. And what if I don't wanna use your libraries because they don't especially suit my needs? Then this becomes bloat and will mostly be the case, you would end up writing an engine on top of LÖVE which people would use instead of actually making an IDE for LÖVE and we all know this engines don't always fullfil all the needs a programmer may have for it's game and are usually adhoc. Same with the visual coding stuff... Plus they are not really popular anyway.
  • I don't know what LeafX is so I won't say anything about this, but this may be a FAR more interesting project that the IDE itself. Also seems to be lots of work not sure, would like to hear more about this!
  • git integration, itch.io integration... not really interested, don't take me wrong, this are features I would LÖVE to have in a code editor, but I don't really NEED them, they are simply nice features and lots of work, if you have a plug-in system why not use that? Also all this features can be added to say Atom, Notepad++, or ZeroBrane.
So in the end you have lots of work:
  • Code editor
  • UI library
  • Engine on top of LÖVE
  • Support for your engine in the IDE
  • Plug-ins sandboxing
  • Plug-ins for git, itch.io...
And I can get all this features with libraries from the LÖVE forums, my actual setup, and some plug-ins. Writing plug-ins specially designed for LÖVE for this code editors is BY FAR more useful than an IDE

Also, always try to focus on one thing and one thing only otherwise you get frustrated really fast.

And don't re invent the wheel, instead of doing all this you could take your time to make great UI libraries, some engine stuff like Particle Editors and whatnot, plug-ins for commonly used code editors...

The features I WOULD LIKE an "IDE" to have is:
  • Full syntax-highlighting for LÖVE (not just Lua)
  • Full integration with LÖVE (error takes me to the editor in the specific file and line, hot reloading, global variable lookup, FPS counter, and whatnot, ZeroBrane does most of this really great but is slow)
  • Extensibility (I want to write plugins!, run commands, interacts with other tools I constantly use like build scripts and such)
  • Documentation (I want to see little windows that tell me what an specific LÖVE function does and the arguments it expects, maybe an example, LightTable does this kind of stuff for ClojureScript I think, which is awesome)
That would already boost my performance by HUNDREDS AND THOUSANDS and delete like four tools in my setup. But I don't want an specific IDE, If I want to code in HTML I would love to use the same code editor I like to use, not another one, so your IDE even if it is LÖVE specific, must support other stuff. Also I want the developer to keep the IDE updated, for the latest LÖVE release and to fix bugs and issues that may arise

These are of course my wishes, some may have others, some may not like these.

On the POSITIVE side:
If YOU think you want to continue on, do it PLEASE.

If your tool can help someone, or help you on learning stuff and/or speeding up your development then do it!

This is not impossible, it has been done before many times, it is a lot of work but you could tackle it and even if you don't succeed you would end up learning something, if you succeed then your wishes would be achieved, and if you leave it now you can go on and tackle another project which is also great.

You can always write something bare at first and then expand and add features as you need them!

Well I don't have much to say, in the end it depends on you, I mayself, may not find an use on this. Of course it will be great on it's own, and people who are taking on LÖVE for the first time may find this really useful.

I don't even use ZeroBrane, Atome or LightTable which are really scriptable and would let me enhance my development speed, I simply don't like some stuff so I prefere my current setup. I think your IDE would find the same destiny, and this must not discourage you, ZeroBrane was the same, a great IDE to code in Lua with many features for it, I didn't really enjoy using it so I dropped but many pearsons find the experience provided really pleasant and have made it their primary tool!

Wish you good luck on this and please tell us about your adventures if you decide to tackle it!
Oh, thank you for that reply, it's great :)
Yes, i understand that this is hard and will take a lot of my time, but also i want to find someone to code together
I will note your proposals and wishes ;)
User avatar
AnRu
Citizen
Posts: 69
Joined: Sun Oct 27, 2013 1:33 pm
Contact:

Re: It is necessary to continue and bring it this to the working state?

Post by AnRu »

Pangit wrote:A real IDE, that simplifies the development process will dramatically increase the user base. One of the most frustrating things in using love is when you as a new user are stuck looking at some cute message and a floating pig. A way to actually run the code you just written without having to search a forum would help.

Overall very positive, while its nice to just be able to use a text editor (I like joe) I do miss the features of an IDE especially with documentation and auto-complete. One of the biggest issues is where you can't search for 3 letter strings. One of the best examples I have ever seen of this was Pure Data. You could actually copy and paste the examples and they worked out of the box. That kind of functionality would make using love far less frustrating. No more broken examples on the wiki or out of date forum posts.

It might be wise to really define your target user, that way the IDE would be a much more focused product. Try and avoid package bloat (looking at you eclipse.) Perhaps have module support so you wouldn't have to implement everything yourself. No doubt once you started a project like this and got it to an alpha stage others would submit updates also. Lol who knows perhaps someone will make a assistant like the Microsoft office paper-clip to help with coding love that would be amusing. "It looks like your trying to run your project, but you have not supplied the path information to love. Do you want me to fix that for you?"


Best of luck with this.
Code presets is a very cool idea, i note it :)
User avatar
Tjakka5
Party member
Posts: 243
Joined: Thu Dec 26, 2013 12:17 pm

Re: It is necessary to continue and bring it this to the working state?

Post by Tjakka5 »

Quite interesting, I have been, and am working on a similair project; Ive got a video of it here:
https://www.youtube.com/watch?v=ApOS_xKNQrk

That was made a few months ago, and because of internship I haven't been able to work on it a lot, although I did quickly write up a newer version at some point (And broke it by just messing around with the code).
https://gyazo.com/bb434d1d53cea9b4690f7a8ce16313fc

I've recently started working on this again, as I now have my GUI library Clue to my disposal, along with a small little infrastructure between my Lua code and my server to download and store data.

That said; I'd love to see what you come up with, I think it's really, really interesting.
Post Reply

Who is online

Users browsing this forum: No registered users and 236 guests