Friday, December 28, 2018

How to choose the best cat

There is a post on Winter Mute's blog that really feels like it's been written for me. It is about people who build up their own solutions to problems that are researched to death and will stick to them even when being told that better solutions exist, whatever the drawbacks of their current solution. Somehow, it is not that far from the "not invented here" syndrom, explained from the point of view of someone who's been working hard to promote a unified way of doing things.

If I think about it, the very fact that I'm using a Nintendo DS to make games in 2018 feels like using a cat to clean up windows. I've been asked why not doing it with construct 2 quite a number of times, and people who know me would likely tell you that "oh, but he likes doing it for DS so much..." . I did have a look at a few construct 2 tutos, but they never made me feel like I'd love to do that instead of what I'm doing.

I've been asked too why I wouldn't buy a wacom tablet and save my assets as .png files. Granted, I could follow some online tutorials and grow some knowledge about some tools really used in the gaming industry. Yet, I insist on updating my sprite editor and yes, if someone insist that l should really try ASEsprite or something alike, I'm gonna be quite sceptical and likely argue that it's gonna be complicated. (like having to install Windows or Steam first, having to ensure I have a good mouse or be next to my PC to do pixel art, etc.)

I'm afraid it's not just about programming ...
And apparently, yes, I could be using MaxMod -- the cross-platform sound library shipped by devkitpro -- instead of the unpopular libNTXM with all those odd extensions I've been adding over the years. Possibly wintermute could have put something like "oh, but you know, I'm no professional window cleaner. I'm mostly doing this on my spare time" in his rant, and it would look even more like myself. I don't really have any excuse for this one. It's just that I've been investing time to master the code in libNTXM. It feels a bit like it's mine now. I feel home with it and I'm reluctant to leave that home and move to somewhat uncharted territories.

I know there is one thing for which I do not want to make compromises, and that's the quality of the end result. Be it a hobby or not, I do not want the game to feel half-baked. But when it comes to picking either library, using design patterns or learning new tools... well, I don't want anybody to feel offended or sad. But yeah, I'm doing that after my work hours. After my clean-the-mess hours, because aside all the amazing things I do at work, I still wonder if the game ideas I have would work great. Because there was something about C64 programming I loved.

None of this make Wintermute any less right that buckets and mops are better tool to clean windows, of course.

3 comments:

Sylvain Pypebros said...

I gave MaxMod a closer look. The code is in ARM assembly, I couldn't find a "big picture" documentation and couldn't tell whether it is using software or hardware mixing. It is available for either NDS* or GBA.

Sylvain Pypebros said...

NitroFS might be doing some direct card reads. Presumably, this assumes the homebrew sits on SLOT1 and that the full .nds file has been loaded in linker's memory although only up to 4MB was transferred to the NDS memory.

Sylvain Pypebros said...

to find out, I'd have to study cardParamCommand() using GBATek to figure out what we're really asking the device to do.