Saturday, March 04, 2023

Pre-sale Launch Day, Argus v1.19

A busy couple of days. Launched The Golden Age pre-sale on Bandcamp, and released the Welcome to My Gallery video on YouTube, by coincidence at almost exactly the same time as Sparks launched a new music video.

I spent most of the day, and today so far, updating Argus, my animation/video software. I'm almost certain to release this for sale, but I'm unsure of the best way to do this or how much to charge. It requires an odd mix of specialist knowledge, while being very easy to use. It will also visually look different on each computer, unusual for animation software, as it uses 3D hardware to generate the images.

It crashed when clearing out an old costume (that is, 3D data) so had to fix that. It was caused by not clearing out the old geometry data for the 3D display. I've added lots of other features including optional video refresh rate for the live display, when setting the screen mode. Custom frames per second to display hz options for each of the major F.P.S. rates: 24, 25, 30, 29.97 (technically 30/1.001), 30, 59.94 (technically 60/1.001), and 60. For 30 F.P.S., a rate of 25hz seems to work best. For 25 F.P.S. its 33.54 and for 24 it's 33.67. I've no idea why. I don't know if its system specific (though Ludwig, which is at least 4 times slower, also worked at 25hz for 30 F.P.S.) or generally true.

I've also added the feature to add/spawn actors live during video playback, allowing a unique degree of creative input for a so-called animator. You can already live 'move' objects with the mouse, now you can hit a key and one will appear. It's the visual version of hitting play-and-record on a tape recorder and creating visual objects.

A full list of screenmodes is detected on startup and saved out, menu items now show the keyboard equivalents, and lots of other little things, including a fix to the way that texture coordinates are calculated. Texture coordinates range 0 to 1, but this can cause overlap on the left edge with the right edge (all textures are seamless tiles). Texture coordinates should ideally range from the centre of the first pixel to the centre of the last pixel, so a 256x256 texture should start at 1/512 = 0.001953... rather than zero. I've added the feature to calculate all of this for any specified texture size.

My head is spinning in coding mode. I must now pause and reflect. My main job over the month is to paint something for the Ruth Borchard self portrait prize.