re:Creation dev log. Week #1. Things are getting bigger!

Week #0: Preparation

This week was really awesome. I spent lots of time working on the game and I’m very satisfied with results.
I discussed the game with artist and somewhat determined its scope, story, main gameplay elements and levels which is also great.
Here is some amazing concept art Dmitry (artist) did.

Continue reading

re:Creation Week #0: Preparation

Week #1: Things are getting bigger!

This week I don’t think I’ve accomplished something really huge, because I’ve decided to finally rest after month of studying hard. But now I can work almost full-time so lots of changes will come, I guess.

But still, I’ve managed to develop some cool stuff.


This isn’t really first week I’m programming this game. I’ve spent some month on engine and level editor, but this is the week I’m starting to see the game itself!

It’s called re:Creation. It’s oldschool top-down action rpg where you play as undead knight who wants to seek revenge for his death and free people from evil wizard who used trapped demon’s soul as the power source for 800 years.  Here’s what was implemented:

Continue reading

Last month and plans

The last month was great. The exams were tough and I spent this whole month studying hard but it was worth it! I successfully passed all exams and got pretty awesome grades!
Complex analysis – B
Differential Equations – B
English – A
Discrete mathematics – A
Physics – A


Now I have two months of freedom but I won’t waste my time. I’m going to work hard on my game most of the time.

Here’s what’s done at the moment:

  •  Basic entity/component/system
  •  Scripting (mostly for loading different entity properties)
  •  Level editing (level editor is going to be pretty cool! Trying to make it as comfortable as possible)

  •  Basic combat, AI and co-op

  • Resource manager

Continue reading

Cave Story: the most important indie game

I love Cave Story. This is a truly legendary and awesome game.
But instead of saying why it is so awesome as a game (lots of reviewers did that already) I’m going to talk about its importance for indie scene and for me personally.

First of all, indie games were not as good as some of them are now. Yeah, there were lots of gems but mostly they were short and simple flash games. Some of them were good. Some of them were great but none of them did what Cave Story has managed to do. Cave Story was comparable with AAA retro games. It is considered to be not only one of the best indie games of all time, but one of the best games ever. This game was one of the reasons indie scene began to grow so quickly. There were other important games but most consider Cave Story to be the most important. “Mona Lisa of indie games” as someone called it on Reddit.

But there’s another reason this games is great. This game is truly inspiring. It’s a clear example of what one person can do with enough skill and patience.
Daisuke “Pixel” Amaya, the creator of Cave Story, did it all himself which is truly amazing. Everything: programming, music, art, level design etc. And he did it in his free time, not working 8-10 hours a day as some of the indie developers do. He was studying in college and later working as a software developer. It took 5 years to finish this game. 5 years is a really long time and it’s incredible how much patience you should have to develop something for that long. Most people would abandon this project or make its scale smaller, but Pixel didn’t.

Most people think that indie games (even big ones) are made by one or two guys in their free time and with almost zero budget. It’s not true, however, for the bigger titles. Jonathan Blow, for example, spend $200,000 on Braid and you can find some other examples. Super Meat Boy and Fez developers were working on their games full-time. I can’t work on my game more than 2 or 3 hours a day, so Cave Story is a good example that you don’t necessarily have to work on your game 8-10 hours a day.

Cave Story got popular by itself. There was almost no marketing. Indie developers spend lots of time today trying to get as much people as possible to know about their game using social networks. But Pixel didn’t do it. He just quietly released his game and it was later discovered by lots of gamers getting its popularity because of its greatness. Cave Story was released in 2005. Just imagine! There was no Twitter, YouTube, Twitch these days. Facebook was just starting. It was very hard to get people to know your game. And it makes Cave Story’s achievement even more impressive.

For those who haven’t played it yet: I highly recommend you to try it. Original version is free and Cave Story+ version is on Steam for $10.
I love to listen to Cave Story OST when I’m developing my game. It’s very catchy and enjoyable but there’s one more thing: it feels me with motivation and hope that maybe someday my game will be recognized and loved by players. It will be one of the best things ever.

The Wind Rises. Обзор

Я не фанат Миядзаки. Я смотрел несколько его полнометражек: “Мой сосед Тоторо, “Ходячий замок”,  “Унесённые призраками”… Но они не зацепили меня. Да, это были прекрасные и безумно милые фильмы, но фантастические зверюшки, мистика и общая направленность на детей несколько отталкивали. В общем, хорошие фидбмы, но для меня это не было чем-то гениальным. И вот вчера я посмотрел “Вечер крепчает”.

Continue reading

January 2014

Ох, это был самый тяжёлый месяц в моей жизни. Srsly.

Всё начиналось неплохо, легко получил зачёты (по большинству были автоматы, ибо неплохо учился во время семестра). Ну… если не считать эпичную лабу, которую я 7 часов сдавал Шутову. :’D

Уже в среду, 25ого декабря, я получил последний зачёт, на радостях купил себе 3DS, и начал готовиться к матану, с расчётом на то, что у меня есть ещё 20 дней. Целых 20 дней. What could go wrong?

Continue reading


Итак, сегодня первое января 2014ого года. 00:55. Я начинаю писать этот эпичный пост

В прошлом году я написал это
В этом посте я не подводил итоги года. А в целом и правильно сделал. 2012ый был довольно трудным. Первая половина года была подготовкой/сдачей экзаменов, затем я поступил в МИФИ и следующие полгода пытался справиться с новой версией жестокой реальности, которая открылась для меня. :D

В этом году борьба продолжилась, и чёрт, насколько же напряжённой она была!

В целом 2013ый был хорошим годом. Определённо самым насыщенным по событиям за всю мою жизнь. Поставлю ему 9/10.

Continue reading

Using Lua with C++(Part 3)

Part 1. Why Lua is great and why you should use it. Writing simple wrapper/binding and using Lua for configuration files

Part 2. Getting arrays and calling Lua functions from C++

Part 2.5. Template getArray function and other modifications

Part 3. Calling C++ functions and creating C++ objects

I am very excited to write about this topic because it shows how great Lua is. While Lua is great for configuration files (as I’ve shown in my previous tutorials) it’s even greater when you use it to call C++ functions and you can even create C++ objects classes and modify them with Lua (I’ll cover this in part 4)
Let’s begin.

Note: if you don’t know about how Lua stack works, I recommend you to read this chapter of great “Programming in Lua” book :

Continue reading

Z-order in top-down 2d games

This tutorial is language agnostic. It doesn’t contain implementation, because it may differ a lot between different languages or frameworks. Ideas themselves are what’s the most important, I think.


So, what is z-order?
Z-order is an ordering of overlapping 2d objects. Look at the picture:

Rectangle B is drawn after rectangle A. The result is rectB is drawn “above” rectA. RectB is said to have higher z-order than rectA. Really simple.
Continue reading