6 ms·
Show HN: Cobalt – a pixel-art painting studio for the Nintendo DS
Hey everyone,
Cobalt is a program for painting textural and expressive pixel-art on Windows, Linux, Nintendo DS, and in-browser. The same 46KB core executable runs on all platforms, with a thin emulator layer sitting on top to handle differences in inputs and filesystem access (which makes it easy to port between systems). It's built on Bedrock[0], an 8-bit virtual computer system I posted about here in July.
I created Cobalt because I wanted to draw messy, gritty pixel art without smooth gradients, and the smaller colour palette helped with making bolder colour choices. Images can be moved back and forth between platforms, so you can copy works-in-progress to the DS to keep working away on the bus or train. It's like a 2004-era vision of the future.
There's a live demo on the linked page that runs in the browser, and there are downloadable demos for every platform here[1]. Let me know if you try it out or have any questions!
[0] https://benbridle.com/bedrock https://benbridle.com/bedrock
[1] https://derelict-engineering.itch.io/cobalt https://derelict-engineering.itch.io/cobalt
- mouse_ 1y agoLong live resistive touch screens!
- snowram 1y agoLittle known fact, the original DS touch screen is pressure sensitive. I don't know of any games using this feature, but the Colors homebrew does use it! So the DS was a fairly convenient digital art machine for its time.
- HelloUsername 1y agoReminds me of Flipnote (https://en.m.wikipedia.org/wiki/Flipnote_Studio https://en.m.wikipedia.org/wiki/Flipnote_Studio), where people created very funny things as well (https://www.youtube.com/watch?v=GMS8-N3HCGI https://www.youtube.com/watch?v=GMS8-N3HCGI)
- wigglefruit 1y agoFlipnote has an active community on Sudomemo (https://www.sudomemo.net https://www.sudomemo.net)
- globalhsbc 1y ago[dead]
- merelysounds 1y agoLove it; editable patterns are my favorite feature. I also like that in general it is a very configurable editor - being able to customize each tool is extremely user friendly.
- benbridle 1y agoThank you! The customizable tools give a surprising amount of power to the user for a relatively small amount of work (just a couple of basic editing screens). The most interesting outcome of all this is that the scatter and spacing parameters work equally well on the bucket fill tool as they do for regular brushes, allowing you to emulate white noise and similar when filling large areas.
- enricozb 1y agoHuge fan of this sort of work, would like to put my DS to use someday.
- nemomarx 1y agoHeadline buried the lead that it also runs on other platforms. That part sounds really impressive.
- zahlman 1y agoI love everything about this concept. Building your own stack, the overall aesthetic, doing simple things with modern tech to recapture the past... you are definitely my kind of people. "2004-era vision of the future" is a great slogan (although I'm also a fan of some c. 1984 insights).
- benbridle 1y agoThank you! I'm really passionate about exploring this direction of computing, digging around in a bargain bin of discarded futures to find ideas worth pursuing.
- Jotalea 1y agoit's always awesome seeing people still making stuff for the DS.
- benbridle 1y agoIt's such a good platform for running programs on. It's small, has plenty of grunt, and the dual screens are great for multi-window work.
- leakycap 1y agoI wonder if this would be well-known if it was free instead of a nominal cost of $5? When I put this much work in, charging a tiny/nominal fee feels like a barrier without a clear reason. Younger users without payment methods and those on a budget will not engage with what you built. At $5, the income stream has to be miniscule, so why choose a $5 license instead of free with donations? If you want to make money on this, all the thrilled users you currently have would have likely paid 2x or more the current price, so if making money from it is the reason for the cost, $5 is confusing. But $5 is also confusing as a cost of entry to something that could be widely enjoyed at no extra cost to you, and might bring you something good in return if it was free and not paid. At $5 a pop I can't imagine you're getting much of anything, including attention or widespread usage.
- dolmen 1y agoThere is an online demo: https://benbridle.com/projects/bedrock.html#cobalt https://benbridle.com/projects/bedrock.html#cobalt
- gyomu 1y agoYoung users without payment methods do not sideload binaries on a Nintendo DS. If you’re hacking with a Nintendo DS in 2025 you were most likely a teenager in the 2000s/early 2010s, and you most certainly have a payment method. Agree that OP is underselling their work at $5 - the next big psychological barrier after $0.99 is at $9.99, might as well go there
- wkjagt 1y ago
- ugh123 1y agoAmazing! I couldn't see how to do the 'sketch layer'. Layers would be amazing for this
- benbridle 1y agoThe sketch layer is accessed with the 'eye' button in the bottom-right corner of the canvas screen. Clicking that button toggles visibility of the sketch layer and reveals three more buttons, and clicking the newly-revealed pencil button toggles drawing to the sketch layer instead of the canvas. The decision to implement only two layers for Cobalt was a conscious one. The design of Cobalt is focused towards speeding up the user and helping them to finish their images, and I found that being able to go back and tweak each layer made it more difficult to commit to a final image.
- ugh123 1y agoMakes sense. Thanks!
- dolmen 1y agoPrevious discussion about Bedrock: https://news.ycombinator.com/item?id=44526322 https://news.ycombinator.com/item?id=44526322
- dannyfritz07 1y agoHi BenBridle. What changed between Bedrock Spec v1 and Spec v2? Is there a way for me to see what's new? I'm assuming there were changes to support more than 1 screen for NDS, but not sure.
- benbridle 1y agoThe second revision of the Bedrock specification changed very little of consequence, but I should probably add a change note to the spec. The structure of the document was reworked, becoming a single long document instead of multiple smaller ones; some sections were reworded for clarity; the behaviour in some underspecified edge cases was made explicit; the assembler specification was cleaned up; reading from the action port on the file device returns error state instead of success state. I don't expect that any existing programs other than Cobalt will have been affected. The bedrock-nds emulator uses the second screen to run a second Bedrock program (the on-screen keyboard), it isn't exposed to the main program. My intention for Bedrock is that it will never change going forwards, other than for minor clarifications, so that existing programs will continue to work on any emulator indefinitely. Have you played around with Bedrock before, or written a program for it?
- dannyfritz07 1y agoI haven't written any Bedrock assembly yet. But a few months ago I read the spec and bookmarked it as something interesting. I am toying with the idea of creating a disassembler for it now.
- benbridle 1y agoOh cool, that'd be great! I'm wanting to write a disassembler in the future as part of a dedicated debugger for Bedrock programs. If you end up writing down any plans I'd love to take a look or help you out, my email address is ben@derelict.engineering.
- msephton 1y agoGreat work! I’ve built a pixel art app for macOS and I’ve also enjoyed rolling everything myself.
- gatane 1y agoThis thing is so cool
- benbridle 1y agoThank you!
- vyr 1y ago[dead]
- bigjobby 1y agoI will never tire of pixel art. Top work