Monday, August 31, 2020

Peter Green Day, Amber Nightmare

A strangely lost yesterday. This year has been a diversion to music, video, and programming largely due to Covid, but I feel at something of an end; perhaps there was something more direct or cathartic in visual art, and of course programming is an emotionless distraction which has pros and cons. My plan for 2020 was to release one new thing each month. It's unlikely I'll release more than The Intangible Man now; this was always the case. Music takes time to prepare and I have no more written work.

Yesterday I watched a documentary about Peter Green, and played some guitar afterwards to the first half of the Renaissance live album, perhaps my only happy moment of the day.

I awoke from a nightmare at 4am.

A pretty young woman with auburn hair had a powerful, domineering and jealous husband. He asked his best friend, a small and meek artist, to protect her, as he suspected that she was having an affair. The artist and the woman were having an affair, and she wanted to escape her husband but was afraid of him. The artist gave her a ring of a strange design, it had a gold band but a large ceramic top, blue and white porcelain in a sloping-ring shape, like a lower segment of a 45 degree cone. Amber was set into the sides, at first one oval stone, flat like an almond, and some other gems. The woman was away from both men and she died, drowned in a pond in an unexpected accident. Two amber stones were now in her ring, on opposite sides. It was as though the presence of the stones were part of her personality. I thought in the dream that perhaps these represented the artist and her husband.

I paint with amber. Perhaps the dream is a reference to a need for more art, but there are many levels.

I slept again and dreamt of a couple, a older man and young woman. The man was a some sort of new-age guru of meditation, a cult figure, and the woman was his adoring disciple. He spoke to me in a white room of a trendy Bauhaus-style house, where the walls were painted with words in black curling script, each a sort of spell, a type of meditation. He told me that he can practice lots of types of meditation but that Death Meditation (I clearly remember the D) was to be avoided. I thought that the only meditation that matters to me is a basic peace meditation, the first in the room, something like 'a basic Omm' but I don't know if I said this out loud. There was some sex videos that the man had made with the woman and his teenage son; these were on YouTube, the pair said that there were all fake to bypass the censors. I found them disturbing.

There was a small kitten in this dream too, about the size of a bee, carrying a wooden lance, like a 20cm long cocktail stick, near the ground. I followed it and tried to help it but when I touched the lance the kitten had turned into a spider which jumped at my face and, hideously, terrifyingly, into me, beneath my skin. This happened twice in a row - two spiders. I tried to wash my face to cleanse away the spiders. Kittens in my psyche represent appeased or acknowledged fears, and spiders general fear.

Today, monthly backups, a day early due to house rennovations tomorrow.

Saturday, August 29, 2020

David Lynch Dream and a Devil Pact Nightmare

An awful night of stomach pain and nightmares.

First I dreamt of David Lynch, who was visiting Crewe with a small group of friends, he was relaxing in a shop front, about where Snakey Jake's used to be on Edleston Road. I said hello and we walked together up town. He commented on the different architectural styles of the road, and I mentioned that I did that too. We arrived at a furniture shop on a street corner and we went in, he sat in a luxurious leather office chair. I said he should buy it, he said he'd like to but commented that it would cost him a huge $10,000. I asked him if he'd read any Dali books and he said no, I offered, or was going to offer, to lend him my copies of 50 Secrets or the Dali autobiography, but remembered that I had lent these out.

In a later part of this dream there were some sex parts in a pretty morning-light bedroom with white silk sheets. The woman in question at first seemed interested but kept talking about other things, ignoring my actions and moving around the room. I slept there and had a lucid dream within this dream, a completely different scene. This scene was simple and of a woman on a grass common and some distant houses at night. Another woman was there, larger and closer to me. The effect was something like a computer game or animation, the figures almost being like flat cut-outs. Using my lucid dream telekinetic powers I picked up the distant woman and tried to throw her into the distant sky but couldn't throw her high enough and she crashed into the house roofs. The effect was something like an animation. I awoke from this into the bedroom dream again and discussed it with the people at the breakfast there, which I think included David Lynch. I talked about the lack of ability to fly or throw objects to high heights in dreams. I wondered if gravity was greater in dreams, that the dream universe was a unique and shared dimension with its own physical laws and I asked about their lucid dreams in case they too had similar experiences.

A later dream was more disturbing. I was part of an American military unit on patrol in a dark and desolate wasteland. I was some sort of civilian expert and looked down on by the soldiers. One soldier had to climb onto an object of who brick walls about 2 or 3 metres tall, and over a ladder which was lying horizontally but precariously. It fell and the soldier fell onto his back causing an injury, but he seemed to be okay. There seemed to be traps and danger around. We returned to some sort of indoor base, which was well lit, white walls, perhaps echoing the looks of the film Aliens. Suddenly we were attacked by a rogue officer or perhaps a new enemy. He was wearing normal clothes, and with a machine gun started to kill everyone in a gory manner. I managed to hide under a table.

I survived and the man offered me my life if I, and Deb who was suddenly here, signed my soul to to devil. He showed me an old book and said that Lord Byron was the last one to do this. I opened the book and was keen to read Byron's script, but Deb just wanted to sign, which she did in pen. I only had a pencil and asked for a pen, but was given another pencil, being told that, traditionally, the signature should be made in pencil. I signed 'Mark k', in a strange sigil-like shape. I said that I started to write 'Mark x' instinctively, but thought that adding a kiss was inappropriate. The book was closed but then the man (who now looked like a friend) said that he would now kill us anyway; we were betrayed. He, with a shotgun, and a jackal or other animals, pursued us. I tried to run up some old stairs; I seemed to be in a crumbling and disgusting building, mouldy and rotten, perhaps like the Liverpool asylum or the old Print Mill in Macclesfield. At the top of the stairs was an demonic woman with black snake-like hair and black eyes. The stairs and walls were black with what looked like poppy seeds, thick mould. I knew that it would be fatal to go up there, so after a few steps turned to run elsewhere.

