Polywell: a text editor component

Showcase your libraries, tools and other projects that help your fellow love users.
User avatar
airstruck
Party member
Posts: 650
Joined: Thu Jun 04, 2015 7:11 pm
Location: Not being time thief.

Re: Polywell: a text editor component

Post by airstruck »

technomancy wrote:I had another crazy idea. I have heard a lot of buzz around Pico-8 which allows you to construct simple lo-fi games all from within one program that serves as text editor, graphics editor, and chiptune composition environment. I think you could build something similar in Love, but maybe without the lo-fi feel or the extreme limits on file size and memory use.

Polywell already lets you do in-game code editing, and I think if you added in a pixel art editor and a music tracker, you could have a nice convenient framework that lets you build everything from the inside out.

Personally I really feel like the "coding from inside the game" aspect helps flow during programming a lot. I feel like graphics could probably benefit from the same style of development as well, and maybe music, but I'm not sure.

Thoughts?
That actually sounds pretty cool. Maybe something like GrafX2 for the image editor? Bonus points if you name it LIMP.

Not sure about mod tracker style for the music editor. Maybe go for something more approachable, like a drum machine / piano roll type of deal along the lines of Fruity Loops. Could have the same functionality as a tracker, but with a more intuitive UI. It's a lot easier to get a feel for something like a filter sweep from a graphical representation than from a bunch of hexidecimal numbers. Should probably include a thing like Bfxr also.
User avatar
Positive07
Party member
Posts: 1014
Joined: Sun Aug 12, 2012 4:34 pm
Location: Argentina

Re: Polywell: a text editor component

Post by Positive07 »

Consider me part of the challenge! Want to form a team or something? Except for the sound I have somewhat played with:
  • Image editting in LÖVE: I made a rough editor with some of the libs in the forum, but the lack of canvas support in my PC didn't help at all
  • I started a project called Cube that allowed me to run LÖVE files from LÖVE, the compatibility layer with older games got too complex for me at that time though, I could do it now I think
  • I have somewhat made a code editor, even though is not finished because I'm lazy with the lexers (I think I will just wrap ScintiLua lexers for now and call it done until following version)
So if anyone of you airstruck or technomancy is interested (or anyone else actually), contact me and we can talk this and get somewhere.
Basically the aim would be a somewhat complete development environment for LÖVE made in LÖVE right?

Maybe it could be done as a set of tools instead of a super integrated one, with possible interactions between them, not sure. We could discuss this so that we can scope the project well enough
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
zorg
Party member
Posts: 3436
Joined: Thu Dec 13, 2012 2:55 pm
Location: Absurdistan, Hungary
Contact:

Re: Polywell: a text editor component

Post by zorg »

Regarding the music tracker part, me and technomancy talked about this on irc; bottom line is, it's very possible, but due to ffi being needed, it probably would limit the useable platforms to desktop OS-es.
Me and my stuff :3True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.
User avatar
Positive07
Party member
Posts: 1014
Joined: Sun Aug 12, 2012 4:34 pm
Location: Argentina

Re: Polywell: a text editor component

Post by Positive07 »

I doubt someone wants to do code editting and image editting in a phone though, also file support in phones is somewhat ugly too so it's pretty safe to assume that desktop is the platform we would target, what do you say zorg? interested?
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
zorg
Party member
Posts: 3436
Joined: Thu Dec 13, 2012 2:55 pm
Location: Absurdistan, Hungary
Contact:

Re: Polywell: a text editor component

Post by zorg »

Sure!
I mean, having +1 reason to actually get myself to finish coding the stuff that can be also relevant to this is always good :3
Me and my stuff :3True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.
User avatar
Beelz
Party member
Posts: 234
Joined: Thu Sep 24, 2015 1:05 pm
Location: New York, USA
Contact:

Re: Polywell: a text editor component

Post by Beelz »

This is a great idea... If this becomes a public project I would definitely like to be on board!

Code: Select all

if self:hasBeer() then self:drink()
else self:getBeer() end
GitHub -- Website
User avatar
airstruck
Party member
Posts: 650
Joined: Thu Jun 04, 2015 7:11 pm
Location: Not being time thief.

Re: Polywell: a text editor component

Post by airstruck »

The tracker/sequencer sounds like the biggest challenge, really. As far as I know there's no real cross-platform DSP ecosystem. Windows has VST, Linux has LADSPA and DSSI, Mac has AU. Even supporting one of those plugin formats would be a ton of work, and inventing a format and writing a bunch of DSP plugins will probably be more work. I guess you'd at least want a handful of synths, a sampler, and a decent range of filters/effects (I'm thinking the host would serve as the mixer and sequencer). These things all need to expose inputs to the user and the host somehow, and probably have visual feedback for the user. It would be really cool, but would take some effort.

This thread is interesting, I'm reading through it now.
Last edited by airstruck on Wed Sep 07, 2016 11:21 pm, edited 1 time in total.
User avatar
zorg
Party member
Posts: 3436
Joined: Thu Dec 13, 2012 2:55 pm
Location: Absurdistan, Hungary
Contact:

Re: Polywell: a text editor component

Post by zorg »

There's a really simple solution around that: The major tracker formats don't allow such things. Plugins.
Samples only, with assembly-like per-note effects. (simple ones, one or two at a time)

Even s3m files, that may have adLib channels, those are mostly ignored on most players/trackers.
Impulse tracker files allow "multi-sample" instruments with resonant filters and custom envelopes though.

Besides, this being a smaller, more restricted thing, would mean limitations way below such ideas :3
Take cave story's organya file format, heavy limitations all around, even moreso than most tracker formats.
Me and my stuff :3True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.
User avatar
airstruck
Party member
Posts: 650
Joined: Thu Jun 04, 2015 7:11 pm
Location: Not being time thief.

Re: Polywell: a text editor component

Post by airstruck »

zorg wrote:There's a really simple solution around that: The major tracker formats don't allow such things. Plugins.
The older trackers might not have had this stuff, but as far as I can tell most of the newer ones will host whatever the standard format is on that platform. Some even have wrappers, so they can become like a sequencer/sampler plugin for another host.

Anyway, I'm not suggesting the DSP stuff has to be plugins, but it would be nice to have at least some effects like frequency filters, reverb, delay, compressors, tube distortion, etc. It would also be nice to have at least one synth (think GoatTracker) and one sampler (think FT2).

I suppose you could go the oldschool tracker route and not have any fancy DSP, but it's going to limit how your compositions can sound (they'll sound like mods from the 90s, or C64 chiptune, basically... but maybe that's the idea).
User avatar
Positive07
Party member
Posts: 1014
Joined: Sun Aug 12, 2012 4:34 pm
Location: Argentina

Re: Polywell: a text editor component

Post by Positive07 »

How can we contact each other and draft some ideas around this in order to get something started?
for i, person in ipairs(everybody) do
[tab]if not person.obey then person:setObey(true) end
end
love.system.openURL(github.com/pablomayobre)
Post Reply

Who is online

Users browsing this forum: No registered users and 54 guests