| |
cobbpg
Registered: Jan 2022 Posts: 36 |
Taking NUFLI one step further
I'm working on a new converter for creating images the C64 can display with as much freedom as possible: NUFLI Studio preview video.
The images are NUFLI with the sprite colour limitations lifted: all sprite colours outside the FLI bug area can potentially change in every row. While this is impossible in general due to CPU time limitations, the solution is to generate the speedcode that updates the registers ahead of time. The code generator can make informed decisions about dropping the least impactful register changes to fit everything into the available budget. In practice, most pictures don't require all the 10 possible colour updates on every scanline, far from it.
Another big innovation compared to Mufflon is the improvement in conversion speed. Lifting the sprite colour change limitations makes it easy to fully parallelise the brute force colour search step for each 48x2 pixel area (or 24x2 pixels over the FLI bug), and this allowed me to implement it as a compute shader. The whole process takes about 0.25 seconds on my three-year-old gaming laptop. Besides, when using the internal editor, only the affected areas are recomputed, and they can be previewed in VICE right away (note that the video shows some lag that's probably introduced by OBS somehow; it doesn't happen outside recording).
My hope is that making the feedback practically instantaneous (even when using an external image editor) opens the door for pixel artists to develop a much better intuition about this image format. Also, removing the limitation of only changing sprite colours every second row should make it a lot less frustrating to work with.
I'm not sure what to call this image format. This is 95% NUFLI, the only real difference is that the speedcode is also generated ahead of time (when run on NTSC, there's a patching step done by the displayer routine to make it work), so the files are 4096 bytes bigger (they load from $1000 instead of $2000, the rest of the structure is almost identical). I'm leaning towards "NUFLI2" to make it somewhat search engine friendly, but I'm open to ideas.
At the moment I'm in the process of writing a manual for the tool and a deep-dive article about the technical details. Hopefully neither of those will take too long! |
|
... 76 posts hidden. Click here to view all posts.... |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
@cobbpg
I am on a 1366x768, and the nuflix window tries to resize itself to this, it seems it resizes all elements inside the window and I get horrible artefacts on the preview window, every 32 or 64 pixel sized quare block the pixels are doubled or not doubled.
Somehow you should tell the gui to never resize the preview windows, make it always 320x200 or double, etc.
also when I try to resize the window it always just wants to stay fullscreen. |
| |
cobbpg
Registered: Jan 2022 Posts: 36 |
Thanks for the report, I'll look into that too for the next version. I set the default window size to 1600x900, and that might be part of the problem. As for the preview images, I can change the logic to ensure that they are only scaled by integer factors. |
| |
Cybortech
Registered: Jan 2009 Posts: 16 |
@Digger: Yes! : ) |
| |
The Sarge
Registered: Aug 2002 Posts: 49 |
I really appreciate you making the effort coding this! Great work.
But after some testing I dont think I will ever be able to use this though. Its too unpredictable for my liking. Too much trial and error to make it work.
However some advice if you want to upgrade it.
- Zoom with scroll wheel on mouse.
- Pan by holding space key+left click on mouse to drag canvas around. Could also be scroll wheel click and hold to pan.
- Primary and secondary colour on left and right mouse buttons.
- A color picker tool. ALT+ left click on a color to set this colour as your primary color, ALT+right click to set secondary.
- Pixcen or Pepto palette. The one in the tool right now has very weird colours.
- Bucket Fill tool. |
| |
cobbpg
Registered: Jan 2022 Posts: 36 |
Quoting The SargeI really appreciate you making the effort coding this! Great work.
But after some testing I dont think I will ever be able to use this though. Its too unpredictable for my liking. Too much trial and error to make it work.
No problem, thanks for checking it out!
Quoting The Sarge- Zoom with scroll wheel on mouse.
- Pan by holding space key+left click on mouse to drag canvas around. Could also be scroll wheel click and hold to pan.
- Primary and secondary colour on left and right mouse buttons.
- A color picker tool. ALT+ left click on a color to set this colour as your primary color, ALT+right click to set secondary.
- Pixcen or Pepto palette. The one in the tool right now has very weird colours.
Yep, these features are all coming in some shape or form in the next version. I'm still thinking about how to make palette management convenient.
Quoting The Sarge- Bucket Fill tool.
This is something I'm not so sure about. My current thinking is that this tool is primarily for adding the last touches where you really need full control, and you'd do most of the work in your preferred editor prior to that. I'd really want to avoid expanding it into a full-fledged drawing application, since there are so many alternatives already.
You can set up NUFLIX Studio to act as a simple pipe that processes your freely drawn image and sends it to VICE without requiring any interaction other than pressing save in your editor. A composable building block you can add to your workflow, if you will. Whether this workflow is actually viable remains to be seen, and it depends on how much feel you can get for the limitations. Having a single sprite colour affect a 48-pixel wide area can certainly be an annoyance... |
| |
cobbpg
Registered: Jan 2022 Posts: 36 |
I'm happy to announce the release of NUFLIX Studio v1.1 just before the holiday season! ;)
The most important change since the previous version is that the exporter will always include all the necessary sprite moves to be able to display the full picture, no matter how many register updates the picture requires. Other than that, the editor was extended with some features requested by various people. For further details, check the full changelog. |
| |
Jetboy
Registered: Jul 2006 Posts: 338 |
Awesome!
Sadly i won't find the time to play with it before christmas :( But then... :) |
| |
CopAss
Registered: Sep 2004 Posts: 22 |
Quote: I'm happy to announce the release of NUFLIX Studio v1.1 just before the holiday season! ;)
The most important change since the previous version is that the exporter will always include all the necessary sprite moves to be able to display the full picture, no matter how many register updates the picture requires. Other than that, the editor was extended with some features requested by various people. For further details, check the full changelog.
cool! |
| |
Monte Carlos
Registered: Jun 2004 Posts: 363 |
I appreciate your work too, but I'm missing a description what the new format enables one to do compared to the nufli reference. Is it just that the sprite positions are customizable or is it about the colors or both? |
| |
cobbpg
Registered: Jan 2022 Posts: 36 |
For the time being only the ability to change the underlay colours outside the bug area in every scanline. Changing the sprite configuration is a possible future improvement, but it would require a rewrite from the ground up. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 - Next |