2016 was pretty good for me. There were a lot of positive changes, I learned a lot and got some unexpected recognition for my work!
Finishing BS and starting MS
First of all, I finally finished my bachelor’s degree! I got it in MEPhI, it’s in applied mathematics and informatics. Neat. Last few months of the spring were devoted to finishing my bachelor’s thesis and I’m quite proud of it.
The thesis project I made there was a bit too ambitious, but came out good enough. Sadly, there wasn’t enough guidance and requirements shifted from time to time, but it was interesting to create pretty big software project which wasn’t a game (it was a simulation modeling system written in C++, it used Lua for process scripting) . It was eye-opening experience in some ways and I’ve learned a lot about architectures which are not used as much in game development.
After that I’ve started to prepare for exams to enter Master’s degree study in HSE (Higher School of Economics). I spent a lot of time doing that this summer and even stopped making my game for some time. This paid off, as I (and my girlfriend as well) passed the exams successfully!
HSE is pretty nice and I like it a lot more than MEPhI. It looks like people in HSE got a lot of things right and I’m quite surprised from time to time to see how much they care and how much they want to teach and help students learn stuff. The studying process in organized quite nicely. During the module (3 months) I need to do some homework and maybe some bigger projects. This keeps the knowledge fresh and applied, this makes it quite easy to prepare for exams.
I’ve started to approach drawing a lot more seriously and spend more time doing it. I still can’t find enough time to draw, so I hope that it’ll improve in 2017. I want to draw at least 1 hour per day and I believe it’ll improve my artistic ability a lot! I’m already seeing some very nice improvements and I hope that I’ll share some art this year.
I also started exercising a lot more in 2016. I really like the bodyweight fitness program, check it out here.
There were 1-2 week breaks here and there, but still, I managed to achieve and improve quite a lot! There are a lot of benefits to that. Being fit and healthy is an obvious ones, but it also improved my discipline and determination in other areas of life.
Game dev and programming
2016 was quite nice for my game as well. I didn’t do as much about the game as I wanted to, but I improved the engine and project structure a lot and I believe that I’m incredibly close to being almost completely happy with it. I plan to write a blog post about it, so I won’t talk much about it here.
I’ve also learned quite a lot about assembly, how compilers work and what assembly the generate. I did this by reading this awesome book: Computer Systems: A Programmer’s Perspective.
I was also interviewed on CppCast! You can find some info and my thoughts on it here, but I want to say it again: I’m very happy and honored about that. There’s still a lot of stuff I want to do in C++, but already being recognized is very awesome.
I’ve also started working on my ImGui-SFML binding and it become somewhat popular, probably because of articles I wrote (1, 2) which gained quite an attention too! (And of course, ImGui is so awesome, it helped a lot as well). It was my first non-personal project which was used by other people and was the best in what it did.
I also started to work on my serialization/introspection system named MetaStuff. I decided to release it on GitHub because I’m quite proud about it! It wasn’t easy to came up with the ideas behind it and I’m surprised that I was able to achieve such functionality. Basically, it’s a library which allows you to register classes and then serialize/deserialize them using user specified formats (e.g. JSON, Lua table) and you can use this meta info for other things, like dynamically created GUIs.
Animation editor in my game which uses Animation class meta info to create GUI
I’ve also discovered sol2 this year and it’s the best Lua/C++ binding ever. I’m now using it in all my projects with Lua/C++ integration. I’ve also helped make this lib better by finding bugs and suggesting interface and functionality improvements. The repository maintainer/sol2 creator, ThePhD, is awesome guy and working with him is very nice!
And now look around. You’re on my new blog! I’ve learned how to create a blog with Jekyll and I also learned some HTML and CSS to make it more pretty and awesome. I spent some time finding the best way to highlight code on my blog and even wrote an article about it. I read a book about typography to learn how to present text beautifully. Some long hours with CSS and here I am! The blog is still not perfect, but I’m very happy about it and like how it looks.
I don’t want to sound too braggy, but I also got attention from people from some big and awesome companies. Well, it’s not direct job offers, but they suggested me to take interview and try to apply for a job. It’s quite nice to get noticed like that! In part it’s because of my twitter and blog, but my GitHub started to get me some attention as well. I hope that this continues and improves in the future!
New laptop and better workspace
I finally got a new laptop! My old one was slowing me down a lot. It made my life a lot worse. So much waiting, so much time being wasted. I couldn’t achieve flow because of how slow it was. But this new laptop is so amazing. It’s a lot faster and more convenient that my old one. I’m already amazed by how much quicker I can make stuff done!
I also bought myself a table, because the one I got in a new dorm is incredibly small and made my life harder. Here’s how my workspace looks now. I’m able to access all the stuff very quickly and combined with new laptop, my work process improved a lot. Don’t ignore things which are bothering you while you work, improvements in your workplace can greatly increase your productivity.
First of all, I want to become a lot more productive, but that’s the thing which almost everyone wants. But I really mean it, because I have a lot of things to do as you’ll see below.
I want to write more articles on my blog: an article about modern C++ and stuff which I enjoy about it the most, article about MetaStuff lib, etc.
And of course, Lua/C++ articles… I promised to start working on new series in autumn, but sadly failed to achieve this goal. That’s partly because I was incredibly busy with all that studying, my game and GitHub projects. But it’s also because my view on Lua/C++ integration changed quite a lot. We’ll see how it goes, maybe I’ll be able to write them in 2017! And maybe I’ll just write some articles about Lua programming (without C++), because I write it a lot more now, and I started to really love its simplicity and awesomeness, so I want to write about things I find.
As for Re:creation… I’ll stop working on it for quite some time, but I’ll start working on a smaller game because I finally want to finish something and Re:creation will take years to finish. I’m still 100% interested in completing it, so don’t be afraid about it’s future.
The new project will probably be announced in a few months, but here are some details: I’ll be working with an artist and a composer. A team of three people, whoo-hoo! This will speed things up a lot. I’ll also use Re:creation’s engine, because it became so generic that I can do other games with it. The game will not be an action-rpg but it’ll be related to Re:creation and will tell a story very related to some part of it. I have high hopes for the project, let’s see how it goes!
I want to improve my drawing more. I just have to find at least an hour a day for it. Combine this with reading some books about art and practice, and that’s all it takes.
I also want to spend my free time better. For example, reduce time spent watching stupid memes or cute animals. To do that, I’ll need some nice websites/blogs to read regularly. Please, recommend some, if you have some interesting ones in mind.
I also plan to finally learn some new algorithms and data structures because that’s what will help me find a job. I already know quite a lot of stuff, but feel like structuring my knowledge and filling the gaps will help me a lot!
I will also start working on a project for my master’s dissertation. It’s quite interesting and I’ll probably write about it in the future! In short, I’ll be writing multiplayer related stuff for FPS in VR. Game dev combined with studying, what could be better!
Discipline and planning are things I need the most this year to achieve it all, yeah. I’ll see how it goes!
Books, music, games.
I’ve read quite a lot of books this year! That’s not everything I’ve read, of course. I’ve re-read some programming books, especially Game Engine Architecture and Game Programming Patterns which I like a lot.
I can’t highlight any single book, but I can recommend all of them (well, except the one I gave one star…). Maybe you’ll find a book which will interest you!
As for the music. Three awesome albums came out this year which I enjoyed a lot: Radiohead’s Moon Shaped Pool, Weezer’s White Album and Shugo Tokumaru’s TOSS. I also fell in love with Boards of Canada. They’re incredible.
I also found my new favorite band this year, it’s called Lamp and it’s incredibly good, just listen!
I went to Animals as Leaders and Boris concerts and it was so awesome! Now I love these bands even more, seeing them live was incredible.
I finished Mother 3! It’s the best game I’ve ever played. If you’ve never played it, do it now. Trust me, it’s incredible. The gameplay is awesome, the characters and plot are incredible, there are so many things happening, you never feel bored. Its soundtrack is amazing too and I’ve been listening to it a lot.
Another game which I enjoyed a lot this year is Shadow of The Colossus. I’m close to completing it, but I feel like it’s going to become on of my most favorite games. Its atmosphere, gameplay and music are just on some another level.
And hey, I got a new PC and it finally allowed me to play some games I couldn’t play before. I still want to play a lot of stuff that I’ve missed, but with a lot of plans this won’t happen much!
So, as you can see, my year was pretty full of new experiences and improvements in my life. I hope that 2017 will be another great year for me! Thanks for reading, hope you had a good year as well and that the next one will be even better.
Follow me on twitter @EliasDaler to not miss the new stuff!