Skip to main content


I am finally getting somewhere with #uxn! There's no collision or anything, but you wouldn't believe how much work it was just to draw this.
#uxn
in reply to Annette

So varvara (the "machine" that hosts uxn) has four colours. Great! Four colours is plenty, look at this lovely four colour scene. However, varvara can only draw sprites with three colours - one is reserved for transparency. And if you'll notice, I really want to have 4 colours in the sprites - I need the dark blue to contrast with the background colours, I need the green and orange for clothes and hair, and I need the cream for her skin.
in reply to Annette

No problem! We'll just split her into two sprites, like in Mario 2. https://www.youtube.com/watch?v=opoQdHqGEHg
However. We have a further problem. Varvara cannot draw transparent sprites with colour 0. At all. Not even a 1-bit sprite! It always uses colour 0 for transparency. So we do the unenviable - we completely reimplement 1-bit sprite blitting to allow us to draw the colour 0 skin. This is by far the most complex thing I've implemented in uxn assembly so far. But it works!
in reply to Annette

I'm not sure how much I will do with this. I drew some attacking and getting hurt animations, hearts, rupees, a few enemies. It would be nice to get some rudimentary interactions in. I'm slowly getting some idea of how to write uxn. It's fun, but only being able to interact with the top few bytes of the stack is pretty mind-bending.
in reply to Annette

The source code is Not Nice but I stuck it in a gist anyway for the curious. Just don't expect it to explain itself. https://gist.github.com/weeble/d0d4edc4bbcc9855c867ecd904b09e7e
in reply to Annette

Wow! Well done. This is shaping up nicely! Varvara's color limitations are pretty brutal, but you've managed to work around them well enough it looks like 😀 Let me know if you're ever stuck and would like me to look over a bit of drawing code, I might have a few suggestions. Keep it up!

Lo, thar be cookies on this site to keep track of your login. By clicking 'okay', you are CONSENTING to this.