I've slept late as a result of this, missing almost all of the morning and I have no energy for work yet. Perhaps elements of this dream are about my lack of visual art this year. I'm working constantly but my output always feels inadequate, I feel filled with ideas, as ever, an everlasting tumble of white water. I need to invent a day with more than 24-hours.

Friday, August 28, 2020

The Dusty Mirror Launch Day

Launch day of The Dusty Mirror today. I reminded myself that this is my 5th music release of the year. Animalia had some slight balancing changes and new artwork, and Synaesthesia was a new recording of most of the tracks. War is Over and Burn of God were both new releases. I have five tentative works in progress but which will see the light of day, if any, will remain to be seen because I like the idea of unity and a central idea, so I'm splitting various fragments and tracks to fit these specific themes. I'm seeing albums like grand cinema, as I like to see all artworks.

On the cards for certain is the second Fall in Green album which contains our Apocalypse of Clowns work. I have 9 or 10 tracks complete, but the total length is only about 25 minutes, so I need more. I think any next release will be a few months away, so these five will spread over 2021.

I painted one small underpainting this year, my lowest painting output since I started painting and my tentative life as an artist in 2004. I still love oil painting, but the current situation prevents exhibitions or competitions or sales, and online is a terrible and poor place to show paintings - I dislike the very thought of it. Moreover I've started to embrace music and video to a much greater degree and feel more confident of my performance skills with each passing song, and I can see the clear progress I am making. I'm sure I will paint again, and images are the very root of my music, but I can't imagine when.

I've posted some online messages about The Dusty Mirror today, and sent out an email newsletter. I've also registered the music with Musicbrainz and other places, this is the bare essentials of what is necessary for a release. Ideally I'd have more videos for the songs, but even Burn of God only has the one recent video. I'm more excited with creation of new work than promoting these existing works. I create to push myself and to learn, and when I feel I'm doing this the urge to exercise is too powerful to avoid.

Yesterday I finished one of the Fall in Green tracks; Beetle Circus, and sketched out a second for the Dark Hyperborea project.

Today I've worked on the production of Burnout, a very electronic and very flat and crude digital dance tune, one of my tunes from the 90s. There are lots from that era that I've not produced to a good standard or released, and this one, different that it is from my other music, will suit the electronica album. The hard part here is adding some sort of emotion despite the instruments sounding very fake and the tempo necessarily very regular. Perhaps I merely need to listen to other 90s trance music and content myself that fake-ness is part of the genre itself. The Burnout theme is a nice enough tune, as good as anything that one of those 90s bands like Sash or Robert Miles created.

I need clones so that some of me can work on videos or other things. Onward!

Thursday, August 27, 2020

More Music Work

I'm feeling low on energy mentally and physically. The only things of note done yesterday were recording the guitar solo part for Conan, and submitting a story and subscribing to a newly discovered magazine, Neon, which specialises in dark work with a surrealist twist, exactly my sort of work. The cost of a subscription is only about what many competitions charge for entry.

More music work today, on a new but large and complex power-ballad called Rusty Playground. My key aim is to use images and descriptions rather that merely express a feeling or narrative, but perhaps I need to take a break. I dreamed of going supermarket shopping with 80s era Daley Thompson and he told me off for constantly working and said that I should slow down and take more breaks.

Tuesday, August 25, 2020

Dark Hyperborea

Working on music for the past two days. I want to unify a few tracks I have in different stages and have recorded new guitar parts for the new Conan song yesterday but I'm frustrated at my playing - how long was it before I could easily sit at a piano and improvise freely? Perhaps I'm underestimating the effect of years of casual keyboard playing. I must remember that I've only been playing guitar since the start of July.

Apart from the guitar solo parts and vocals (which I always save for last), Conan is complete, and Take This Rose. I've also recorded a new song entirely called Dark Hyperborea, which began as an image and a mood. I had the image of a desolate urban landscape, a swinging rusty gate, concrete and dirt, a cold wind, something inspired by the Covid-19 lockdown times. There are elements of Bowie's Diamond Dogs perhaps, in images, not at all the music. This sound is more like contemporary opera, something atonal and dark in every way.

That song is complete. I need a next one now. I've spent today practising guitar, playing to Renaissance. I've also ordered a Renaissance album that I didn't have. I have the five from the classic era, but not a sixth, Novella. I had A Song For All Seasons at some point but didn't really like it - there was only on tune on there that I liked, The Day of the Dreamer, for it's uncharacteristically power-pop chorus. It turns out that Novella is expensive and largely unavailable like so much music I have or want; I had to pay £20 I think for the David Lynch album, £35 for The Ocellus Suite (easily worth it!), and would ideally like Pola X by Scott Walker but that too is at least £30. Anyway, a new remastered 3-CD version of Novella was issued last year, so I thought I'd order that.

Sunday, August 23, 2020

Fear is Nowhere, and the End of Twin Peaks

A much easier day today, I took a deliberate choice to rest after two very busy programming days. I've toyed with the 'Fear is Everywhere' song... it's is very catchy but also a bit silly, and I'm not sure if it is good enough to ever use. There are slightly amusing aspects in some of my songs, The Cat Phone Song, The Arm... this is usually in contrast to a darker theme. I think of these as serious despite the comic mood... but this is the hardest of balances. Of course, art is about emotions, yet, laughter tends to dissipate and weaken. Laughter works at its most powerful in constrast - the laugh of the jester being bullied in The Seventh Seal, or the laughter of the villains in Blue Velvet as they torment Jeffrey Beaumont. Perhaps the key is that contrast, perhaps I need the fear song to be juxtaposed with something.

Anyway, the time for programming is done I think. I'll work on something artistic this week.

I'm working through the features on my Twin Peaks DVD. The opinions there match my own, that it really fell apart to boring nonsense in the second series, particularly after the revelation of the killer. I admit that I didn't think of much of the first series either, but perhaps my opinions were tainted because that is merely 8 episodes (of 29), and I moved through all of the episodes systematically and relatively quickly.

