As a long lasting tradition, I’ll write about things that has been happening in the past year!
This year I was the least active online in the past few years, so now is the time to talk about what happened in my life during in 2017. I want to start with what I’ve been doing in game dev / programming and then I’ll move to more and more personal things, and I’ll finish with lists of books and music I’ve enjoyed.
Table of contents
Let’s start with sad news: Re:creation is officially in hiatus. I wanted to make a smaller game for a long time, as Re:creation’s scope is so gigantic, that it’ll take some years to make. And I started to work on this small game! Here are some screenshots:
The hero uses brush as the main weapon / puzzle solving tool
The ligthing was pretty tricky to make, considering I only have 4 colors (This game uses 4 colors and is in 160x144, just like Game Boy games!)
I’ve started to work on this game in the summer. I took Re:creation’s engine and tried to make a small prototype of a gameplay idea I had. It only took me some hours to decouple the remaining parts of game logic from the engine and I had a different game using the same core code! It made me very proud: all that abstraction, clear code, game/engine separation and tons of scripting made this possible. Now, I mostly write this game in Lua. I can work for days without changing any C++ engine code!
As I made this game, I’ve mostly focused on gameplay and quickly found out how many new systems Re:creation needed, and I’ve made them! Now when I return to Re:creation, it’ll be much easier for me to develop it.
Once I’ll be ready to work on the small game again, I’ll make a big blog post which will explain what the game is about, some cool tricks I came up with (Game Boy palette, lighting) and what I’ve changed in Re:creation’s engine since I’ve started working on a new game.
I’ve got my first job! I now work in Align Technology. The experience has been amazing so far. I’m working part-time and I’m doing interesting things with C++.
I wanted to search for the job in January/February actually, but the people from Align send me an e-mail telling me about the vacancy they had and it looked pretty awesome. And it is more than I hoped it would be. I’m doing very interesting things which I may be able to talk about in the future.
Previously, I worried a lot about my programming/CS skills and wondered if I could get a nice job at all. Of course, everyone says that personal projects are important, but still, I didn’t have a lot of faith of myself. And hey, I was wrong! The more I work, the more I notice that my programming experience and skills are actually kinda neat.
And now I finally got the money I can spend and save. Previously, I was living pretty frugally: most of the moneys I spend was on food and other stuff necessary in life. I lived on my parents’ money. But now I’m financially independent and can be certain about my future. It’s a great feeling and makes me proud.
Of course, this doesn’t mean that I’ll start buying tons of stuff or start spending a lot more money. Yes, I’ll buy some things I wanted to buy for a long time and I’ll travel to a places which I wanted to visit, but mostly I’ll try to save as much as possible, so that I can have some sort of safety net and net worth, at last!
The studying was the main reason I’ve stopped doing developing games for now. The first semester at HSE was pretty relaxed, but 2017 was pretty hard! The subjects we studied were very complex and there were lots of projects and homeworks to do. I was constantly in a state of trying to finish something before the deadline. What looked easy and one hour job, turned out to be multiple days one. Some days I had to study for entire day, for 10-12 hours. Thankfully, it’s all over now. I only have to work on my Master’s thesis now, so it’ll be much easier.
I think that I’ve learned more in this year than I did when I did my Bachelor’s in MEPhI, actually. There was a lot of machine learning and data science, it was all very practical (lots of programming!) and we were studying pretty novel stuff: papers about quite of few subjects and methods were published in the last few years!
The homeworks and projects I did were pretty exciting and there weren’t any boring and mindless tasks: each homework involved learning about some new concepts and implementing them in code. (This greatly improved my Python skills, by the way!)
The most exciting course for me was Deep Learning. You can find a repository with lots of interesting links and problems to solve in this repository.
The course was taught very well, and the homeworks were pleasing to do, because all the boilerplate code was written for us. We just had to write necessary parts, and there were some asserts around the code, so it was harder to do something wrong. Still, homeworks took a lot of time. But turns out, Deep Learning is not for geniuses only! Sure, you probably have to be pretty smart to create new types of networks or beat the previously achieved results or benchmarks, but you don’t need to know a lot to do some interesting stuff. Here are some of the coolest results I’ve achieved:
The network which can describe what it sees on the image
The network which generates faces. Lots of creepy ones!
I’ve started writing about Lua and C++ 4 years ago and since then I’ve gained a lot of knowledge about this topic. The old articles are still pretty okay, but the structure and presentation are not perfect, and there is a lot of material which I haven’t yet written about.
I’ve finally started writing new articles and here are my results so far:
~/Desktop/lua_book/book$ wc * 30 348 1936 0.0.About 6 19 107 0.1.Contents 64 350 2293 0.2.Installation_and_compiling 44 618 3483 0.2.Intro 19 118 689 0.3.Tools 227 1835 11027 1.State_and_stack 231 1130 6718 2.Variables 0 0 0 3.Functions 0 0 0 4.Classes 621 4418 26253 total
(621 lines, 4418 words, 26253 symbols)
I’ll publish the first couple of articles once they are finished. I’ll try to release a new article every 2-4 weeks afterwards.
It’s a series of articles, but there’s so much stuff I plan to cover, that I think about it as a book. It will consist of two parts: the first one will be about basics of Lua and C++ interaction. It’ll show you how to do basic stuff in Lua C API and sol2. The second part will be much more practical: I’ll show all the awesome stuff I’ve discovered in Lua which makes using it with C++ much more pleasant. I’ll also write about cool things I implemented in my games: cutscene system, entity-component-system, Lua/C++ event management and so on.
This year I finally went to a St. Petersburg. What a beautiful city! Now I totally get why it’s such a big tourist attraction in Russia. The architecture is just fantastic. There’s a lot of interesting things to look at in museums, especially the art in The Hermitage and The State Russian Museum.
Me posing on Vosstaniya Square.
I was very surprised how different the city feels from Moscow. I didn’t visit many Russian cities and spent so much time in Moscow that I assumed that what I’ve seen in Moscow will be mostly the same in other cities, just in a smaller scale. But I was wrong. Everything is so unique: the atmosphere, the people, the cafes, the public transportation, the book shops - it all differs from Moscow in a charming way.
I also went to Greater Caucasus Mountains in the summer. It was amazing as well: the nature there is breathtaking. We were living on the height of ~1000 meters and went even higher later, finally arriving at 3500 meters on Elbrus. It was the first experience with such heights for me, and I didn’t feel very well at first, but quickly recovered. There’s a pretty nice infrastructure there, so you can easily get to high points quickly by cableway and be amazed by beautiful sights.
I’ve started to draw much more seriously. At some point I’ve had some kind of obsession: I’ve studied drawing for lots of hours and started to sleep less (as I still had to do lots of studying, ugh!). I’ve been trying to get more skilled in drawing before, but didn’t get too far. I needed some plan for studying. And I’ve found one at /r/ArtFundamentals! I’m also watching Peter Han’s amazing course, which teaches me a lot.
Basically, these courses are about perspective and geometric knowledge with which people are able to draw everything from scratch. What’s great about this is that you’re able to easily draw in different perspectives and be diverse in what and how you draw without using photo references too much.
I even bought myself an easel. It’s pretty handy.
I’ve also started reading and watching Michael Hampton’s “Figure Drawing: Design and Invention” which uses similar principles, but more directly to human anatomy. I’m reading Andrew Loomis books as well, which are pure gold. They’re well written, full of amazing examples and very informative!
I’ve also found an awesome program called Krita. Previously I was using Paint Tool SAI for drawing on computer, but Krita is so much better. It’s intuitive, fun and easy to use. Check it out if you haven’t already: you’ll be impressed.
The best digital art I’ve drawn to date.
I started listening to early Brian Eno’s albums. They’re so beautiful. I especially liked “Before and After Science”. This album is like two albums in one: the first half is very psychedelic and groovy, the second is calm, introspective and relaxing.
I also started listening to Mac DeMarco. I have no idea how I missed his music, but it’s just perfect for times when you’re lazy and just want to chill out.
My Goodreads stats. More info here.
I’ve read two amazing books on getting more disciplined.
The first one is “The Willpower instinct” by Kelly McGonigal. This book is pretty short and easy to read, but gives plenty of useful advice and things to think about. It shows why we give up, why we procrastinate and how we can stop doing it. And no, it’s not just “stop checking social media” or “JUST DO IT”. It’s more about avoiding things which make you tired or bored. It’s also about being more observant and honest with yourself.
“A Guide to The Good Life” by William B. Irvine is a very nice introduction to stoicism. It shows how clever people throughout the history got better and more disciplined by focusing on important things, practicing “negative visualization” and again, being more mindful of yourself, your surroundings and your emotions. Check it out!
I’ve also taken a course on science fiction and fantasy’s history and read a bunch of books which were written at different periods of time. It was a very interesting experience and made me more knowledgeable about origins of the sci-fi/fantasy genres.
2018 will be quite challenging and life-changing for me. I’ll finish studying! I’ve been studying for 17 years total (11 years of school, 4 years of Bachelor’s, 2 years of Master’s). I’ll be 23 soon. It means that I’ve been studying for ~74% of my life. That’s crazy! (And I wasn’t very useful or productive in my first six years of life, if you think about it)
What comes next? I’ll live in Moscow, work as a programmer, rent a flat and try to adjust to a new way of living. No more loud neighbors in the dorm, no more constant stress and deadlines. And I’ll be living with my lovely girlfriend. Beautiful! I also want to travel to some nice places which I couldn’t go previously due to being short on money, so that’s pretty exciting too.
I’ll try to start developing games again as soon as possible as well. I think it’ll be much easier to do with more predictable way of living.
This post was much harder to write than I thought. So much to tell about, so many formatting to do… So thanks for reading!
Follow me on twitter @EliasDaler to not miss the new stuff!