NESMakers: if you want effects, push Joe/Josh to use Pently

gradualgames
Posts: 9
Joined: Thu Jun 07, 2018 12:40 am

NESMakers: if you want effects, push Joe/Josh to use Pently

Post by gradualgames » Tue Aug 07, 2018 3:52 pm

GGSound as many of you have observed is limited with respect to its support of FamiTracker effects. There is a much better engine, made by one of the best nes engineers in the world, Damian Yerrick, called Pently:

https://github.com/pinobatch/pently

There is a famitracker converter for it:

https://github.com/NovaSquirrel/ft2pently

If nesmakers want a better sound engine, I would recommend you all petition Joe and Josh to integrate this other sound engine. GGSound is feature complete and will not be added to (by me. anyone is of course free to fork it and add to it, but why do that when another sound engine already has the additional support).
User avatar
functionalform
Posts: 38
Joined: Tue Mar 06, 2018 10:54 pm

Re: NESMakers: if you want effects, push Joe/Josh to use Pently

Post by functionalform » Wed Aug 08, 2018 6:53 am

i gotta admit, i find this a bit shocking to see this the day before release.

limitations aside you've made a pretty good engine.
User avatar
SeaFoodAndButter
Posts: 41
Joined: Tue Jul 31, 2018 8:54 pm

Re: NESMakers: if you want effects, push Joe/Josh to use Pently

Post by SeaFoodAndButter » Tue Aug 14, 2018 6:09 am

gradualgames wrote:
Tue Aug 07, 2018 3:52 pm
GGSound as many of you have observed is limited with respect to its support of FamiTracker effects. There is a much better engine, made by one of the best nes engineers in the world, Damian Yerrick, called Pently:

https://github.com/pinobatch/pently

There is a famitracker converter for it:

https://github.com/NovaSquirrel/ft2pently

If nesmakers want a better sound engine, I would recommend you all petition Joe and Josh to integrate this other sound engine. GGSound is feature complete and will not be added to (by me. anyone is of course free to fork it and add to it, but why do that when another sound engine already has the additional support).
I agree. NESMaker needs to at least fully support Famitracker 100%. There's no excuse why NESMaker doesn't support Famitracker, including all its effects and expansion chips. I actually wrote Joe on his Twitter about this issue and I was basically laughed at, told this was not a priority to Joe, and if I want my Famitracker music to be in NESMaker than it was my responsibility to program my own sound engine. Honestly, I really like Joe and support him and his efforts, but to shrug off NESMaker fully supporting Famitracker is, in my opinion, not right.

PS I did misspeak and type "Famicom" instead of "Famitracker" but the conversation was still fully understood.
Attachments
Screenshot 2018-08-14 01.04.28.png
Screenshot 2018-08-14 01.04.28.png (272.08 KiB) Viewed 149 times
Thanks for any help, I'm a rookie at this!
User avatar
Kasumi
Posts: 99
Joined: Fri Mar 09, 2018 11:13 pm

Re: NESMakers: if you want effects, push Joe/Josh to use Pently

Post by Kasumi » Tue Aug 14, 2018 10:57 am

There are absolutely reasons why NES Maker doesn't support all of Famitracker. The music extensions in particular change WAY MORE than just the music. The way that you must access data (ALL data, not just music data) fundamentally changes. It changes the graphical capabilities, and a lot of other things that can be fundamentally incompatible with the current game engine.

There's regular NES. Super Mario Bros. and Donkey Kong were regular NES. Anything more complex (MOST games) had extra hardware in the cartridge that allowed them to have more space/more RAM/more whatever. But the kicker is all the hardware was pretty different. There are more than 50 types. Even if you only look at the types that offer music extensions, there are a lot of differences.

Beyond that, without modifying the NES it can't even play the extra audio channels. (Famicom can!) And because the cartridge hardware itself is different, you couldn't even flash the "NES Maker Cartridge" if you used any extended audio.

Even just supporting everything that famitracker can do with the basic channels is a trade off of engine size and RAM use. The more the engine does the bigger/slower it usually is, and the more RAM it must use. If NES Maker only did music, it could dedicate RAM to just that. As it is, every extra byte of RAM the music engine uses is a byte of RAM the rest of the engine can't. What GGSound supports is actually really, really good. I used an engine with even less features for Indivisible and it was more than enough.
gradualgames
Posts: 9
Joined: Thu Jun 07, 2018 12:40 am

Re: NESMakers: if you want effects, push Joe/Josh to use Pently

Post by gradualgames » Tue Aug 14, 2018 4:39 pm

Kasumi wrote:
Tue Aug 14, 2018 10:57 am
I used an engine with even less features for Indivisible and it was more than enough.
It sure was! That soundtrack was gorgeous!
User avatar
CutterCross
Posts: 94
Joined: Sat Apr 28, 2018 9:42 pm

Re: NESMakers: if you want effects, push Joe/Josh to use Pently

Post by CutterCross » Tue Aug 14, 2018 5:04 pm

