6 ms·
Show HN: Poxi – A Hackable Pixel Art Editor
- Simpliplant 10y agoThis should probably be advertised more as renderer than editor as editor without save feature sounds like a joke - why would you create/edit anything if you can't save it? But it looks really cool anyway! :)
- jasonkostempski 10y ago"why would you create/edit anything if you can't save it?" https://buddhists.org/buddhist-art/the-symbolism-behind-the-creation-and-destruction-of-the-buddhist-sand-mandala/ https://buddhists.org/buddhist-art/the-symbolism-behind-the-...
- Xiol 10y agoYeah okay, but c'mon.
- dahart 10y agoThis comment is less helpful than the one you replied to. @Simpliplant has a good point, people expect digital paint tools to save, but also made a blanket unqualified statement about creating anything without saving. @jasonkostempski replied that some people don't want to save, the blanket statement doesn't apply to everyone. And that's absolutely true. This is a valid, though somewhat tangential, point of view about performance art. There is a long history of artists using art tools that don't have save or undo. Traditional arts are still founded on this concept, the art world still largely values techniques that involve the risk of screwing it up, and are hard to copy. That's changing over time, digital arts are growing up, but the majority opinion in the art world is still that tools with undo and tools that can replicate without loss are for unserious artists. Music is the same way, it's a performance art, and digital sequencing and digital performance have often been considered inferior. Robert Moog, one of the most famous creators of analog & digital synthesizers, even wanted to make his synth a performance instrument, and didn't like the idea of using a sequencer. Sound patches couldn't be saved either, and many famous musicians had enormous careers using Moogs.
- cmurdock 10y agoStill, it seems incredibly unlikely that someone needing a pixel art editor would not want the ability to save their work.
- dahart 10y agoIt is indeed incredibly unlikely that someone needing a pixel art editor wouldn't want save, I agree with you completely, and I bet @jasonkostempski does too. But that doesn't invalidate what @jasonkostempski said. The question "why would you create/edit anything if you can't save it?" was taken literally. @Simpliplant didn't qualify people using pixel art editors, the question said why would you do anything if you couldn't save. As it turns out, people do that all the time. Just not with pixel art editors.
- mejari 10y agoPart of having a productive conversation is using context clues and social norms to help your understanding of what someone means when they say something. Derailing the conversation by taking a comment literally when everyone understands the intent behind the comment is not helpful.
- derefr 10y agoBut one of the interesting parts of the paradigm of hierarchically-threaded online discussion, is that only one subthread/reply to a given thread has to be a "productive conversation" (i.e. to continue the thread in the "obvious" way); the other subthreads can be tangents, and tangents do not "derail" in the same way they do in a flat-linear-threaded forum.
- mejari 10y agoI would disagree, because they're still visible and still structurally part of the same conversation, meaning people reading the conversation will read those tangents, or at the very least be distracted by them.
- cr0sh 10y agoOP might just be in a "release early, release often" stage of development, and the demo might get more impressive as time goes on (color selection would be nice, as well as a preview mode). But yeah - it is cool - great show for the initial offering.
- prewett 10y agoThe demo has a "Download" button, and then you can right-click and "Save Image As..." So, not a feature per se, but the functionality is there.
- tinco 10y agoThe demo is very smooth, the infinite grid feels impressive. That said, how do you know if performance is great if you haven't implemented animations yet? Did you perform benchmarks?
- HugoDaniel 10y agoVery good, how did you do the infinite grid ? I am also working on an infinite grid pixel art tool :)
- and0 10y agoI made an (unreleased) roguelike engine with a (virtually) infinite world, like Minecraft etc, in Java. I did it as a Hashtable<int, DataContainer>. In your case DataContainer would be some part of the canvas, maybe a 32x32 pixel area. And the int key would be the index of the x&y coordinates of that particular area. The image dimensions could then be a max size of the square root of an unsigned int, and to get the index of each tile you'd just do (y * dimension + x). You'd throw all this into a little wrapper so you have a "virtual" canvas that could be as big as you'd ever need it to be. Also, don't actually initialize each piece of canvas until a pixel is actually placed in it, instead returning a static empty section of canvas if the key isn't in the hashtable yet. This allows for zooming way out smoothly.
- RodgerTheGreat 10y agoBuilding on this, the general approach you're describing is a "sparse" data structure. For example, https://en.wikipedia.org/wiki/Sparse_array https://en.wikipedia.org/wiki/Sparse_array A cousin to this approach would be using some type of space partition with the assumption that most of the partitions represent large, uniform (empty or solid-filled) areas: https://en.wikipedia.org/wiki/Space_partitioning https://en.wikipedia.org/wiki/Space_partitioning You can see that these are fundamentally related ideas- pay for the complexity of the data you store rather than its volume.
- and0 10y agoRight, I also wanted to mention using a Quadtree but that seems excessive for pixel art (or most applications, for that matter). e: Another consideration would be keeping level-of-detail versions of each chunk of canvas as well, so zooming very far out loads/shows a lower resolution rendering. That would let you make a Google Maps style collaborative pixel art canvas or something.
- dahart 10y agoIs there a way to play with the API in Chrome dev tools? I see fillRect, for example, in Poxi.js, but it's not available in global or window scope, nor exposed to the Poxi object.
- Oxitendwe 10y agoUmm... is it supposed to look like this? https://aww.moe/wosyo0.png https://aww.moe/wosyo0.png I'm using Tor Browser 7.0a1-hardened (based on Mozilla Firefox 45.7.0).
- overcast 10y agoIt's art!
- overcast 10y agoYou should register pixelpoxi.com and have a save feature!
- rawrmaan 10y agoIf you like creating pixel art I implore you to come play Falcross! We've got a nonogram puzzle editor that allows you to create masterpieces up to 25x25px, and there are thousands of hungry players waiting to solve your puzzles :) https://www.falcross.com/ https://www.falcross.com/
- ChrisClark 10y ago:( Any plans for an Android version?
- zer0t3ch 10y agoOh my god, it's like Picross! I grew up with that on DS, and I'm extremely excited to play this now. I can't wait for it to show up on Android.
- tnorthcutt 10y agoIf you like this, you might also like Jenn Schiffer's https://make8bitart.com/ https://make8bitart.com/
- bradknowles 10y agoHmm. Doesn't seem to be very useful on an iOS device. ;(
- batina 10y agoRANT: No disrespect, but why is everyone using words like hacker, hackable, etc?! Are they supposed to sound cool? Or, maybe I am too old to understand it? :)
- dahart 10y agoI think hackable is referring to the client side API here.
- noway421 10y agoIt's extendable and "modifiable". Being written in javascript, you can do all sorts of hacks around the code while not even modifying the source code itself, but using the APIs/other means around it for customization. JS injection, monkey patching, es6 Proxy, etc. Probably doesn't apply with that specific one, but putting a custom CSS onto something also qualifies to be "hackable". Basically all the web/webview based apps can be marketed like that if they don't specifically restrict such thing.
- eveningcoffee 10y agoIt consumes 100% of CPU on FF and Chromium. Come on, please show a little respect toward others, it is only a pixel editor. Edit: still nice initiative.
- heretoo 10y ago"please show a little respect toward others" I'm sure he didn't mean it personally.
- _Marak_ 10y agoI really like using http://www.piskelapp.com/ http://www.piskelapp.com/ for online pixel editing. It's useful for making 2D sprites ( and saving them for later ). It's also open-source: https://github.com/juliandescottes/piskel https://github.com/juliandescottes/piskel