I had always assumed (not knowing anything about it) that the killer was never discovered and never would be. It seems that everyone - David Lynch, Mark Frost, all of the cast and everyone involved, knew that revealing the killer would kill the series, yet they did it - WHY! I'm completely mystified why. Everyone seemed to know it would be the bad idea that it proved to be. The series was only gripping because of unanswered questions - that is the key to dramatic dialogue. The audience form their own opinions when questions are unanswered (this, for me, is why Star Wars was a success; this is also why all prequels are failures, including the Fire Walk With Me film, despite David Lynch being at the top of his game - nobody can battle answered questions and win). The murder quesion was the key to Twin Peaks. I have no interest in watching the third series. David Lynch directed it, so it is probably better than the other episodes - all of the episodes he directed were twice as good as the rest - but then, Inland Empire is also terrible despite general acclaim. I hope though that he will, one day, revisit and repair Dune and restore it to the 4 or 5-hour film it needs to be.

I've wasted too many hours working out how I would have handled Twin Peaks series 2. I had ideas of Leyland Palmer wearing a white suit (to match his white hair) on the day of his 'confession' only to then have a dark haired and dark suited Leyland stagger from the woods, the 'series one' Leyland. The white Leyland, now glowing with light, would paint the room white with his presence. Then fourth body, with the same M.O. would be found - a new victim. Well, to sum up, there were so many options. Maybe I need to create my own series.

Saturday, August 22, 2020

Argus v1.01

Two massively busy day working on Argus. I wanted to make the major changes I outlined in my previous post. Things are much simpler and more efficient now. Generally Actors are now like 'instruments' in a music sequencer and these can be objects, lights, or (now) even the camera. You can create several camera objects because different movement modulators might be attached to different ones - you might want to insert a wobbly camera at a certain point.

It's all made simpler by the freedom - you can now create as many tracks as you like and put any object on any track at any point. If you put two cameras at once, well, the latter one will take over, and the same for lights, though now you can explicitly assign a light (0, 1 or 2) for each light actor (a scene can have up to three). The only sequencer events are to place an object, kill it (send an actor off) or start music. I've also added geometry frames, so now objects can potentially be animated by geometry rather than just texture.

These changes have been massive. I worked until 8pm yesterday and only slept for two hours, from 5am to 7am; my restless body burning with anxiety, the nervous energy of the programming process. I'm almost allergic to programming - I really can't cope with it these days, I push myself to do more and more until every cell is involved, yet now the changes are complete. Despite being awake since 7am and working all day on these huge changes, I feel more elated, and a little shivery, than tired.

I'm other news, I sent off a brief bio to circl8 radio about The Dusty Mirror.

The next few days will be about Argus testing and, if I'm luckly, little aspects of music.

Thursday, August 20, 2020

Plastic Music, 21st Century China, Argus Changes

Back to music this week. I have a few ideas in progress, not the least the second Fall in Green album, The Apocalypse of Clowns, which I paused in February, having completed 6 or 7 tracks.

I also want to make something for Plastic Superman and have outlined a few electronic sounding songs and ideas and other fragments. I must aim for new things and remind myself of the pointlessness of doing the same of stuff... things must push me in some way, always.

I've also had a second thought about Argus. Having made two films with it now, it seems silly to link Actors and Tracks so closely... at first I thought of Costumes as 'instruments' and aimed to be simple, but actually, I sometimes need one Actor to play over several tracks, and it's not efficient to use and edit several clones. The answer seems to be to create separate tracks... Actors are instruments, Costumes are more like samples; data used by Actors. A change like this is a lot of work, all sequencer events are now stored in the Actor structures. The Modulator pointers would be part of the Tracks, and it would mean the removal of the ability to change modulators via a command (or change costume) but that can be done simply by using a different actor anyway.

The changes would be so radical as to invalidate the file format. For only two films (thus far) it's more efficient to simply save a copy of the v1.00 exe file, in case I ever need to tweak or re-render those, rather than program a complicated importer.

Changes like this are perhaps inevitable. Only by using this experimental software do I know what parts work and how it all should work. It was the same with NoiseStation which became radically different in its second incarnation.

In other news, the Chinese translation of 21st Century Surrealism is now live, on sale as an eBook on Smashwords, a good site which happens to look rather old-fashioned and child-like.

Also, today, Since You Kicked Me Out had a world premiere on Chester community radio station, Circl8 Radio. The Dusty Mirror will be released in 8-days on the 28th. I've made lyric videos for the whole album, shared this 'single' and posted a few lyric fragments on social media; this is the limit of my promotion. If it takes of, it will take off, my main concern is new work, as always. The Dusty Mirror had many goals and purposes, most of which have been attained. I'm full of energy and ideas for more audio creations.

In guitar, I've been playing to the albums by Renaissance (still one of my all-time favourite bands) and the results sound amazing, perhaps because I know the music so well? So far I've played to almost all of the E.L.O. albums, about 20 David Bowie albums, one Roxy Music, one Queen, about two Beatles albums, and Jeff Wayne's War of the Worlds. Maybe I need to go back and re-cycle this secret concert series.

Tuesday, August 18, 2020

The Eternal Dogma Video

I've been feeling unusually sleepy and restful over the past few days, I see this as a positive reaction to the anxiety of the programming time with Argus.

Yesterday I started on a video for The Eternal Dogma, one of a pieces of music that Argus is ideal for. I always envisaged the 'sacrifice' sculpture for this, with a flickering light, then lots of eyes which appear in tandem with the booming piano intro. This involved, at first, filming my eyes, then chopping the film into a small square section of individual frames to feed to Argus. I then applied a mask to all of the frames and saved them out in DDS format.

Then I extracted a MIDI version of the piano themes in Prometheus, deleted a few notes, then saved out a list of frame numbers as a CSV file, which can be imported into Argus, a way to place a new eye on each piano sound.

I photographed the sculpture, and lit it in many ways, creating a 7-frame full-screen animation, and this was shaken by applying a noise modulator to the X and Y coordinates. The film starts with a very slow zoom out, which is essentially the object moving backwards. The closeup looks really good, lovely and smooth, with a sort of analogue grain that AviSynth completely lacks. The zoom was one of the smoothest and most beautiful digital zooms I've ever seen.

