Making Generative Blockchain Art on FxHash: A brief Retrospective

This post is a brief retrospective in which I look back onto the past two years of making code based blockchain art. I tackle some lessons that I've learned, some of the emotional struggles that I've experienced and conclude with some tips to grapple with this fast paced environment.

Making Generative Blockchain Art on FxHash: A brief Retrospective
Scribble #1 collected by anon

It's November 2021, the HEN community is going through a major upheaval, and at the same time I'd just heard about a new platform on the Tezos blockchain, with a fairly strange name: FxHash.

Apparently it was a platform on which you could mint generative tokens. Essentially generative art projects where collectors would obtain their own unqiue variation when pruchasing an edition.

Fast forward a little bit and the platform quickly takes the generative art scene by storm. In combination with the low gas fees on Tezos, and being open for everyone could to mint their project, FxHash was a gateway for many generative artists to start monetizing their creative sketching practice, that many of them had already been doing anyway on a daily basis.

Cacography #137 collected by zhong

From a technical point of view, creating a project for FxHash was not so different from making your usual Javascript based sketch, you now just had to paste in a little script into your index.html and use the provided randomness function, such that the outputs were deterministic.

I quickly joined in on the fun, made two lighthearted sketches, and published them on the platform not thinking too much of it:

It took a fairly long time for both of them to mint out, both of them a whopping 1000 editions - at the time 1000 editions didn't seem like too absurd of a number, since it would be quite impossible for the code to generate the exact same artwork twice.

Furbol minted out on December 8th of 2021

And the platform was still young at the time, with a large influx of new creators/collectors that were just picking up whatever was still minting, simply for the excitement of being part of this entire experience.

At the time of writing this post I've released quite a few tokens on FxHash, 16 projects to be precise:

Looking back I'm starting to wonder if I do actually have a style? If you can call chaotic and colorful a style - I often get kind comments saying that the piece gives them Gorilla Sun vibes, and that actually makes me really happy.

But beneath the colorful and bubbly vibes of each one of these projects hides a learning experience. Some projects came together easily, some were steep mountains to climb. And I'm still on the pursuit of the project that will make me go I couldn't have done this better - but maybe that's just wishful thinking. I'm proud of myself though, I've tried to reinvent myself with each project, in an attempt to strike at something new, either from a technical or aesthetical point of view.

I'm also really happy that I managed to publish as many projects as I did. These were the lucky ones. RIP to all the other projects that are still waiting for me at the depths of my dusty external hard-drives ☠️

My latest FxHash project - 2D or not 2D

Let's have a look at some of the lessons that I've learned working on these projects and publishing them on FxHash.

Analysing your past Projects

My most recent obsession in the past months has been the game of chess. Even though I still make stupid mistakes, I believe that I've got a good grasp of the game now.

On a side-note, would you be interested if I wrote about chess for a change? Lots of interesting algorithmic problems there as well.

One crucial exercise to get better at chess is the analysis of your previous games. Not only the ones that you lose, but also those in which you came out on top at the end. In each game, it's important to isolate the different move sequences, and pinpoint those crucial moments that turned the tides in, or against your favour.

When it comes to making art, especially code-based art, I often feel that it's a similarly thin line that needs to be threaded, where there are moments in the process that can make or break the entire project. I believe one quality that makes out a good artist, is being in tune with this process, such that firm steps are taken towards the realization of the ultimate vision. Naturally there's a preliminary exploratory phase as well, but once that's completed it shouldn't be too difficult to hone in on the conclusion of the project.

Vestige #81 collected by cagrimmet

In my experience, certain projects come together quickly and nicely, but more than often I feel like I'm trying to keep my balanced on a tightrope, from which I could fall off at any given moment. Being able to dial into this razor-sharp mindset, at will, is something that I want to get better at - sometimes I want to be able to push aside the distraught artist and bring in the focused engineer.

That's why it's important to look back at past projects, and objectively assess what went wrong, what went well, and how to draw meaningful conclusions from these experiences:

Naturally, this isn't limited to the technical difficulties that are sometimes unavoidable.

Dealing with Negative Emotions

Making art is a tough business.

I'd be lying if I said that this journey has been a walk in the park. Some projects have caused me a lot of emotional distress - especially when closing in on a release date, it seems that impostor syndrome kicks in quite hard.

Another thing is the negative emotions that come in tandem with unmet expectations. This is maybe a little bit silly, but every time I release a new token, I have this little voice at the back of my head, cheering me on: This is the one! This is gonna be the project that'll make you a genart superstar! - but that doesn't happen, simply because the world doesn't work this way.

You become a superstar by consistently putting out good work, and honing your skills. It's not just about one project, it's about your entire body of work, as well as all the other auxiliary things that give meaning and value to your work. Now you could point at artist X and coder Y that had massive success from the get go with their first projects, but in most cases that's because they already knew what they were doing, either from the art or code side of things.

Exotic Quarpets #57 collected by Melissa Rodriguez

Sure, there will always also be a wunderkind that is simply very talented, and with a pinch of luck they'll be at the right place, at the right time.

The early days of HEN and FxHash were crazy and exciting, and it was fabulous to have lived them - but at the same time they might have given me somewhat wrong expectations about a career in the genart space. Making and publishing projects on the platform is probably the tiniest fraction of the work.

