Homebrew 3DS Junk draw

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
_10.07.24_13.06.33.567.png

An extremely simple drawing app. It's not great! Main features/limitations:
  • Paginated drawing capable of storing hundreds of pages per file
  • 64 color palette (which means no anti-aliasing or alpha-blending)
  • 2 layers with 1-bit transparency
  • Button controls
  • Quick swap between pen/eraser/slowpen
  • Saving/loading
  • PNG export
  • Animation mode with onion skin + basic gif export
Controls: https://github.com/randomouscrap98/3ds_junkdraw?tab=readme-ov-file#controls

I wrote this ages ago as my first 3ds homebrew and had lofty goals. Upon actually using it, I realized I didn't actually want to draw on the 3DS so I gave up on it. That's kind of wasteful, and I know there's a niche desire out there for extremely simple drawing apps, so I cleaned it up, removed the dangling unimplemented features, and now here we are.

If I ever come back to this, there's underlying code ready to implement the following "planned" features:
  • Local multiplayer drawing (drawings are composed of lines, not rasterization, so it's easy to transfer between systems in real-time)
  • Drawing playback controls (system supports playback, just didn't make a UI)
  • HTML export with playback controls and MAYBE the ability to continue your drawing on the computer
  • Multiple palettes OR just arbitrary color picker (palette was a quick stopgap; it's easier to throw up 64 known colors than to have modifiable colors with all the silly UI elements)



Release: https://github.com/randomouscrap98/3ds_junkdraw/releases/latest
 
Last edited by haloopdy,

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
Edit: the bug mentioned below is fixed. Bug was present in all versions before 0.3.3

I've discovered a strange bug that is difficult to produce: upon saving and reloading, there's some combination of data which will make the program draw an incorrect stroke on screen only (underlying data is unaffected). It's hard to make it happen arbitrarily, but once it does, it is reproducible. I've verified that the underlying draw data is good, and perhaps most importantly, if you export the page to PNG, the error does not show up in the image. I'll look around and try to fix it... eventually.

I created a client-only webpage that I used to debug the drawing data to ensure everything was normal. Figured I'd share it in case some crazy person wanted to mess around with it (you have to save the html and open it in a browser): https://github.com/randomouscrap98/3ds_junkdraw/blob/master/debug.html

1721624284956.png




Anyway, despite what I said about not wanting to draw on the 3DS, I've actually been using it. It didn't crash once in 3 hours, surprisingly! Hope nobody minds some example art. The program is basically a simplified MS Paint:

HAL2__2_1721530439_cropped.png
 
Last edited by haloopdy,

Axonic3D

Member
Newcomer
Joined
Sep 11, 2024
Messages
12
Trophies
0
Age
23
Website
linktr.ee
XP
34
Country
United States
I am being most sincere and honest when I say this: Junk Draw is my favorite drawing app on the 3DS, period. A huge plus it gets is for exporting as PNGs, as many apps I've tried only export the art I put much hard time and effort into as poorly compressed JPEGs. The only other app I consider yours competes with is Flipnote Studio 3D, but that one is more focused on animation. I also highly appreciate the canvas size offered in Junk Draw. Drew a Sonic in the app and I'm super happy with how he turned out. Thank you a millionfold for making this app and allowing peeps like myself to use it! ★*

I don't know if you further intend on updating and adding to this app, especially considering its simple nature, or if you'll allow others to modify it through the GitHub repository. If you or anyone does, I'm excited to see what more gets added. I'd be hyped to see the original plan of making a multiplayer drawing app come true for this! The only other feature I'll ask for is an undo feature. Other than that though, this app is a solid 11/10 for me. Looking forward to anything and everything that comes out of and for this!
 

Attachments

  • SON02_0_1726194717.png
    SON02_0_1726194717.png
    45.1 KB · Views: 7

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
I am being most sincere and honest when I say this: Junk Draw is my favorite drawing app on the 3DS, period. A huge plus it gets is for exporting as PNGs, as many apps I've tried only export the art I put much hard time and effort into as poorly compressed JPEGs. The only other app I consider yours competes with is Flipnote Studio 3D, but that one is more focused on animation. I also highly appreciate the canvas size offered in Junk Draw. Drew a Sonic in the app and I'm super happy with how he turned out. Thank you a millionfold for making this app and allowing peeps like myself to use it! ★*

I don't know if you further intend on updating and adding to this app, especially considering its simple nature, or if you'll allow others to modify it through the GitHub repository. If you or anyone does, I'm excited to see what more gets added. I'd be hyped to see the original plan of making a multiplayer drawing app come true for this! The only other feature I'll ask for is an undo feature. Other than that though, this app is a solid 11/10 for me. Looking forward to anything and everything that comes out of and for this!

Oh my goodness, that's amazing! I love the art, I can't believe you were able to use the whole canvas like that! I'm really happy you like it so much, I didn't think anyone would use it! Thank you 💙

As for continuing development, I certainly wouldn't mind, I'm just not sure which features I should add. Undo and redo sound good; I'll have to think about how to do it without slowing down the app. The 3DS is pretty fast but I'm using hardware to render the textures and I'm already using up a lot of the texture memory with just two textures. Usually for speed, people just swap the buffers around and keep some back buffers, which wastes space but makes it really fast, and you only get like 5 undos. I can't do this because of all the video memory I'm wasting. Slightly more modern ways pull only the area that was affected and store it. This might be doable but I'll have to see; moving data from the hardware texture into memory is slow. Finally, an undo could just replay the image back up to your last stroke minus one, but that'll make the process of undoing slower than just fixing the error manually. That last one is what Colors! 3D does, and I always hated undoing in that app lol.

I'd actually like playback controls more than multiplayer, but if you have people you want to draw with, I'd be very happy to work on multiplayer first! I like making things I know people will use, and I'll certainly use the playback controls, but multiplayer would be cooler.
 
  • Like
Reactions: Axonic3D

Axonic3D

Member
Newcomer
Joined
Sep 11, 2024
Messages
12
Trophies
0
Age
23
Website
linktr.ee
XP
34
Country
United States
Thank you and right back at ya! Your doodles are as silly as they are adorable~ They also motivated me to try your app!

Whatever you do next, I'm all for it. Multiplayer, playback, undoing/redoing; they'd all make great features! I may have mentioned multiplayer as the feature I would like to see most, but that'd be if it were online since, unfortunately, I don't know any local folks who own a 3DS. I have little to no knowledge on how any of these features would be implemented (I'm an ideas guy, not a programmer), so if anything I'd merely offer the advice of doing what seems simplest or of utmost priority to you. I did enjoy reading about the technical background and workarounds for the undo/redo feature though, always wondered how that worked. You're most certainly right about Colors! 3D's undo being awful though. I appreciate the app, but golly gee does it sure feel sluggish.

The playback feature would be awesome! The tease displayed whenever I load art or change pages is tons of fun to witness, watching my work be redrawn in mere seconds. It's Swapnote on crack and I love it! Speaking of pages though: what was your main intent in including that feature? Asking out of curiosity, since the most that comes to my mind is to emulate the feeling of drawing on a sketchbook.
 

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
Thank you and right back at ya! Your doodles are as silly as they are adorable~ They also motivated me to try your app!

Whatever you do next, I'm all for it. Multiplayer, playback, undoing/redoing; they'd all make great features! I may have mentioned multiplayer as the feature I would like to see most, but that'd be if it were online since, unfortunately, I don't know any local folks who own a 3DS. I have little to no knowledge on how any of these features would be implemented (I'm an ideas guy, not a programmer), so if anything I'd merely offer the advice of doing what seems simplest or of utmost priority to you. I did enjoy reading about the technical background and workarounds for the undo/redo feature though, always wondered how that worked. You're most certainly right about Colors! 3D's undo being awful though. I appreciate the app, but golly gee does it sure feel sluggish.

The playback feature would be awesome! The tease displayed whenever I load art or change pages is tons of fun to witness, watching my work be redrawn in mere seconds. It's Swapnote on crack and I love it! Speaking of pages though: what was your main intent in including that feature? Asking out of curiosity, since the most that comes to my mind is to emulate the feeling of drawing on a sketchbook.
Aww I'm glad you liked my sketches! It's incredible to me that they'd motivate anybody, thank you so much!

Online multiplayer would be super cool, and it's possible... it's just definitely a lot of work. I'd have to figure out how I'd want the servers to work, since direct connections between 3ds's are difficult (or sometimes impossible) without a server in-between. Then there's SSL certificate issues (https vs http), though I could simply not use it and indicate that your session isn't encrypted. Lots of stuff to consider, but I'd be willing to try!

As for the pages thing, idk, I'm weirdly picky about inconsequential things lol. When I draw, I often want to just draw lots of sketches without interruption, and the only good way to do that on most apps is to create a new layer each time and hide all the others. It's clunky and ends up very difficult to export or look through later, so I usually end up not looking at them in the future due to laziness. And that tiny bit of extra effort (of managing layers) is enough to break my flow and make me lose motivation. It's very silly and irrational. So, that's why there's an easy way to create new pages; I want to be able to start anew without any concern for files, saving, layers, or anything else. And it's nice to have everything set up like a notebook, yeah!

The other thing is, pages are kind of a free feature when you store drawings like this. Instead of storing the rasterized image (like a png or whatever), I store it internally as a bunch of drawing commands. I believe this is how drawpile does it, btw. This is what lets you have playback, and also makes it easier to implement multiplayer drawing, as sending drawing commands makes it way easier to synchronize canvases and fixes lots of ordering issues. It also makes it easier to serialize the data, and you can even easily store it as a simple text file (that's actually how it's stored on the 3ds). You lose other things in the process (like fancy effects, and some drawings take up far more space this way than normal), so it's a tradeoff. But for how I often draw, it actually saves space, as I do lots of quick scribbles. The PNG exports of my multi-page art usually ends up being at least 10 times larger than the underlying drawing data, but I know that's not normal.

Anyway, sorry for the long post. Long story short, I'm just picky about weird things! Since I'm storing drawing commands like this anyway, it doesn't make anything more complicated to have infinite pages.
 
  • Like
Reactions: Axonic3D

Axonic3D

Member
Newcomer
Joined
Sep 11, 2024
Messages
12
Trophies
0
Age
23
Website
linktr.ee
XP
34
Country
United States
Of course! You have some real skill and talent there, seeing you not only make the art you love but also an environment for it to flourish at its best is immensely inspirational!

To make secure multiplayer or not, that is the question... or rather, a drawback to consider. Again, I don't know much about software programming so there's not a lot I can add to the subject. Having any sort of multiplayer, local or online, would be nice regardless. It makes for a great demo station of your skills at programming! Alternatively, you could add a feature for easily exchanging project files with other players, be it wireless connection or QR codes. Makes for a decent workaround, especially for collaborative works (i.e. I draw lineart and send the file to someone else so they can do the colors). Again, I'm merely throwing ideas around despite not knowing how to implement any of it. Hopefully I don't come off as pretentious.

The pickiness is mutual; I have a Flipnote resembling a ruled notebook as a means of reproducing the feeling of drawing on my school notebooks from my youth. Each frame is another page to draw on and it's a joy to flip through all the pages! So your reasoning, I'd say, is far from silly and irrational. Add to that all the other technical advantages the feature has, it sure is quite something to marvel at. If I may ask about another suggestion: would you consider adding a toggleable "onion skin" feature for the pages? That alone gives your app lots of animation potential, even if one has to manually compile the frames into a GIF (I have no issue doing such). It would also be neat for layering. Point is: it'd be a useful addition with many utilities!

No worries about saying much, I'm a yapper myself so I don't mind! It's quite relieving knowing I'm not alone in regards to being picky about what art tools I use, how they work, etc. Again, excited to see what you're cookin'!
 
  • Like
Reactions: haloopdy

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
If I may ask about another suggestion: would you consider adding a toggleable "onion skin" feature for the pages? That alone gives your app lots of animation potential, even if one has to manually compile the frames into a GIF (I have no issue doing such). It would also be neat for layering. Point is: it'd be a useful addition with many utilities!

No worries about saying much, I'm a yapper myself so I don't mind! It's quite relieving knowing I'm not alone in regards to being picky about what art tools I use, how they work, etc. Again, excited to see what you're cookin'!

I'm currently working on a version with onion skinning. It takes a while to test these things; when it's ready, would you like to test it? I wouldn't open or save anything you care about with these test versions, but it would be a big help to have someone else go through it and see what's wrong. I think I should be able to get gif export too, but we'll see.

The tradeoffs for animation in an app that wasn't made for it are:
  • No fast playback (just whatever speed you can get while scrolling, which is like 5-10fps maybe....)
  • The canvas size has to be halved (well, quartered) from 1000x1000 to 500x500
  • You won't be able to "preview" the gif before you export it, though maybe I could work on something which lets you look at the gif you saved or something... you'll at least be able to set the gif interval.
  • You won't be able to export the onion skin in the output png
  • There's no "animation specific" file format, I just use the normal file format. You can just switch to "animation mode" which will only consider the top left corner of 500x500, and you can switch back at any time. It'll be up to you to organize your files so you know which are animations.
Edit: No gif library I've tried thus far has worked on the 3DS for one reason or another (generally memory issues, sometimes filesystem issues). I'm tempted to write my own but blegh that's kind of a lot. Honestly, this app doesn't make for a very good animation software. When you get up to like 20% fill of the file, it takes quite a bit to seek to the start of the page, making it quite unfun to quickly swap through pages. If you're still interested, I'd be happy to leave the onion skin options in there and some kind of mass PNG export, but I don't want you to get your hopes up that it'll be good for animation...
 
Last edited by haloopdy,

Axonic3D

Member
Newcomer
Joined
Sep 11, 2024
Messages
12
Trophies
0
Age
23
Website
linktr.ee
XP
34
Country
United States
I'm currently working on a version with onion skinning. It takes a while to test these things; when it's ready, would you like to test it?
I would be honored to help however I can! I'll test the app as much as possible and give every bit of feedback I can! Hopefully I do a good job at it too.

The tradeoffs aren't honestly that bad, especially when comparing with Flipnote Studio 3D (which I probably shouldn't be doing yet I can't help myself). An animation mode sounds like a great way to go about it; turning certain features off or limiting them so the app can better serve the purpose of producing animations.

... Granted, it is still an ambitious feat and I can understand if you won't be doing it. The simple nature of this app is something I'm more than fine with, so little additions like the aforementioned undo/redo and onion skin are plenty welcome.

Honestly, this app doesn't make for a very good animation software. When you get up to like 20% fill of the file, it takes quite a bit to seek to the start of the page, making it quite unfun to quickly swap through pages. If you're still interested, I'd be happy to leave the onion skin options in there and some kind of mass PNG export, but I don't want you to get your hopes up that it'll be good for animation...
That's a-okay! It wasn't meant to be an animation software in the first place (though only you know that, really) so it's alright. Honestly, I've used the batch export feature in Flipnote Studio 3D countless times for various animations, so if that's the best way to go then I'm more than cool with it.

In other words: let the app focus on the drawing part and let users like myself be creative and figure the rest on their own. Not sure how to go about it, but I could offer some sort of guides on how to utilize Junk Draw for animations!

Here's a doodle showing my excitement towards this passion project of yours! (Transparency was added through another app; ibisPaint X, to be exact.)
 

Attachments

  • Axel-AxolotlOnesie-Excited.png
    Axel-AxolotlOnesie-Excited.png
    80.3 KB · Views: 8
  • Love
Reactions: haloopdy

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
I would be honored to help however I can! I'll test the app as much as possible and give every bit of feedback I can! Hopefully I do a good job at it too.

---

Here's a doodle showing my excitement towards this passion project of yours! (Transparency was added through another app; ibisPaint X, to be exact.)
Gosh, I never expected such amazing art would come out of this, it makes me very happy. It looks fantastic!

So, here's the pre-release version. You should keep a backup of the previous stable version just in case you need to swap back to it: https://github.com/randomouscrap98/3ds_junkdraw/releases/tag/0.4_pre1

It adds the onion skin as an option (not enabled by default, and not saved between reloads), an "animation" mode which allows the onion skin to be used (have to reuse parts of the canvas to make it work, so the canvas shrinks down), added an even smaller animation mode that better fits the 3ds screen, and gif export. Any one of these (or even normal use) could have stability issues, so please don't do anything you'll regret losing, and definitely don't open any files you care about with this version. I've tested it but one person is never enough of course.

I hope it works well!
 
  • Wow
Reactions: Axonic3D

Axonic3D

Member
Newcomer
Joined
Sep 11, 2024
Messages
12
Trophies
0
Age
23
Website
linktr.ee
XP
34
Country
United States
AW YEAH! THIS IS HAPPENIN'!

You don't know just how excited I am to make the most out of these features! Currently at my job as I write this, but even in my ongoing shift I was able to make a quick 5 frame animation loop to test out the features.

Before I continue, I should elaborate that all this time I've been using my New 3DS XL. I don't own any of the Old 3DS/2DS models which, now that I think about it, I suppose is the target device for testing. That said, I checked through Rosalina if the New 3DS CPU features were active and apparently they weren't! Thought I'd mention all this since it might make a huge difference.

As for my results so far, everything has performed well. At one point I closed my 3DS while using Junk Draw and when I opened it, the screens stayed black for a solid 2 seconds or so, then everything was fine. No crashes, no losses. Exporting was also fine. I've exported all animations at a 500 x 500 resolution, 130 ms. Everything was draw on the top layer (love that there's a letter indicating which layer I'm on). The only color I used for every frame was 0xc210. Despite that, exporting the GIF with 4 colors resulted in ANI01_A, the GIF with the yellow background and checkerboard pattern on the lines. ANI01_B was exported with 16 colors, ANI01_C with 256, and ANI01_D with 65536. The notable differences are the strength of the checkerboard pattern (dithering, if I'm not mistaken) on the lines and the colors.

I'll continue testing these features out and reporting on my findings. It's a lot of fun testing everything out and seeing what I can make with it! So happy that nothing has gone wrong so far, hopefully it continues staying that way.
 

Attachments

  • ANI01_D_1726404351.gif
    ANI01_D_1726404351.gif
    16.8 KB · Views: 6
  • ANI01_C_1726404327.gif
    ANI01_C_1726404327.gif
    15.8 KB · Views: 5
  • ANI01_B_1726404307.gif
    ANI01_B_1726404307.gif
    15.8 KB · Views: 4
  • ANI01_A_1726402928.gif
    ANI01_A_1726402928.gif
    13.3 KB · Views: 7
  • Love
Reactions: haloopdy

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
AW YEAH! THIS IS HAPPENIN'!

You don't know just how excited I am to make the most out of these features! Currently at my job as I write this, but even in my ongoing shift I was able to make a quick 5 frame animation loop to test out the features.

Before I continue, I should elaborate that all this time I've been using my New 3DS XL. I don't own any of the Old 3DS/2DS models which, now that I think about it, I suppose is the target device for testing. That said, I checked through Rosalina if the New 3DS CPU features were active and apparently they weren't! Thought I'd mention all this since it might make a huge difference.
Oh heck yeah, I'm happy you're excited! I've been looking into enabling the new 3ds XL, wow I forgot that everything is running in old3ds mode. I guess that might make it faster; some of it will be the same but yeah it could be way faster! I'll need to make some really big test files; so far the ones I've tested do seem to be much better! Thank you!

I'm glad to hear it all seems to work so far! The gif color thing is known; I've been checking into gif conversion and I guess it's just part of the general algorithm. They suggest to just always use 65k colors if you want the most accuracy. It seems really weird that they'd pick incorrect colors when you've only used 2 colors but I guess that's just part of some color frequency analysis whatever lol. I tried "fixing" it but other than scanning for all the colors in the entire drawing first and generating a palette (which is possible I think), I think I'll just leave it. The filesizes are roughly the same so I guess it's just part of the algorithm.

The closing lag thing I think is part of libctru; I noticed it too and have no idea what it could be. Other homebrew seems to do the same thing (it happens on the homebrew menu and ftpd sometimes), but if I can find something on it, I'll try to fix it. Though I'm glad it doesn't seem to break anything!

Aw the animation is so cute! I love seeing these, everything you draw is so good!
Post automatically merged:

All right, hoping 0.4 is close to being done. Here's pre2: https://github.com/randomouscrap98/3ds_junkdraw/releases/tag/0.4_pre2

There's not much more here, but I added the new3ds speed enable so it should take advantage of the better hardware, and I added a slow pen with changeable friction (set in the Options menu). If you want to go back to old3ds speeds to potentially save power (not sure if it does), you can enable "power saving" in the options menu.

Hope everything works!
 
Last edited by haloopdy,
  • Like
Reactions: Axonic3D

Axonic3D

Member
Newcomer
Joined
Sep 11, 2024
Messages
12
Trophies
0
Age
23
Website
linktr.ee
XP
34
Country
United States
Now with the New 3DS in mind, there might even be the possibility of expanding on certain features with less worry about performance issues! With an added "works only/best on New 3DS" warning, unless there's a way for the app to check what console is being used and deny enabling the more intensive features. In any case, I still haven't noticed any difference. Especially since the way I draw is that I make a new file rather than flipping to the next page. ^^"

Funny the way things function. The "issues" with the GIF colors and the lag aren't bad at all, though one issue I did run into was when testing going to the home menu with the app running. When I another app from the HOME menu (FTPD, to be exact) without first closing Junk Draw and while the START menu was still open, the app was seemingly taking forever to close in order to open FTPD. I had to restart my 3DS, lest I chose to wait long enough for Junk Draw to close proper. Dunno if there's anything worth investigating there, but—again—I thought I'd mention it.

Tried out the second pre-release of version 0.4, this time making a two-frame animation of a Pico-lookin' hedgehog (Pico from Newgrounds/Friday Night Funkin'). I was humbly surprised when I realized that the onion skin feature shows the drawing exactly as is, colors included, rather than as one color! By far the best onion skin feature I've seen in any app. Admittedly, it'd be pretty handy if I could see the page ahead too. Somethin' for another version, I s'pose. Also tried out the slow pencil. Basically a stabilizer feature, which came in handy for making smoother lines (most notable in the second frame). Toggled the power-saving feature and noticed... nothing, really.

Thanks for sharing this app and it's updates here for myself and everyone else to use. And thank you for the kind words too! Have you drawn anything as well during all this time updating the app and adding new features? I'm sure you're just as excited to give 'em a try and make some cool stuff with them too!
 

Attachments

  • ANI02_1726449693.gif
    ANI02_1726449693.gif
    18.2 KB · Views: 5
  • Like
Reactions: haloopdy

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
Have you drawn anything as well during all this time updating the app and adding new features? I'm sure you're just as excited to give 'em a try and make some cool stuff with them too!

Aw I haven't actually, I'm a terrible animator. I also have this problem where, when I'm working on programming, I seem to have absolutely no creative abilities, so I end up not drawing or playing music or anything. I'm sorry I don't have anything to show.

When I another app from the HOME menu (FTPD, to be exact) without first closing Junk Draw and while the START menu was still open, the app was seemingly taking forever to close in order to open FTPD. I had to restart my 3DS, lest I chose to wait long enough for Junk Draw to close proper. Dunno if there's anything worth investigating there, but—again—I thought I'd mention it.

Huh, that's interesting. I tried reproducing it many times in different states, such as quitting after loading big drawings, after exporting a gif, etc but was unable to reproduce it. That is, until I tried closing the app while in a menu. I was unable to do so, and the app hung forever like you experienced. I'm trying to figure this out, but in the meantime, make sure you're out of all menus before closing

Now with the New 3DS in mind, there might even be the possibility of expanding on certain features with less worry about performance issues!

That's true! Maybe I can get some undo/redo system in place. I realized I haven't actually added any of your earlier suggestions (undo/multiplayer/playback), so hopefully I can do at least that one.

Admittedly, it'd be pretty handy if I could see the page ahead too. Somethin' for another version, I s'pose.

I thought about that, but I'm not sure how I would display it. How would you know which layer is above and which is below? Or does that not matter? Should they all appear as faint lines behind the current drawing and it's up to the animator to figure out which is "above" the other? If that's the case, it should be easy to have some forward frames, though the onion skin layers will be limited to a total of 3 if you're on 500x500. If you're on 250x250 (Small Animation mode), I could have 3 in both directions. Is it going to be ok to have just 3 total, maybe 2 behind and 1 forward? It'll be configurable in the options menu.

Tried out the second pre-release of version 0.4, this time making a two-frame animation of a Pico-lookin' hedgehog (Pico from Newgrounds/Friday Night Funkin').

I love how it turned out! It's amazing what can be done with only two frames when you're skilled. And the slow pen is more like a lag brush than true stabilization; hope that's ok. Like using a long ink brush. Realistically, I should rename friction to brush length, but friction kinda makes sense too... in a way lol. It's just a much simpler implementation than true stabilization.

Edit: I wasn't able to figure out how to fix the freezing the "right" way, so I just disable the home button while in menus. This does effectively fix the issue, and fixes some other issues we haven't run into where you could interrupt the app while exporting pages and create corrupt files.

Edit2: All right, I'm pretty happy with 0.4. Some of these changes I want to make are really big and should go into a 0.5, which I think I'll work on later. I'd be happy to make small changes such as forward onion skin, if the limitations and implementation I mentioned are fine

https://github.com/randomouscrap98/3ds_junkdraw/releases/tag/v0.4
 
Last edited by haloopdy,
  • Like
Reactions: Axonic3D

Axonic3D

Member
Newcomer
Joined
Sep 11, 2024
Messages
12
Trophies
0
Age
23
Website
linktr.ee
XP
34
Country
United States
Apologies for not responding sooner! Been enjoyin' my days off. Also meant to share more art but I hit an art block and haven't even doodled on my 3DS. Congrats on releasing version 0.4!

Aw I haven't actually, I'm a terrible animator. I also have this problem where, when I'm working on programming, I seem to have absolutely no creative abilities, so I end up not drawing or playing music or anything. I'm sorry I don't have anything to show.

Nonsense! You made those cute doodles before, making some cute animated drawings is as simple as changing a few details to imply movement. You can make somethin' nice, I'm sure of it! No pressure tho, I understand the programming mindset situation even not being a programmer myself; set one's mind on something and all of a sudden all desire and ability to do anything else vanishes. When you get the chance though, maybe a break or a moment in time where you got nothin' going on, give yourself a chance to draw somethin', whatever comes to mind. Creating art in your own software is also a good way of knowing what else it might need. I don't mean to make more suggestions, but having used the app myself, I would highly recommend a bucket/fill tool. Certainly would save a lot of time when coloring.

I thought about that, but I'm not sure how I would display it. How would you know which layer is above and which is below? Or does that not matter? Should they all appear as faint lines behind the current drawing and it's up to the animator to figure out which is "above" the other? If that's the case, it should be easy to have some forward frames, though the onion skin layers will be limited to a total of 3 if you're on 500x500. If you're on 250x250 (Small Animation mode), I could have 3 in both directions. Is it going to be ok to have just 3 total, maybe 2 behind and 1 forward? It'll be configurable in the options menu.

Comparing Junk Draw to traditional animation, the previous and next frames would both be laid under the current frame. So yeah, it's up to the artist themselves to figure out which frame is which. Flipnote Studio 3D has a mode that can show up to 2 frames before and 2 frames ahead, and they all lack any color unlike Junk Draw. If that would be too intensive, you could allow only up to one frame before and one frame ahead, at least for 500 x 500 mode. Allowing for configuration, if possible, would be nice too though not all too necessary if you ask me.

One word of advice though: if you want to go the Flipnote route of removing colors from the onion skins to improve on performance, allow the option to change the background color and exclude the background from the onion skin. Otherwise, say I color in the background myself, the entire onion skin will be a grey block, rendering it redundant.

All right, I'm pretty happy with 0.4. Some of these changes I want to make are really big and should go into a 0.5, which I think I'll work on later. I'd be happy to make small changes such as forward onion skin, if the limitations and implementation I mentioned are fine

Awesome! By the way, would you rather me make a "master list" of suggestions? I could go on and on, from the smallest of features to ones that may or may not be far to ambitious. Plus, it'd be more organized to have a list than to have a bunch of ideas scattered between posts. And if you're not taking suggestions, lemme know too. ^^"
 

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
Aw, I really appreciate all the encouragement! IDK, I'll have to think about it, it's hard for me to draw in general... and I'm sorry about the art block! Don't worry about not posting; it's a forum, it moves slow.

Awesome! By the way, would you rather me make a "master list" of suggestions?

It's up to you! I have a github for this, so you could open each suggestion as an issue, letting you make changes or updates to your ideas: https://github.com/randomouscrap98/3ds_junkdraw/issues. I won't mind having a bunch of them there. When I go back to work on projects, I often look at the issues list to see what needs to be done.

I may take somewhat of a break from this; I know it wasn't very long but these days I get burned out on programming really fast. Feel free to add the suggestions though, it'll be good to have a list of things people want when I come back to it.

One word of advice though: if you want to go the Flipnote route of removing colors from the onion skins to improve on performance, allow the option to change the background color and exclude the background from the onion skin. Otherwise, say I color in the background myself, the entire onion skin will be a grey block, rendering it redundant.

So as far as my software goes, it would actually be more complicated to render it grayscale, so don't worry. I might be able to add a mode where the background is excluded like you said, which would give you 3 more onion skin layers for a total of 6.
 
  • Like
Reactions: Axonic3D

Axonic3D

Member
Newcomer
Joined
Sep 11, 2024
Messages
12
Trophies
0
Age
23
Website
linktr.ee
XP
34
Country
United States
Aw, I really appreciate all the encouragement! IDK, I'll have to think about it, it's hard for me to draw in general...
...
I may take somewhat of a break from this; I know it wasn't very long but these days I get burned out on programming really fast.
Take your time! Art is meant to be fun after all. That goes for programming too, so take however long you want and need to rest. You did a lot of great work on these latest updates!
It's up to you! I have a github for this, so you could open each suggestion as an issue, letting you make changes or updates to your ideas: https://github.com/randomouscrap98/3ds_junkdraw/issues. I won't mind having a bunch of them there. When I go back to work on projects, I often look at the issues list to see what needs to be done.
I went ahead and added a few suggestions alongside some details explaining them. Wasn't sure of how to format the suggestions, so hopefully they make sense. Hopefully more peeps add their own ideas too, be it here or there! Better yet if we get to see more art done on Junk Draw.

Actually, I was wondering about opening an off-topic thread all about Junk Draw drawings. You wouldn't mind if I did such, even linking the thread back to this one?
 

haloopdy

Member
OP
Newcomer
Joined
May 29, 2021
Messages
14
Trophies
0
Age
33
XP
156
Country
United States
Actually, I was wondering about opening an off-topic thread all about Junk Draw drawings. You wouldn't mind if I did such, even linking the thread back to this one?
Oh yeah I don't mind at all! IDK what forum moderators will think about it but I certainly don't mind. You'll probably be using it a lot more than me lol.

I went ahead and added a few suggestions alongside some details explaining them. Wasn't sure of how to format the suggestions, so hopefully they make sense. Hopefully more peeps add their own ideas too, be it here or there! Better yet if we get to see more art done on Junk Draw.
I saw, they all make perfect sense, don't worry!
 
  • Like
Reactions: Axonic3D

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://imgur.com/gallery/0b7OkJk