Lots of mouths were filmed for the vocal parts, which were snipped and added like the eyes. These looked better in black and white, a little too horrific in colour, too Francis Bacon.

A good test, but a few features need to be added I think. Placing the mouths made me wonder if having a track that is essentially linked to a 'costume' is a good idea - it might have been easier to specify the costume number during the Start command rather than fixing them to a specific track... yet what about modulators? Putting these in the costume design seems inefficient, as we might want to use the same design twice in different contexts.

I still feel tired and of low energy. I also feel very disconnected to the world and society. I seem to have little in common with the humans I see or encounter and often think of others as a different animal species. Common people seem to consider having children or grandchildren an achievement, when animals generally feel this way. If children are an achievement, it's one even rats master with ease. I see such things as a huge failure, an admission to the rank of rats and flies, a capitulation of intellect over the most base emotions; yet I'm being harsh. Small things are cute, baby animals, baby plants. Human children are no better or worse, but for anyone to regard them as important or some sort of hard-won prize seems like the paragon of stupidity.

Sunday, August 16, 2020

Back to The Intangible Man

Feeling much more in a mood to create at last, after the deadness that is programming. Those tools are useful, but the creating is if the key thing.

I awoke relatively early, due to workmen hammering outside, from a night of strange nightmares. I often wake up in the out-of-body place, what is called the astral plane, but is basically a dream version of the real world. I awake in my bed, barely able to move, struggle and switch on the light, write notes, but am barely able to move more than a few metres, then I re-awake, discovering that the place was a dream within a dream, the notes gone, the light off as it should be. It feels different from a dream, somehow more real, with more sense of physical presence. In last night's case, a hole in a wall leading to the neighbour's house formed some sort of portal, and moving through that into a tunnel realm cause me to enter this astral mode. I don't believe there is anything supernatural about it; it's third state of mind, waking, dreaming, astral, and definitely different from waking or dreaming (or hypnotic trance, which isn't a state at all). I would guess than more of the waking mind is active than normal, yet not enough to be awake. Sleep paralysis is certainly an essential part of this.

In the day I started by scanning some illustrations for Deb's new as-yet-secret book, then we took a first trip out in the car, a first, relatively normal, day out since March. The situation still feels strange, as though we are, as many are, in strange single-person bubbles. Unable to touch or be close. Images on television of normal times, or those in 'households', where people can get close, seem strange or worrying. I've been out so little, my physical strength has certainly suffered.

After that the first proofreading and changes to my book of short stories, The Intangible Man. This has been largely complete for six months or so, waiting for the end of Covid-19 lockown so that Deb and I could confer. The changes are now done, a second proof is ready to order.

Saturday, August 15, 2020

Workless

A workless day. I awoke at 10:30 after a sleepless night and some night-time piano practice, I enjoyed listening to the lovely finale to Beethoven's Tempest sonata; I know I could compose as well if only I could play as well.

I dreamt of meeting God (a middle aged woman) and the devil (a suave business man, who looked like John Shea, the actor who played Lex Luthor in the Lois & Clark series). Both tempted Deb and I and we resisted, the devil giving us farewell presents of toilteries and fancy clothes. My aftershave was brown and staining, like crude oil. Much of the imagery was related to Twin Peaks (the oil, even the look of the characters). I've just finished watching the series now, which I thought was so-so, on par with the poorer Lynch films; Lost Highway and Wild at Heart. The story was pointless or even boring, but the characters and imagery redeemed the series. The episodes Lynch directed stood out as substantially better than the others.

I've been invited to take part in an 'art trail' in Crewe, but rather than submitting paintings or artwokr, they requested digital files that they could print - which I don't really like the idea of, my prints are high quality limited editions. However, I thought that, as some sort of showcase of local art, a poster or two might be a nice idea. I asked about sizes and how many images they want and they said two images, to be printed on A4 paper! This is so ridiculous. Two A4 photocopies hardly constitutes anything like an art showcase. The idea amuses me so much, it's a perfect example of how Crewe treats and values art.

Have done too little in the day. A workman had removed the fires. I saw Deb in the park, and now it is now. Frustratingly workless. One job I need to do is scan and file the illustrations for Deb's new book.

Friday, August 14, 2020

Argus v1.00 Again

A slow day, I keep thinking Argus is at and end, yet more tweaks and slight changes occur daily or hourly. I spent a few hours today testing the speed of different rendering options, the bmp format really slows things down. I downloaded a more recent DirectX API and the libraries seemed to fix the JPG saving, but the PNG and TGA saving still do not work - they save something out but it's a malformed failure.

Still, I'm getting tired of programming, this my most hated skill. I've called the current version 1.00, and any future changes will be saved up and made in about a week as v1.01.

Now I must get back to some other sort of art. It is too hot for music - Prometheus, unlike Argus, really needs computer power and processor speed. I've played with Oldfield for the first time in ages, the automatic music generator in Prometheus. Maybe I could write some songs to go with its strange chords.

I have an idea for some plastic-themed music, I need to do something with the Plastic Superman song, and I feel electro-plastified after all of this programming. I think it will be too hot to work until at least next week.

Thursday, August 13, 2020

Argus Tweaks

Yesterday I completed the first test animation for Interference, and it all worked. I made a few tweaks to the program to add a few new features. One is that the render time of the last animation is now stored, in case that's important. Interference took about 7 minutes to render, almost all of that time is saving out the bmp files - the actual calculations are as good as instant. The 4500 frame animation then took FreeMake 40 minutes to process - far longer than I'd hoped. I wonder if changing the format from bmp to jpg (in Irfanview?) would this up, but I don't know, it just seems to take ages to create a film from raw frames.

A few small changes to Argus over the past few days. Today I've looked at adding support for full-scene anti-aliasing, but it seems that this really only works for polygon edges, not for textures which is all I care about. Some anti-aliasing would be nice as the scaling down looks a bit jaggy on a per-pixel basis. I can make up for this by blurring the textures a little. I can't render larger and then reduce (although I thought about rendering to an off-screen surface - this might be possible).

I've added a separate value for millisecs-per-frame, which is used for live playback. Weirdly, my animation is exactly in sync with the music at 25 millisecs per frame, when the animation is designed for 30 frames per second (which is 33.3333 millisecs per frame). I don't know why. The exact 1/3 ratio seems too much of a coincidence - but anyway, the playback speed can now be set independently of the actual frames-per-second rate in the sequencer. This might be useful for issues just like this. Sometimes you might want to change the live preview speed but not mess around with the animation frame rate, which is there to return the correct timing in the sequencer anyway.

Other changes: I've added the ability to process bitmasks on an Actor/Track level, and added new quick-load options for Modulators, and a context menu there.

I'm amazed how well it's all working, generally.

The first test film will appear live on my music channel tonight.

It's too hot and this make work unpleasant. My stress levels have been too high and I think it's all down to programming. I just can't cope with programming - I'm almost allergic to it. I grew to hate it in the early 2000s and it causes me problems like a disease; it's such an intense and demanding process. I'm pleased now though to never have to program games again! Only Prometheus, Argus and my tools will ever need programming.

I must avoid tweaking forever. How many test animations need doing before the program should be considered complete? Perhaps by tomorrow... a Friday.

Tuesday, August 11, 2020

Heat and First Animation Tests

A hot day, a constant 25.5 degrees in my room which is almost the limit I can tolerate, or at least, feel safe with.

A good day for Argus though. I decided to create a first animation, a test. I found a few bugs; I fixed a null pointer bug in the alpha. Fixed the modulators, which when at the end used to behave as though 'off' when they should stay at the end (if something 'fades' with a slope, it should stay faded rather than jump back up at the end of the modulator. I added the option to enable or disable z-buffering on a per-object basis. I was confused that objects in the lower part of the list were not printing on top of those above - the answer was simple, they were literally behind them on in the z-axis. So everything is working.

The results so far have amazed me, instantly better than anything I've made in AVISynth. I started by rendering a simple 45-frame animation of expanding circles, and used these, when converted to dds, as source textures. This didn't take as long as I thought, it involved using the batch option in Irfanview.

I've made many more tweaks - adding the auto-name and auto-delete functions for the modulators, adding an optional transparency for the (often unused) mouse cursor. I've also added the option to add events given a comma delimited list of frame numbers, this will allow me to exactly synchronise Prometheus music. The live music synchronisation doesn't really work, the video doesn't keep accurate pace for some reason.

But apart from that, all is good so far and the testing is proceeding. Here's an image from the first animation test:

It's due to be thundery tomorrow, a bit risky for programming. I keep feeling unnaturally stressed, perhaps worried that I'll break the software or find a bug - when, actually, everything has worked remarkably well so far. I might avoid computer work due to storm fears.

I'm aching to be creative. These past few weeks, making Argus, have been productive for me, but how has this benefitted the world? Only in the work I can make with Argus. It's so fast to use, I could make an animation like one of David Lynch's Dumbland, or a Terry Gilliam animation in a day, I expect. I could probably make an animated series in that fashion in a week or two.

Monday, August 10, 2020

Argus v1.00

I think this it, Argus v1.00, is complete. The rest now includes tweaks and changes, new features. Today I changed my brads (byte radians, where a circle is 256 degrees) to proper radians, which are a bit less intuitive, but work more smoothly and the floating point range of 6.282 per circle is easier to program. Some of the test animations already look interesting.

I've also added a feature to optimise/delete any move events that don't do anything, which might be useful for live recordings where you hold down the mouse button to create events, yet aren't actually moving. I've also added options to split and reintegrate tracks, to randomise event timing (for extra pzazz) and a few other things.

There are some untidy aspects to the interface, such as all menu options being available even when some commands will not do anything. You can enter KILL and SET COSTUME events for lights and camera, even though they don't do anything...

I think now I'll take a break and/or start to make, for the first time, some animations with it. I started this on July 18th, technically, and it's taken about a month of solid work to get this far, yet, I've no idea at all if this software will even be useful.

Sunday, August 09, 2020

Anxiety and Argus

An inexplicably anxious night of near-panic. Perhaps this is driven by an internal conflict, like two stones generating heat by pushing on each other. Many things anger me, which itself is unusual. I can't change the world, so why rail against it? I have limited control, no control, I know this. Perhaps the act of ego, the desire to fight fate creates this heat.

A good day of programming though. I started with the main load/save of Film files in Argus. I thought this might be easy, easier than Actor files because we're saving everything, not cherrypicking what is used and what isn't. I was wrong! My actor files are full of pointers: to modulators, to lights, to costumes. I needed to convert those into indices and back again on loading. It was one of those days where I program for two hours without the change to test the program. Ultimately, I got it all working.

Then, the live recording, which I also got working. You can record x/y position (using the mouse), x/z (mouse y would be z), and any single angle. A keypress of comma or stop will set the frame up one. One last thing to do was add a merge option for duplicate events, so that live recording of first position, then angle will merge the data correctly. Now I can 'walk' an object around and separately make it wobbly alluringly as it strolls. The plan for 'live' hyper-animation is enacted.

And now, basically, it's done. Argus is now functional. It's alive!

Now comes adding features rather than things to make it work. Testing, trying. I do have lots of tidying to do; more things to add to the menus, and making the menus switch on/off, activate/deactivate as needed.

I just wish this tension would go. I feel dizzy, tight around my chest and back, too focused on breathing. I think that this is partly the result of Covid-19 self-monitoring when near others, a breathing anxiety, yes perhaps Saturday's trip is the cause of this. I can stretch, meditate, listen to relaxation tapes, fight it with self-will. I must relax. This irrational anxiety is my life-nemesis.

Saturday, August 08, 2020

Argustastic

A busy two days. Deb and I were away yesterday, a trip together for the first time since March and lockdown, to the Williamson Art Gallery to collect two paintings which, ultimately, were not exhibited there. It was a long trip in the excessive heat, to meet a 10-minute window of deadline, so all very stressful - the gallery is 45 miles away, and not easy to get to. My Eventbrite-booked 10-minute window was, unsurprisingly given the inefficiency of most technology, not on their system, but all went fine and the staff were very helpful. In my stress and angst I dropped my bag and smashed my glass water bottle, dripping water onto the gallery floor. An expensive trip, but it felt good to fianlly get my paintings back.

Today I carefully repacked the paintings for storage, then started work by designing the new cover for the forthcoming Chinese translation of 21st Cenutry Surrealism. I'm reminded what a great book full of truths and genius it is; I must write more when I have time.

After that, Lots of progress on Argus programming, I think I'm near version 1.00.

I started by adding lots of utility functions to create events; now you can create a spread of events with random spacing, or modify the contents of the existing events. I can't be sure how useful these will be; I'm generally copying the sort of thing I have in Prometheus rather than knowing what I need. There are far fewer events here:

START and MOVE will place an object. Both make one appear, the only difference between the two is that START will reset all modulators. SET MODULATOR can attach or detach a modulator at will which can be used for any sort of things from motion, fading... you can fade the entire screen to black for example by creating a full-screen black plane at a top-level actor and using a ramp modulator to increase the opacity. SET COSTUME can be used to instantly change one actor type into another, that black placn could become a ball or anything else. KILL deletes an actor from the scene, and MUSIC ON plays music, which is there only as a utility function, in case you want to synchronise something. It's not perfect, it won't speed up or slow down to keep time correctly, but this is easy to add and is better than playing music with an external program, if music is desired.

Then some work on the last big job: the live recording. Argus is already pretty powerful without it, but this was one of my key ideas and I worked out that it will be quite easy to add. The principle is that when in the 3D preview mode, either frozen on a certain frame or when playing the film, you can 'capture' the current actor. It will then jump to the mouse and you can move it in the x/y axes. The other axes and controls keep running as normal, which looks a bit strange if you have, say, a modulator on the z-axis, but this is necessary in a way because you'll want to see how it will actually look rather than just record your x/y track in isloation. A click will create an event to place the actor in the x/y.

I've got this working for x/y, but I'll probably need to add separate routines for other axes... I don't really want to confuse mouse usage. Left/right, for example, could always be x, so we might have x/z as an option, where z is up/down, but not y/z. Also, I could use left/right mouse to rotate in a certain axis to record angle data. For frames, keyboard keys for next/previous frame might work better.

All of these events will be overlapping, I think, you may have several on the same time slot, which is the fastest way add them. I will have to add a merge option for events on the same frame that have different data types. I could add a new 'record' type event so that the hand-recorded data is essentially temporary until 'fixed'. This would be useful if a second take is needed, as one could erase just the newly recorded events, and keep any pre-programmed event... but perhaps I'm unlikely to pre-program something and then record over the top anyway. Anyway, it is trivial to add these record events if they are needed.

I've also designed a new icon (oh, joy, I discover that I can't insert an image in HTML mode, rubbish new Blogger - how can they consider this 'upgrade' finished when it is less functional than the 10-year old interface!)



And I've fixed a curious behaviour in that moving from full screen DirectX 3D mode to Windowed mode made the window 'always on top'. I've fixed this with a new command: "SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);".

Friday, August 07, 2020

Taskforce and Critics

I read 'Total Rubbish', a two-word comment by a passing person, about Taskforce; hurtfully, harshly, and most importantly wrongly; though everyone may have an opinion. I remain happy with the game, and think of it as one of my best, if not the best, of my 25-years of making games, perhaps because I've worked on it this year. Flatspace, good at the time, clever, large, and expansive, is still not as good as I'd make it today.

Of course, these words sadden me. How does one cope with critics? I can, at best, try to understand why a critic might criticise, only so that improvements can be made, however, now as an artist, the only critic that matters is myself. I love playing Taskforce, and it works how I like and intended. If I were designing a tool or thing for others to use, I might examine feedback to please a client, but art is slightly different... and in a way, it's often not pleasing to others at first; this is often a good sign. Beethoven's symphonies, or anything new he made generally, were mystifying and not received well at first, but grew to be accepted. Works that pleased the critics (Wellington's Victory) haven't stood the test of time.

I'm happy for Taskforce, and all of my games from The Challenge of the Matrix in 1991 to Gunstorm II in 2006, to be part of my legacy, but at the same time, I'm unlikely to ever make a game again. There is neither money nor credit for it, and the workload is gruelling; massively, overwhelmingly, difficult. Those things are not part of me any more, they are relics that perhaps trained part of my mind.

In Taskforce I've made a game, and designed the 3D engine, with my own 3D format, including self-learning the vector and matrix transformation mathematics, and learning to code vertex shader assembler for the lighting system. I created my 3D texturing software in Visual Basic and developed an animation system for 3D objects. I programmed the music software, Prometheus, including all of the audio algorithms, from the anti-aliased sample players and saw-wave generators, to the reverb algorithms and filters, as well as composing and producing the soundtrack. I developed the sound effect software, SFXEngine, and recorded all of the sounds for the game, from the footsteps on concrete to the paper crashes and broken lightbulbs that made-up the weapons fire. I developed all of the artwork for the game, including developing a photo-fit system of real people for the faces, and used seamless texture generation for all of the objects and scenery. I programmed the level/map designer, Cornutopia Mapper, which can create game maps of many styles and types including using bitmasks for advanced level data; and of course I designed and programming every aspect of the gameplay and how it all works.

I also designed the box artwork, the print-quality promotional graphics, wrote the press releases and promoted the game to game to players, and designed and programmed the website in php. I wrote and illustrated the 80-page manual, and formatted it for publication as a paperback book, and published it. I've also written, and often translated into German, all of the text for the missions in the game. And of course, prepared the game for sale on Steam including all of the relevant navigation and utilisation of their API.

Few people can do such a job single handed.

A game like this is like a multi-dimensional sculpture, and every hard, hard, difficult step of the long days of crafting it, has been worth it.

Thursday, August 06, 2020

Power Thursday, Copy and Paste

A full 'power day' of work today, I must have copied and pasted 10,000 items. I started by updating the ICON types in Prometheus. These are numbers at the moment 0 to 24, but the program would be easier to manage and update if these were defines. Here is the list I started with:

#define ICONTYPE_INACTIVE 0
#define ICONTYPE_NORMAL3x1 1
#define ICONTYPE_NORMAL12x1 2
#define ICONTYPE_ENGINE 3
#define ICONTYPE_CYCLE 4
#define ICONTYPE_TOGGLEOFF 5
#define ICONTYPE_TOGGLEON 6
#define ICONTYPE_ARROWUP 7
#define ICONTYPE_ARROWRIGHT 8
#define ICONTYPE_ARROWDOWN 9
#define ICONTYPE_ARROWLEFT 10
#define ICONTYPE_NOUNITS 11
#define ICONTYPE_UNITSSECS 12
#define ICONTYPE_UNITSMILLISECS 13
#define ICONTYPE_UNITSMEASURES 14
#define ICONTYPE_UNITSBEATS 15
#define ICONTYPE_UNITSTICKS 16
#define ICONTYPE_MUTEREDON 17
#define ICONTYPE_MUTEREDOFF 18
#define ICONTYPE_MUTEPHRASE 19
#define ICONTYPE_MUTEGREENON 20
#define ICONTYPE_MUTEGREENOFF 21
#define ICONTYPE_REDDOTOFF 22
#define ICONTYPE_REDDOTON 23
#define ICONTYPE_MUTEGUIDE 24

These items had to replace each occurrence of the numbers, about 200 or so in the code, at least one per icon, but often more because some were programmatically swapped (ICONTYPE_TOGGLEOFF may become ICONTYPE_TOGGLEON when an icon is 'lit'). The code before would use things like type=5+(value) but now I have to check the value and assign ICONTYPE_TOGGLEOFF or ICONTYPE_TOGGLEON by word; this makes it easier to change the actual numbers around, delete unused icons etc. Doing all of this took an hour or so, it has to be rather meticulous because one mistake would cause an error somewhere. Then I did the same for LABEL types, ICON contents (text, numbers etc.) LABEL contents, and TEXT BOX contents.

Then I updated the main program skin, making that more efficient and recoding the locations of the icons there, then a new skin for the labels (which is largely graphics), new track names, and finally retyping all of the menu codes, a list of 650 numbers which over the years had become messy, so I re-ordered them in neat groups. All of this took until 3pm, and after all of this cleaning, the program ironically worked exactly as it did before, yet hopefully easier to edit in future.

These changes are down to my current programming of Argus. It shows the power of two projects; one can push another on.

Then I worked on the forthcoming Chinese translation of 21st Century Surrealism, finding, copying and pasting each of the paragraphs. This took 3 hours, and also involved updating the main index.

An exhausting day, but then a welcome walk in the very sultry park. The air feels viscous, too warm, like a salt bath.

The Impossibility of Backwards Time Travel

Last night I had the realisation that time travel backwards is impossible. The idea came from my animation software, Argus, which needs to calculate each frame and can easily move forwards but struggles to move backwards (I essentially have to go back to the start and recalculate everything). My music software has this problem too, and so does digital video - try playing a film backwards on your computer and the problem will become tangible. These things find it easy to move forwards but struggle going backwards because more information is needed.

A celluloid film strip can move forwards or backwards with equal ease, but the film itself is an extra source of information, a duplicate 'buffer' which is not strictly necessary, it is, after all, a second copy of what happened in real life and this second copy amounts to extra energy and information. This is the extreme amount of the extra data needed for 'frictionless' backwards time travel, a complete record, but even a tiny amount of moving backwards takes some extra data, extra information and/or energy (information and energy are synonymous), and this itself is not efficient to store if we are content with moving forwards.

When moving forwards, things can be calculated step by step, but, occasionally, information is overwritten or corrupted or lost. To move backwards, this would need to be restored. It should be possible, in localised cases, to allocate this data; set aside a 'buffer' for the information and so permit backwards time travel in a small region, but this will have some expense of energy, and this expense makes it impossible for the whole universe to move backwards. The key part is that even if it takes any energy at all, it is more difficult to move backwards than forwards, there is a sort of 'temporal resistance' to move backwards.

We simple humans may have a memory of the past, but it is flawed and damaged, imperfect. A film camera too stores imperfectly (it can only see what is in the frame, and perhaps with added grain), and its film deteriorates. Digital data also deteriorates, machines can be damaged or lost, and those too can't perfectly capture the universe. Every aspect of our knowledge of the past is imperfect; it's not possible to store a perfect copy of the past, the whole past, clearly, as this 'magic photograph' would take as much space as the universe itself to store. Anything less would be an imperfect copy. All of these things ensure that the past can't fully exist once we have experienced it, and that as it decays it will become more and more obscure. It is this information lack that prevents the restoration of past data which would be necessary for backwards time travel.

To travel backwards is, after all, an experience of lost data. We could travel to ancient Rome and see how the city looked then in its perfect finery, but where is that perfect finery stored? It may have been there once, but if we are to visit it, it would need to be restored for us, yet, that data is lost. The past itself is only as real as its present level of decay.

Now, perhaps, as I do with Argus, we could re-run the universe from the start and re-calculate everything. This might be possible, but, of course, it would take the same energy for this second run as the first, and the perhaps same time too. If we wanted to see Rome in its finery, we might have to start with the big bang and wait a few billion years for that glimpse.

Forwards time travel is quite possible, we could, for example, freeze ourselves and be thawed out in 1000 years, yet, naturally, never coming back.

One day I must work out the complete implications of this.

Wednesday, August 05, 2020

Train Nightmare, Argus, A Curious Feeling

I awoke from a complex nightmare. I was in London or some city with Deb, I was asked by N. to phone an old lady about an art opportunity, but she appeared aloof and not interested. I then discovered that she was around the corner in the next room, and was some sort of cleaning lady, put up to the deception. I left the place, annoyed, with Deb, and we entered a building, escaping the street to send a text message. It was a dance club, and we stepped down to a dark basement. The room was full of people ballroom dancing, the tango, I think. Deb was whisked away by a man seeking a partner and I tried to skulk near the steps to send my message but was grabbed by a middle-aged woman to be her (unwilling) dance partner. I sent some message and we escaped to the street. We felt lost, but by surprise found ourselves near the railway station to home.

The square in front was full on people, and we shoved through the crowd, anxious not to miss the train. I noticed that my laptop, actually borrowed from Deb, and in a soft satchel or cloth carrier-bag in my left hand, was gone; stolen or fallen. I was in a panic, this had the only copy of the book I was working on, stored on an SD-like card. Deb encouraged us to focus and search, retracing our steps but thought it was stolen, lost forever. I imagined a den of thieves playing with it in a basement. Then I saw three troll-like hobos around a fire; they had a broken half of the laptop. It was ruined, yet, the card was still intact in the slot. Joy! I felt that my work was saved, but we had surely missed our train.

We rushed down an empty street towards the railway station, but were confronted by a villain, perhaps the cowboy on the U.S. cover of the David Bowie album The Man Who Sold The World. To my horror he pulled out a gun a shot Deb in the eye with a large projectile, killing her. I awoke in terror and loss.

I've had a few dreams of missing trains or being lost in distant cities recently, all disturbing.

The day has been another long day of Argus programming, a hot and very dark, very humid day. Deb came to visit after a shopping trip, which was lovely.

I started by obsessively chasing the new and delete operators in both Argus and Prometheus. For years I'd simply used delete, rather than delete[] when needed, and so had created a problems in old code that needed fixing. Occasionally I find the wrong operator and, when there are maybe 100 of the things, it easy to miss one and I've become afraid and a little filled with panic and O.C.D. about tracking them all down.

I added the ability to duplicate actors (tracks) and move them up and down. This was relatively simple. I also added record, play and rehearse graphics to the font, and switched the wrads (word-radians, 65536 degrees per circle) to brads (byte-radians, 256 degrees per circle). 65536 is far too many for Argus, and it makes moving and rotating objects unnecessarily complicated. I also added new skin graphics to Prometheus.

Then the big job of saving and loading actors. The save and load of actors is very complex, as we can save or load any modulators, and any associated geometry, as well as events. These are essentially mini-film files in themselves. This was quite buggy and first and took a lot or iterations and testing to get right. That took me up to 5pm. I feel exhausted and headachey most nights but the end is in sight, I think, however I expect I'll be working on Argus all month. I feel a artless and in need to create or do something, yet Argus is a long-term project, and something that needs to be finished.

I've played electric guitar to a CD in my collection just about every night since the start of July. Last night I chose A Curious Feeling by Tony Banks, one of my all-time favourte albums, but very musically complex to play guitar to - even more than Beethoven's 1st Symphony, which sounds remarkably good on electric guitar! I would love to record all of the Beethoven symphonies with new modern instrumentation, for maximum dynamism.

Tuesday, August 04, 2020

Lots of Argus and the Arrow of Time

Well, today Blogger has switched to a horrid interface. The post list now fills the screen with big chunky looking posts, and so few per page. I'm also lacking the ability to italicise my text here. This annoyance put me off posting yesterday, but I'll brave it now. This text editor part is fine (despite being less efficient than the old one - a horrid blocky 'labels' list that shows a tiny few labels at a time, the End key now jumps to the end of the paragraph rather than the line, no spell checking); but it's the post list with huge unnecessary images that is the worst aspect.

Good progress on Argus. I can now render an animation and step forwards or backwards. Stepping forwards is easy, it's a matter of updating the current position by one tick, but stepping backwards isn't because you have to essentially go back to the first appearance of an actor or object then run through every change and step to work out what the scene should look like now. It's weird how this happens... I'm sure this has some analogue in real physics (just as my matrix calculations for the perspective and 3D display are remarkably similar to those use in quantum physics to calculate the appearance of the actual world).

Ultimately, starting at the start of a film and running to a frame, at least now, is a fast job, far faster than pre-calculating a Prometheus tune, which takes many seconds (this is mainly because in music there are 44100 samples per second to calculate, I only have 30 frames per second here).

I expect things will slow down as I make more complex animations, but this is the most accurate way. One could jump back many frames (a second... 10 seconds...) and step forwards in single ticks. I need to do this in VirtualDub... film compression also has this backwards-time resistance.

Today I've added a 3D cursor and checking for textures - it is posisble to create objects without textures (but it is unlikely anyone would want them, object would appear pure white). Trying to render when a texture can't be found now produces an error (we wouldn't want to accidentally get a filename wrong and have the whole thing render in error). I've added date and time of the render, and speed, and lots of keyboard checks.

The last big challenge job is texture frames... multiple textures per object. This will involve new arrays of texture filenames and texture id numbers.

Sunday, August 02, 2020

Movement!

Two full days of Argus programming. For the first time today, I made something move, and the test objects have been deleted, now all of the objects in the software are designed by the user and appear as designed. The sequencer is largely functional, although there is no cut-copy-paste yet, and you can't move events about or load and save anything (that will inevitably come last), but generally, I can now, for the first time, make things appear and move.

As in my music software, Prometheus, any parameter can be modulated at any time, so you can attach, say, a sine wave to the x-position of an actor to make it swish side to side, or attach anything to the camera (position or angle), or any light (position, colour). These can be attached or detached programmatically at any particular frame, so there's a lot of power in that alone, and those are not the only way to move things. The modulators are simple wav files, so easy to design.

I'm very stressed at the moment, the workload is huge and the hours very long. I'm feeling almost panicky most of the time, and must try to limit my excitement. The awful Covid-19 news doesn't help.

In other news, The Dusty Mirror is now on pre-sale on Google Play, iTunes and other websites that have this option (probaby Amazon Music too). I can't wait to work on more music. So much to do.