In this hyper fast paced environment there's no time to feel bad. You gotta pick yourself up quickly and get started on new work. However, sometimes I didn't manage to do so, letting important opportunities pass me by, falling behind on communication, and not engaging with the community nearly as much as I should have.

Neo Supremus #2 collected by twilliability

I haven't been the most successful artist on the platform. And maybe that's because I haven't been a very methodical artist - my stuff is all over the place - and in that regard an accurate representation of the internal state of my mind on most occasions, constantly jumping from one idea to another. Without context it's probably very confusing to follow along all of the things that I'm trying to do. Instead of making small incremental changes to past ideas, slowly evolving them over time, I often take large leaps, unnecessarily leaving good ideas behind, and starting work on something new, when there simply isn't room for more.

Some folks that I really admire in that regard are Bruce aka Studio Yorktown, Aleksandra Jovanic, and Jeff ippsketch - their work is incredibly consistent, as standalone projects and across the entirety of their works.

Well, the one thing that I've been consistent about has been my blog work. Even more so lately, trying to stick to the biweekly posting schedule - and somehow I've actually been managing to do so.

Connecting with your Collectors

To preface this section, if you've ever collected one of my works - I'd like to express my endless gratitude 🙏 it's made a gigantic difference in my life!

Assemblage #49 collected by nftartcards

This one took me a long time to learn. Starting out as a blockchain artist (that's the best way to put it) in the early HEN days, my conception of the collector's role, as a part of your artwork's lifecycle, had been tainted a bit.

This was in part due to the anonymity of actors on the blockchain, and equally due to the initial flipper culture that was prevalent at the time, where tokens were regarded as financial assets rather than artworks. In those days I didn't really consider myself an artist, even though I was making art - the setting wasn't implying it.

Later in the early days of FxHash this also gave me inhibitions to engage with the many collectors that picked up my first couple of projects on there. I had the messed up notion that I couldn't and shouldn't be friends with my collectors - I didn't want anyone to feel that they had to collect my piece just because we were friends. If that makes sense. In essence I didn't want anyone to feel that they owed me to collect one of my pieces.

But in reality, it couldn't be further from the truth - the folks that collect from you are your biggest fans. Connecting with them and interacting with them by means of the artwork makes it the connection so much more special.

My meager FxHash collection - I collect sporadically.

Another thing here, is that I haven't been a good collector myself. Most of your gen art collectors will at the same time be your gen art friends, and friends are there to support each other. From the start I've been hyper focused on creating new work, such that I neglected that part of the practice quite severely. I'm slowly trying to change that, but I'm still not a very good collector.

Tips for building Generative Tokens

At many points along this journey I've felt like I was in way over my head. From a technical point of view, there was a lot that I had to learn - even though I studied programming, coding for the web wasn't my strong suit.

Here's a few things that I think are important when you set out to put together a generative token for FxHash:

  1. Keep it Simple. From personal experience there's rarely any benefit to artificially adding complexity to your code, nobody cares - it's the final output your code produces that everyone's going to see. Maybe some curious soul will actually have a glance at your code, but you shouldn't be trying to impress anyone.
  2. You're making art, not building a Software. I'm guilty of this one, on many occasions, even in my latest token. Adding in a lot of optional toggles and button presses is probably not a good idea when you're trying to make art. It can quickly become confusing to the collector what you're actually trying to do. Just because something is a technical possibility, doesn't mean that it needs to be added as a feature. One example is my piece Microcosm, which just had way too much stuff going on.
  3. Having Intent. Vera Molnar claims that her art wasn't symbolic nor was it meant to convey a specific message. However I'd argue that it still had very clear intent and purpose, through it's aesthetics and through the process with which she created her art. Even though she didn't want to send a message, she still made a statement. When making art, it can be beneficial to ask yourself 'What am I trying to convey?' and find something in your artwork that you might not have seen in it before.

As for the process itself, there's also some things that can be helpful:

  1. Having a sketchbook. Doodling on paper is just so much easier, faster and less frustrating than aimlessly writing code sometimes. I found it to be the best antidote to being stuck, or when I've run out of ideas. The strokes of the pen always manage to pull new shapes from the aether. I'll then use these as starting points for new sketches.
  2. Having a Checklist. Whenever you run into a bug - note it down! Whenever you mess up - note it down! The next time you're about to publish a token, you can quickly run through your checklist to make sure that all of these issues are not going to repeat themself.
  3. Sticking to a schedule. I recommend setting up a schedule for yourself - if you don't have one for your creative coding yet. It helps tremendously with getting work done when you impose a soft-deadline on specific tasks. You just can't tweak a project endlessly, life needs to go on. But you also need to be realistic about your goals, this schedule shouldn't be anxiety inducing, but rather a timeline for you to lean on.
  4. Planning ahead. This directly plays into the previous point. For the first couple of months on HEN and FxHash I could get away with not planning anything ahead of time but now that's just not possible anymore if I want to be consistent about the blog and my generative art, I need to start working on things ahead of time.

And that's about it! I hope you enjoyed this retrospective, maybe you've made similar experiences, or actually completely disagree with me on some points I brought up - best way to let me know is by leaving a comment. There's a lot more to say about this entire journey, but this feels like a good point to make a cut.

I'll see you in the next post! Cheers, happy coding and sketching ~ Gorilla Sun 🌸