Things I struggle with

👋 This page was last updated ~12 years ago. Just so you know.

Putting thoughts in bits

I think about lots of things but when it comes down to writing them, drawing them, implementing them, it's not that easy. Even with years of practice in each of these trades, it's still an uphill battle.

Which is why I am not going to read that article after I wrote it and will go straight to publication.

Not assuming nobody cares

While I have always been surrounded by caring and loving people, I still automatically assume that whenever I put out something (a blog post, a game, a library, anything), nobody cares.

The fallacy is the following: people who don't notice/give feedback obviously don't care, and people who already know me obviously lie to make me feel better.

I know it's false, but it still eats me up.

NIH (Not Invented Here) syndrome

This should pretty obvious to anyone who's followed my work in the past five years: I wrote several iterations of a compiler, a package manager, an MP3 decoder in JavaScript, a 3D game engine, a 2D game engine, a UI toolkit, a level editor framework, bindings for over 50 libraries, a torrent website, a community website for start-ups, a forum in node.js, a Linux distribution, a League of Legends model to OBJ converter, an IRC bot, etc. etc.

I haven't yet pinpointed why I do all this stuff. Part of it is curiosity, part of it is not being able to give up control, part of it is pride, the feeling I can probably do it better.

Dealing with local failure

Local failure is when a short-term goal is not met - for example, being stuck on a bug while it's already late in the night, and I'm really too tired to make any progress, but I keep going because I definitely can't leave it like this.

I usually declare work over because of social imperatives - friends coming over, going out for a drink, etc. In the absence of those, there's nothing holding me back, no excuse not to get what I was working on exactly right.

Dealing with the success of others

I associate this with "global failure" - when long-term goals are not met. When I look at my game portfolio, it looks nothing like I had hoped back then. So many ideas did not come to fruitition, so many half-finished projects.

I follow closely the release of games on Twitter, and I've been delighted to see the release of gems such as Towelfight 2, Kentucky Route Zero, The Button Affair, Antichamber, Anodyne, and game engines like Loom.

And yet at the same time, everytime I see somebody else put out something great, I can't help but be remembered of my own shortcomings and failure to release what I really want to do.

Creative mode vs guilt

I've quit my last job 8 months ago, and I've given up on start-ups at least 3 months ago, but I still have trouble letting go of the old habits: code should be clean, everything should be tested, code should be reusable and the general case should be broad enough, while avoiding scope creep, everything should be documented and accessible to others.

But games (what I'm trying to make now) are more like paintings and novels than like bridges and skyscrapers. Creative folks write terrible, specific, unreadable, bug-ridden code, have drawing lying all around on their desks and desktops, fail to document anything, and yet they come out with kick-ass, emotional, pumping, stimulating, deep, sad, happy, mind-boggling stuff.

It's a long way to let go... whenever I don't follow these old cleanliness ideals, I feel guilty, because I know there's a supposedly better way, for some value of better.

Self-censorship

If it was up to the part of me that's still a reckless teenager, I would do games about death, suicide, rape, treason, parallel worlds, religion, conspiracies, abuse, society, insanity, medication, sleep deprivation, and all sorts of controversial stuff.

But the insane thing is: even though I'm convinced nobody gives a shit about what I create, I still can't push myself to work on something that departs from the "good and correct and waveless".

Part of that might be related to working in a team - when releasing something by yourself you can be the only one to assume the backlash and deal with the negative feedback but when you have a team of people behind you who didn't necessarily embrace the initial idea, it seems unfair to make them endure that - hence the fallback to safe game ideas.

Inaccurate memories

The fallacy that "everything used to be better back then" is very, very widespread.
This bites me, and something else too: a lack of short-term memory as to my achievements.

We're February 27 as I write these lines and I feel as if I've done nothing during the whole month. But that's not true. I made ooc run on Android, fixed a shitload of bugs, added much-needed features, and almost completely ported my game engine to OpenGL 3 / OpenGL ES 2.

But I still feel that weird mix of: "I used to do more stuff in the past", and "recently I've been up to no good", both of which are false. That sucks.

Guilt, again

I don't know if this one is as obvious as the others, but the culture of guilt has been everpresent in my life. Started young with all the religious stuff my parents gifted us with (basically everything you want is evil, and everything good you gotta fight for, against all instincts), then carried on with unscrupulous lovers (which I won't get into).

So in the course of one day, whatever I do, I always feel like I should do something else. If I work, I feel like I've been working too much and should take a break, because it's unhealthy. If I play, I feel like I'm wasting my time (especially if I'm enjoying myself) and I should stop and work instead. When I work on my studies I feel as if I should be doing contract work itself. When I work on contracts, I feel as if I should be working on games. And when I work on games I feel as if I should be studying instead.

I shouldn't think about the past. I shouldn't smoke. I shouldn't stay up late. I should be satisfied with what I have and what I do. I shouldn't change projects so often. I should write more tests. I shouldn't give up studies after a Bachelor, but I should go all the way to the Master (at a minimum). I shouldn't watch TV shows in bed. I shouldn't drink that much coffee.

It just never ends.

Dealing with positive feedback

I'm not asking for help or kind words or anything - I think this post has two purposes. The first is for me to let out stuff that's tormenting me. The second is for others that might experience the same difficulties, to realize that they're not alone.

That said, really, don't worry. I've survived 22 years, showing no sign of stopping. Carry on, nothing to see here.

Comment on /r/fasterthanlime

(JavaScript is required to see this. Or maybe my stuff broke)

Here's another article just for you:

A half-hour to learn Rust

In order to increase fluency in a programming language, one has to read a lot of it.

But how can you read a lot of it if you don't know what it means?

In this article, instead of focusing on one or two concepts, I'll try to go through as many Rust snippets as I can, and explain what the keywords and symbols they contain mean.

Ready? Go!

Variable bindings