Essays about game development, thinking and books

Results of the 2019–2021 sabbatical en ru

Every single day 'cause I love my occupation
A-a-ay, I'm on vacation
If you don't like your life, then you should go and change it.

Or how to write a volume of "War and Peace" in 2 years.

In June 2019, I resigned from Melsoft and went on a sabbatical that has lasted 2 years and 2 months. It's time to sum things up.

I'll tell you why I did it, what I was doing, what worked, what didn't, and how I feel about the experience.

In short: I recommend it to everyone.

Motivation

Updated: I wrote a separate post about my approach to sabbaticals.

I thought I'd write something inspiring, like "why everyone should take a sabbatical right now", but maybe some other time. I have exceeded my quota for long posts this week.

Here's my situation in a nutshell.

Historically, my time has been split into three parts:

  • sleep;
  • primary job during the day;
  • hobbies / rest in the evening.

My hobbies and work overlap only partially.

To exaggerate a little, my interests are concentrated in areas other people aren't going to pay me for: experimental gamedev, exploring the state of the art in programming languages, experimenting with code analysis, and studying evolution and cognition.

My hobbies improve my skills and make me more valuable to an employer, but they do so in the long run with no clear KPIs.

In theory, I could make a living from them, but so far it hasn't worked out. Indie gamedev didn't work out on the first try, and when it comes to consulting, I’m not particularly good at networking (yet?).

As a result, I do not have enough time for:

  • analysis of my activities and retrospection;
  • reading and studying — the most interesting books are hard to read before bed or on public transport;
  • properly working through my hobby projects — they're complex.

I also believe, as a matter of principle, in honest, open relationships between employees and employers. So I don't take care of personal matters on company time.

So, that leaves a single way to find time — going on a long vacation.

That was my motivation when I left Wargaming in 2012, and again when I left Melsoft in 2019.

I don't regret either decision.

Of course, I'm working on combining my hobbies and my job better, as well as using my time more efficiently. But that's a long and difficult process.

Non-technical results

The timing of my sabbatical turned out to be extremely fortunate.

For about three months after my resignation, I was treated for one thing or another — I was more burned out from work than I'd realized. That'll be a lesson to me.

For the first six months, my girlfriend and I studied the real estate market without rushing and, without stress, found a good apartment at a good price.

I had no trouble self-isolating when COVID hit.

During the well-known events in Belarus, I was able to focus on reflection; there was no need to force myself to work. As a result, I revised my personal worldview and reflected on events.

The political problems, of course, derailed all my plans for the sabbatical. But I was able to revise them successfully, in my opinion.

This summer I got married :-)

Technical results

I practice thinking through writing — mark each completed intellectual effort with a qualitative text. The blog works as a database of reports on the work done. Therefore, there will be many links to essays below. Follow them if you want to know more about a specific activity.

Blog

The main discovery of these years for me was my productivity as a writer.

Over two years, I wrote 141 essays — more than one text per week. Considering the size and content of the essays, this seems like a significant achievement to me.

The total volume of text exceeded 130,000 words. That's one and a half times the word count of the first Harry Potter novel. About the same as one volume of "War and Peace".

I can't say I was able to write a lot of useful texts quickly before going on sabbatical. I had several successful posts on Habr, but that was it. Looking at the first months of the sabbatical, you'll find that the essays were mainly about the books I read, rather than unique topics.

With practice, I got the hang of it. At the beginning of the vacation, I could spend more than a week working through the material and preparing a post; now a complex essay takes about three days, and some take hours. Therefore, I expect to continue writing in comparable volumes after returning to work.

The outcome of thinking through writing exceeded my wildest expectations. I lightened my mental load, reorganized the information in my head, and freed up resources for thinking about complex stuff. It's hard to convey these feelings — you have to try it.

And now I don't need to remember what I thought years ago to argue in discussions. I have texts with clear arguments at hand. Very convenient.

I wrote more about the blog in a separate post [ru].

Areas of focus

I split my time between the following activities:

  • Prototyping and studying new technologies.
  • Formalizing my gamedev experience.
  • Formalizing my software development experience.
  • Reflecting and working through thinking techniques.
  • Books.
  • Updates for The Tale — released 5 updates.
  • Reflecting on the events around me, both technical and not so much.

"The Tale" updates and reflection on events don't need much explanation. Let me tell you more about the rest.

Once more, I want to emphasize that each post is a report on the work done.

Prototyping and studying

These activities took most of my time, and I find their results the most interesting.

I prototyped some cool stuff; all the source code is publicly available:

  • Smart Imports — library for automatic dependency discovery and importing at the time of Python module import.
  • Morphologic — software for morphological analysis of solution spaces. Along the way, I refreshed my frontend knowledge and took a look at Vue.
  • Pydicates — predicates for Python. The package was born as a by-product of other experiments.
  • Coulson — an attempt to analyze types during the execution of a Python program. It works, but I postponed its development until better times.
  • Tutorial on procedural dungeon generation

A handful of projects never made it to release for various reasons. In particular, there were some experiments with procedural generation.

I studied fundamental technologies in depth:

Over the last few months, I've been digging into machine learning and neural networks:

Additionally:

Gamedev

I went on my break with a clear sense that I needed to properly reflect on the results of my work on The Tale — something I had never managed to do either while working on it or during my time at Melsoft.

It turned out I really had gained a lot of experience and had plenty to talk about:

So, if you are planning to develop a game with social interactions, especially an MMO, I will definitely be useful to you.

I also started publishing game concept documents that had been piling up in storage: The Tale [ru], News Makers [ru], NoCraft [ru], Tales [ru].

Software development

There weren't many essays specifically about my software development experience, for two reasons:

  • I'd already thought these aspects through before the sabbatical;
  • numerous topics were covered in more abstract essays.

I described:

Thinking techniques

During my career, I often encountered mistakes made by people, including myself, caused by gaps in basic thinking skills. More precisely, in what I consider to be basic skills :-)

These cases started to annoy me so much that I decided to write a book about the subject. But I quickly hit a wall — I'd bitten off more than I could chew, and it wasn't something I could tackle in one go.

So, I started building up material for it. I write some essays according to my own plan; others come spontaneously, in response to events around me.

Progress is slow but inevitable. The ones in bold I consider mandatory reading:

Books

I read 26 distinct works — 31 books or volumes in total. Not all of them are worth attention, but I generally choose my books carefully, since I read slowly and value my time. All reviews can be found under the books tag.

Every book essay contains a review and, if it makes sense, a summary of the most interesting points.

I especially recommend the following books:

The biggest failure

Given the problems facing the country and the planet, I don’t consider leaving some of my sabbatical plans unfulfilled a failure — the world was reeling, and so was I.

For example, I wanted to spend six months making a small game and finish my sabbatical with its release on Steam, but I had to spend that time on other things.

Still, there was one failure — I didn't manage to build a personal automated knowledge base. Posts about its development can be found under the Tarantoga tag.

I put a lot of effort into it and built two prototypes, but still didn't get the result I was aiming for, though I did get closer. I'll make a third prototype, but at a more relaxed pace.

Updated: after a few more prototypes, the knowledge base evolved into a news reader — Feeds Fun (repo).