SeaFoodAndButter wrote:
Tue Aug 14, 2018 6:09 am
I agree. NESMaker needs to at least fully support Famitracker 100%. There's no excuse why NESMaker doesn't support Famitracker, including all its effects and expansion chips. I actually wrote Joe on his Twitter about this issue and I was basically laughed at, told this was not a priority to Joe, and if I want my Famitracker music to be in NESMaker than it was my responsibility to program my own sound engine. Honestly, I really like Joe and support him and his efforts, but to shrug off NESMaker fully supporting Famitracker is, in my opinion, not right.

PS I did misspeak and type "Famicom" instead of "Famitracker" but the conversation was still fully understood.
I think it's pretty unfair to ask for NESmaker to implement something like VRC6 sound when the stock NES can't even support it in the first place.

As for GGsound's Famitracker support, while it may seem more limiting at first, you can find ways to get around a lot of it's limitations if you're clever enough. You don't need to use effects to get stuff like vibrato or pitch-bends, and you don't need the channel volume column to change the volume of a note. It's all about finding clever ways to get around limitations, it's half the fun of making NES games in the first place!

And hey, GGsound is a LOT better than composing music in a hex editor!
User avatar
functionalform
Posts: 38
Joined: Tue Mar 06, 2018 10:54 pm

Re: NESMakers: if you want effects, push Joe/Josh to use Pently

Post by functionalform » Tue Aug 14, 2018 8:11 pm

the problem with using vrc6 or 7 or 5b is not just the fact american NES systems don't support expansion audio in the first place without modding the hardware,
but you'd have to develop a whole new board and mapper to manufacture a cartridge.

you'd need to put in all the features of a mapper 30 pcb with the 512k, but you'd have to add in the synth chip and design it to be controllable to exactly how famitracker emulates it.
even if you were to have this as a ROM only feature, you'd still need someone to code it up, and then have every emulator and powerpak/everdrive support it.

sure, i'd give my left nut for something like that, but it's not only a tall order but a costly one that would need the stars to align for it.

we're better off seeing the viability of hooking alternate engines into the program for a more robust 2ao3 experience.
User avatar
FrankenGraphics
Posts: 42
Joined: Wed Mar 07, 2018 11:36 am

Re: NESMakers: if you want effects, push Joe/Josh to use Pently

Post by FrankenGraphics » Wed Aug 15, 2018 5:16 pm

I agree. NESMaker needs to at least fully support Famitracker 100%. There's no excuse why NESMaker doesn't support Famitracker
I don't mean to dogpile, but i want to underline that famitracker wasn't designed to be used in games. It does work, but you will have performance problems unless your game is designed to be in the simpler end of the spectrum. That usually means no scrolling updates, few objects, and/or very simple object handling. Also, there's no support for running SFX and background music simultaneously.

If you want, you can hack in shiru's neslib+famitracker (costs 80kb) to solve the sfx+music problem, but i really wonder what the practical gain would be.

For the record, most famitracker "effects" are just composer conveniences, and their end result can be achieved through other means.

There are some song file size tradeoffs when using famitracker effects. Sometimes, effects help you keep file sizes down. At other times, they can bloat your file. Always keep an eye on what methods that you use result in larger/smaller files.

Pently would be my #1 goto driver always if it had been more convenient for me to compose for. If you're fluent in qbasic/lilypond-style music notation, it might be just right for you. Or you can convert it from a FT project almost just like with any other driver, but be aware that FT and pently works quite differently, so some things you can do with pently (which is quite flexible in terms of sequencing) can't be done from the famitracker environment, and some things famitracker can do can't be done by pently (vibrato speed is a hardwired constant, for example).
www.frankengraphics.com - NES homebrew blog
User avatar
SeaFoodAndButter
Posts: 41
Joined: Tue Jul 31, 2018 8:54 pm

Re: NESMakers: if you want effects, push Joe/Josh to use Pently

Post by SeaFoodAndButter » Wed Aug 15, 2018 10:32 pm

I understand what everyone's saying. But I even tried to load a Famitracker song with simply the 2 basic Pulse channels, 1 Triangle, and 1 noise. I did no effects or envelopes and did not mess with the volume. It still fails to load :(
Last edited by SeaFoodAndButter on Thu Aug 16, 2018 12:25 am, edited 1 time in total.
Thanks for any help, I'm a rookie at this!
darkhog
Posts: 162
Joined: Sun May 13, 2018 10:02 am

Re: NESMakers: if you want effects, push Joe/Josh to use Pently

Post by darkhog » Wed Aug 15, 2018 10:37 pm

Yeah, I hope Joe and Josh could change the sound engine to Pently. And MML isn't that hard to begin with anyways.
FrankenGraphics wrote:
Wed Aug 15, 2018 5:16 pm
pently works quite differently, so some things you can do with pently (which is quite flexible in terms of sequencing) can't be done from the famitracker environment, and some things famitracker can do can't be done by pently (vibrato speed is a hardwired constant, for example).
Vibrato can be worked around though and while I agree the differences are quite significant, Pently still beats GGSound in terms of what it can do. And hey, since it seems to be recommended by the dev of GGSound himself, it has to be better.
Post Reply