Thursday, 25 August 2016

100th day of development

I had big plans for this milestone and, sadly, I am behind the schedule. Had to finish another assignment for uni, and also my exam is only two weeks away. I planned to complete all interface work and some of the device testing to have a working prototype. In reality, I have a prototype — but “working” part is debatable.

Two weeks ago I started device testing. I set up my test environment with iPad 2 and iPad mini (there’s a long story behind a search for a power cord for an old iPad, but that’s for some other time), built a new version, deployed it to the device through XCode, and got mentally ready to look like that:

And yes, I did. Because when application loaded, I got a black screen of death with the main menu on it. The main menu was missing a couple of images, but “start running” button was there. When I pressed it, I saw my parallax — and nothing else. There are three things you can watch forever — and sadly, my parallax is not one of them.
So, what may be the reason for such unusual behavior?

After some swearing and kicking things, it became apparent that the reason is a changed default setting value. To make parallax work as a texture-filled rectangle, I had to set default display to “textureWrapX” and “repeat”. As a result, my coordinates were all over the place, and static images just moved beyond the screen.

I had to rewrite all my background structure and re-animate (reanimate, too) it. Now I just repeat all the background images with a simple “for” loop, and it gets the job done — though not very elegantly.

After some additional manipulations, needed because of my love for magic numbers, I have a version of my game on my iPad.

The next stop was the interface — all those collectable things and blowable things and other things.

Again, my lack of knowledge about software architecture design fired back — I had to work around my package system, instead of it working for me. At this point, I am not ready to redo the architecture, so I am going to let it be. Anyhow — coins and lives are now being collected, stored and displayed.

I wanted to make a good introductory video where I talk about my project, explain how it works in case someone will be interested in helping me with the graphics, but with the exam and a new work project (designing interfaces, of all things!) I couldn’t finish it on time. So I am going to postpone it until day 150th.

The next step is load-reload. After that, I’ll have a playable version of the game that you can install and enjoy. My plan was to finish this part this month, but it looks like I have to move it to September. Next course at uni starts on the same day that the exam for the previous one takes place, but the first two weeks usually are not that intense, so I should have time to work on my game.

Monday, 11 July 2016

63 day of development and mushrooms

For two weeks I didn’t do anything for my game because of Uni! Assignment! Deadlines! Work! And life in general. But this week I returned to development, and as always after a break — decided to change stuff.
Test imagery

One of the main changes concerns dialogues. The more I tested my game, the clearer it became that simple static dialogue, even if there’s some animation in the background, doesn’t work for me. Overall my EndlessRun is, of course, about running. Unending movement forward, like an engine, pushing and pushing towards the end of the story. Static dialogues just stop that. So what are my options?

  1.  Voiceover. It would be nice to voiceover the game, so the player doesn’t need to move her eyes from the moving character, but I don’t think that’s possible for me. My accent makes people think about Russian mafia, and though it might be usable in some game voiceovers, it doesn’t work here. And I don’t have money to hire actors.
  2.  Text on the screen. Logically the only way for me to convey some additional information about the story and the world is through reading. And read and at the same time control a running character is not an easy task. Because of that, I can’t just have a character running while the player reads through the dialogues.

I sketched some ideas about how to this problem and next week I’ll try to work on that.
The second thing I worked on last week is the level parsing — loading and displaying level map. I am not even half way there — even though it works for now, in a simulated environment, I didn’t test how heavy this process is, and that’s the task for another time.

Still test imagery, but this blue guy is super cute!

At this point, the flow is like this.
Gameplay loads related act data. From that data, we find related level maps (CSV) and images. Then we load and parse all the files.
Full data loading flow is like this:

1. Load images for platforms and static enemies.
2. Load physics for platforms (long thin objects).
3. Load objects that kill a character on collision — like static enemies and sides of platforms.
4. Load collectable objects and point of interests that trigger dialogues.

Platforms and dangerous objects

Now my character can run into mushrooms and it makes her sad so she falls and cries. Also the elemental power of the mushroom is randomised, so sometimes it has air effect or fire effect and so on.

The next step is to familiarise myself with magical corona’s “isBullet” feature and try to implement obstacles destruction.
And a video proof:

Monday, 20 June 2016

42 days of development and a new idea

One and a half month into development I hit a roadblock. It wasn’t any of my usual “WTF why it doesn’t work” things, it was a creative obstacle. In my last entry, I wrote that there are no generated levels in my game, all the levels will load from the pre-generated file and on the same level player will always get the same obstacles. But that lowers the excitement of re-playing levels, and on top of that — I am not sure of my ability to create a level that is exciting enough for a player to be interested in re-playing it.

Of course, I started to search for answers in the places where I usually find them — in books. At this point, I am reading several books — A Theory of Fun for Game Design by Raph Koster, Surviving The App Store by Amir Rajan, and also re-reading The Art of Game Design: A Book of Lenses by Jesse Schell. I always read several books at the same time. It compensates my inability to focus on something for long, so any moment I start feeling my attention is drifting away (on the days when your dog wants to have a walk at 6 a.m. that happens like every ten mins), I switch to something else.

Also, I checked some interesting articles, for instance:  Endless Runner Games: How to think and design (plus some history) by Ben Chong, Gameplay Design Fundamentals: Gameplay Progression by Mike Lopez and Designing Games That Don’t Suck by Jason Bay.

But after reading several chapters, articles and posts I wasn’t any closer to the answer. It looks like you can’t become a level designer after a short read (who knew?). So I decided to take for granted that my levels on their own won’t be interesting enough, and I should look for other ways to make my game more interesting. I returned to some of my old ideas. For instance: casting spells, similar to “Infinity blade”. But that would slow the game down, and it would lose the momentum. Or like having enemies that are vulnerable to a particular type of weapon. But how does one show that this enemy can be killed only by fire? And how the player will remember that water enemies are killed only by fire, but wood enemies by stone?

I was lucky. Every year here in Sydney we have a Vivid festival and this year there was an interactive installation wormhole-galaxy and it was awesome!  To put it simply — it is a game for four players, each one has a coloured button. There is a character that runs through the pipe with coloured obstacles and by pushing the button of the same colour player destroys the obstacle.

That’s when it struck me. I can use my idea with elements, distinguish obstacles with colours and instead of generating levels, just have a pre-programmed level with randomised colour elements for obstacles. This way on one level player has to have a water weapon to destroy the blue barrier, but if he replays the level this obstacle can become green for wood or white for air.

At this point, I finished the menu that allows to choose the elements for the level and hopefully I’ll start to work on randomisation in the next couple of days.

I also worked a bit on my package plan, just to remember which package requires what and how the relationships look. Quite a mess! And that’s only my 42nd day of development 8))

Saturday, 21 May 2016

When it kinda works

Finished my test animation and made a video with test controls. She runs, she jumps and she stops!

Looks like it all works but… it actually doesn’t.

Run into trouble with transition.pause(). It took me pointless hours of changing code — and after creating a new simple project to test it, I can say — it is the problem with Corona’s built-in function, and not with my code.

As you can see on the video, character can run and stop, and jump and stop. But if you use controls to jump, run and then stop — transition.pause() won’t work.

The example from my simple project:
We have a background transitioning to the left.
A static object (or sprite).
Set of controls triggering events Listeners that catch events, pause or resume background transition, and call a function that changes the position of the static object.

Problem: transition.pause() doesn’t work if you resumed it more than once before. Though if you do catch event with transition.pause() 2 times — it will pause, as if it stops resume 1 and than stops resume 2.

Google doesn’t know what to do with this. I don’t know either.

Luckily for me, in my game user won’t ever get a chance to use “stop” control — all scenes where character stops are script-driven. But still, it would be nice to know how the hell I can fix that 8(((

Friday, 20 May 2016

Menu and opening

Most of the week I was fighting with project architecture. Though problem was not the architecture per se, but myself mostly. My ideal project architecture looks like that: everything is global, and everything is available to everyone at any given time. You call it anarchy, I call it freedom, blah blah.

With this mindset I always end up with main.lua about 20k lines.

So this time I decided to do it the right way (kind of), and use packages. It worked out fine — until I got a dialogue package, and an act package, where the act triggers the related dialogues, and the dialogues had to trigger each other, and the animations that are in the act package that just triggered this dialogue. The word “mess” doesn’t even start to describe it.

4 days and many swear words later, I sorted it out. At least now I have a file called gameplay.lua, because… why not?

The proof of concept:

Actually, I also finished spritesheets and animations for a test character. But before I can show it to anyone, I need to work a bit on the controls, and I am too drunk to do that today (It’s Friday, yeeeeiii!)

Monday, 9 May 2016

Endless run and endless troubles 8)

I decided to take a small break from interactive stories (still working on Russian translation, and Android version of Koschei though) and get acquainted with Corona physics.
So from now on, at least until I released update for Koschei, I am going to work on my endless run game.

First, I thought about developing a platformer, but endless run is a bit easier to make.
Now I enjoy the "research" stage. I installed Temple Run, Subway surf, Jetpack, Joan Mad Run, Nyan Cat, Nosferatu and Rush City 8))

But I don't just play games, I actually started working on my own endless run and immediately ran into trouble (irony!).

I still use Corona, but this time I started with a setup for several devices. There's a very good tutorial about it and it actually works perfectly. Until I decided to load my stage.

At this point, I don't want to spend too much time optimising stuff - so I simply load an image and fill a rectangle with it, repeating it as many times as I need (actually there are 3 textures and 3 rectangles to create a parallax effect, but who cares 8))
And... Corona magically resizes it, but instead of fitting the screen based on base resolution, as it says in tutorial, it re-aligns it to the middle of the screen, making a margin at the top for iOS status bar.

The only fix I have found so far is:
Instead of using an example of actual device resolution by default (for instance 1024x768), I use an average resolution for all available devices (1136x710) and Corona adjusts it a bit, leaving out parts off the screen. Then I create background images with this resolution, keeping in mind that some parts of it will be omitted on different devices.

So, here it is, my first parallax (all textures are just for testing, they will be redrawn later)

Monday, 18 April 2016

Working 8)

When a picture is worth more that a 1000 words.

This is a plan for the first act of my new interactive story (there are 13 acts like this one in it). It may look confusing, but when you think that it is only the first out of 13, and at this point only the connections inside that one act are shown... It will get much worse 8))

 By the way, ClickCharts in its free version is functional enough to create diagrams like this one. So it is good not just for UML stuff.

Sunday, 17 April 2016


Our app on PocketFullOfApps:

  • DropBearLabs, two independent developers with a mascot being a corgi, has recently released their interactive game called Koschei the Deathless. Available on the App Store for $0.99, Koschei the Deathless retells classic Russian fairytales, taking a player on a speed ride through a number of Russian settings and their respective characters.

Wednesday, 13 April 2016

Story of Koschei, part 4: Money

From the beginning, I knew that I don't want to put any money into this project. I was going to spend time and effort on it, as much as I can; but not money. This way if the project failed - at the very least, I won't be sorry about losing financially (being sorry about losing my confidence and self-respect would be enough).

Overall, I think I managed to do just that - I did't loose almost any significant money in this game. But let's talk about "almost" a bit more. What does it mean in this case? What is considered to be a money investment, and what isn't?

Man-hours - of course, I spent thousands of man-hours on this project. But because they were my personal man-hours, I can spend as much as I like. And if I decide that my man-hour costs $0, then I didn't loose any money on that. If I decided to estimate 1 man-hour for about $50, than I have quite a sad picture. With $50 per hour, to repay for 8 months of work with no life - my app has to get into editor's pick on AppStore, which is unlikely to happen. So let's say that I am not going to up-price my man-hours, for my own sake 8))

Education - having thrown away man-hours, I want to throw away something else. And that is the money I spent to get all the knowledge I needed for this project. Koschei obviously is not going to earn me enough to pay for 24 courses, each one at least $1000. This education will serve me in other projects, so I might return to this process in 10 years to see if it was really worth it.

Spent in advance - most of the software I used can be put into this category. I didn't buy any software specifically for Koschei. I had Poser and Photoshop beforehand, and used it a lot for many other projects. It would be unfair to make Koschei pay for all of that. Also for everything I used there is a free alternative - Adobe Photoshop Express and GIMP would be enough for all the work done on graphics. Daz studio could be used instead of Poser for references. Sublime Text editor in its free version is as good as in its paid version, and can be replaced with Atom these days. Also you can get Corona SDK for free.

Shared expenses - there were some expenses that couldn't be attributed to Koschei only. I bought Apple Dev account for Koschei, but if I manage to finish another project this year, it won't be only Koschei's expense. I bought a bunch of domains and put them on Amazon S3, so generally speaking, Koschei may attribute to maybe $10 of those expenses. DropBearLabs Logo costed me $300, but it is used for a number of projects and not just by me, so again - Koschei is not responsible for that.

Relatively free resources - I use the word "relatively", because all of these resources have a paid counterpart, so if I wanted to, I could go and spend some money on them. I didn't, though 8) I must give my big thanks to all of them (and this thanks can be found in the game itself).

For some references, where Poser wasn't enough, I used library. None of their images are used in my game directly, but they were very helpful in drawing animals and some props.

And my favourite site is (aka Without this site there wouldn't be a Koschei. They have a limit for a daily download, but in 8 months of development I've never exceeded it.

The sound library has enough samples under Creative Commons 0 licence. Big thanks to people doing this, you are the best!

There's a miracle that exists. Altruist musicians put their work under Creative Commons for anyone to use. I found "Pictures at an Exhibition" on that website, and used it for my game. Without it, I would have to play this suite on my own - and that would extend the development by at least a month.

There are some awesome fonts at, and again - some of them are under Creative Commons 0.

As you can see, I didn't pay for music, sounds or textures because some nice people decided that their man-hours are something that shoudn't be paid for. So I am also not counting mine 8))

Promotion - I am just acquiring these expenses now. Sadly, there is no way around it, and one have to put some money in here. I won't know exactly how much it is, until I released all the versions of my game (iPhone and Android versions are still in development). So I'll finish this block later. Hopefully I won't be completely broke at that point 8)

Friday, 1 April 2016

Story of Koschei, part 3: Text and Art

(some spoilers for the story, so If you want to play the game first - go ahead!)

Being a writer, I tried myself at different genres - chick-lit, fantasy, sci-fi, but fairy tales weren't really my thing. I kind of blame Year Walk for me turning to fairy tales. This game showed me that foreign folklore can be interesting for English speaking audience, especially if it has memorable atmosphere and characters.
So I really wanted to show my Australian friends some of Russian folklore. But which one of Russian fairytales should I base my game on?

There was one fairytale that I remember from my childhood, and that always annoyed me - "Tsarevitch Ivan and the Grey Wolf". In this story Ivan asks for help from the Grey Wolf, but then never actually listens to him. But the wolf keeps helping Ivan. I couldn't get the moral of this story! Find a good mentor, but never listen to him - and he'll take it anyway? See, it still gets me all pumped up 8))
When you have such a strong feeling about something, you should use it - and it became the canvas of my story.
(Ivan Bilibin's illustration to Tsarevitch Ivan and the Grey Wolf)

After I took something from the fairytale I hated, I needed something that I really liked. There's another fairytale that I don't really like, but it's beginning always fascinated me. The story is "Marya Morevna", and it is a pretty generic story about a girl called Marya Morevna, that is kidnapped by a villain, and saved by the hero. But in this story the problems began when Ivan went down to his basement, and found out that his wife, Marya Morevna, keeps chained Koschei the Deathless there. It is very unusual for Russian fairytales - to have a girl capturing the main villain of most of the stories! The fairytale never explains how Marya managed to do that, but it is so fascinating! So yes, I had to put it into my story somehow.

Thinking about the main character, I knew I wasn't going to use Ivan Tsarevich. He seems boring to me. Also most of the stories he is in, are the stories about saving a girl. And I don't like it. Lucky for me, Russian folklore has another popular character. Her name is Alena. In most of the tales she has to save her little brother. Sometimes he drinks from a puddle, and turns into a goat, or gets snatched by Baba Yaga. So Alena was my character of choice.

Most of hardships Alena meets on her way are typical for Russian fairytales. But there was another problem...

Talking about the Year Walk again - that game is absolutely awesome. And I knew from the beginning that there's no way for me to create an art that will be on the same level. My art could never be so capturing, that just the strange turn of events and characters compels a player to continue. The line between "strange" and "annoying" is very thin, so I had to work to make sure that my story doesn't fall on the wrong side of it.

(Koshchey the Deathless by Ivan Bilibin)

I found an editor - a native spiker and a teacher, that I was going to test my story on. And yes, It needed testing.

For instance, Alenushka in Russian is a form of the name Alena. But there was no way I'll be explaining that to the reader every time I switch between Alena and Alenushka.

To be fair, with some of the questions my tutor had - I had them also. Even though I grew up in this culture, listening to these stories, I had no idea why the Grey Wolf helps the hero. So I had to invent a story about his debt to Marya. Also, it is a good hook for a prequel 8))

At the same time, I knew that some questions should be left hanging. Why is Koschei's death in the egg? Why are there 3 buckets of water, and 12 chains? I had no idea, but I liked it 8)

I ended up making a serious research, trying to find out which Russian cultural heroes are familiar to English-speaking audience, and which parts of hero's journey are easier to understand by foreign readers.

After some progress with the text, I moved to the art. And that needed another research.

I believe that if you can draw, you can do anything. Any strange creature, a structure or a world that you can imagine - you can move it to paper. If I could draw, I would just let my imagination go wild. But - I can't draw. So any incredible scene I would imagine - could never get into the game. First, I had to find a way for my expectations to meet my resources.

Not long before I started working on Koschei, I stumbled across paper art of Marina Adamova - and I kept returning to it in my head from time to time. Slowly, it progressed into the visual idea for my story. But this concept, making the work on art easier, made the idea of creating "the Russian feel" in the game are even more difficult. So I continued with my search.

After some time, I noticed that when English wikipedia discusses Russian folklore characters - quite often it uses pictures of two Russian artists, Viktor Vasnetsov and Ivan Bilibin. And Ivan Bilibin has a special place in my heart - I had a book of fairytales illustrated by him when I was a child, and I loved every single picture in it. So it the end, I tried to draw most of the inspiration from his pictures, modelling my settings and some of my characters after his pictures, using his approach to silhouettes and textures.

For instance, here is Bilibin's stage design for "Snow maiden" opera by Nikolai Rimsky-Korsakov, and a screenshot from my game:

Here are two of Bilibin's Baba Yagas, and another screenshot from my game:

An here is tsar Berendey's palace stage design for the same opera, but done by Viktor Vasnetsov:

Another thing was a costume design for some secondary characters. I easily came up with Marya's armour using references from websites on Russian armour history - but Vasilisa, Uncles and Alena were still a mystery.

I can't call it anything other than pure luck - I suddenly found an article about the last ball of tsarist Russia. I showed pictures to a couple of my friends, trying to find out which one instantly makes you think "that's Russian" - and used those as my references. I ended up with these designs:

Alena, the main character, got her final design last. I tried several adaptations of Bilibin's images like these:

But Alena is right in front of you most of the time, and all those dresses were way too detailed and distracting even me. With them being a center of the screen, I couldn't focus on anything else happening in the same scene. So Alena ended up being the most generically drawn character of all.

I also used some other artist's work. For example, Alena's house was actually inspired by Viktor Hartmann's picture "Baba Yaga's hut on fowl's legs". and actual Baba Yaga's hut was inspired by a different picture.

So that describes my struggles with images and texts. There was one thing that I didn't have to struggle with - the music. I knew that I am going to use Pictures at an Exhibition by Modest Mussorgsky. Just because I love them 8)

p.s. "Koschei the Deathless" in AppStore:

Thursday, 31 March 2016

Story of Koschei, part 2: Why solo?

90% of people who hear about my idea to develop a game alone, ask me this question. The other 10% probably wanted to ask it anyway.

The question is: "Why?"

Seriously, why would a person develop a game alone, if most of their friends are developers, IT engineers or designers.

That's a good question, and I think that many solo developers have many different answers.

It might have something to do with your personality. For example, I am very competitive but... only to myself. "Last time it took me a month to write a novel - can I make it 3 weeks this time?" and so on, and so forth. Or maybe I am a control freak, and can't give up creative control to anyone except myself? Or maybe I am antisocial, and other people just don't want to work with me anymore?

All of those are compelling reasons, but there is some objective reasoning behind my solo project. So let's talk about that.

First reason: Koschei is an experimental project for me. Of course, I wanted to create an interesting game that allows my non-Russian friends to learn something about Russian folklore. But I also wanted to experience every step of the game development process. To find out how things work, to learn how much time I spend on different tasks, to know what works and what doesn't. Koschei was a tremendous help with that. For my next project, I won't put dates in my calendar "just because" - now I actually know what makes the timeline.

For example, testing and publishing in AppStore takes long time. The lesson is: don't plan to do your testing over the weekend, if you sent your project to TestFlight on Friday. It might get approved only on Sunday evening, which is too late for anyone to test it. For instance, my last round of testing was supposed to take 1 week - and instead it took almost a month.

Then, choose your tools before you start. Corona SDK wasn't my first choice. I got to it at the end of second month, with a working web application on my hands already. I developed web ap with JavaScript, and it kind of worked - until I realised that I can't find an easy way to make Koschei native for mobile devices, I just don't have enough knowledge. I can't say those 2 months were wasted, because when I turned to Lua - I already had full structure of the project ready, so I didn't need to think much about sorting out the chaos. But at the same time, there are easier ways to understand this structure. Ones that don't involve making a hole in the wall with your head.

And, of course - improvements can never be completed, but only stopped.
It doesn't matter how many versions you have, there's always something to improve. My app was released yesterday, and I've found 2 small bugs already. Maybe this is one of the downsides of solo development - if you didn't see a bug, there's no one else to see it before the release. But on the other hand - you can't postpone your release until "Everything is perfect", as it never is.

Second reason to go solo - I wanted to do an indie project. And by indie, I mean independent of everything and everyone. I had my experience working in a big corporation, where everything is connected to everything else. Where to make a small adjustment, or a feature you need a hundred of signatures, approvals and permissions. I still talk to my therapist about that 8)) Being fed up with this process, I wanted to do something that completely belongs to me, and to not wait for anyone. I worked at my own speed, with my own ideas, and it was like a breath of fresh air. Of course, you need to be good at self-discipline - just to work on code, instead of reading a good book 8))

Third reason - Koschei was a research for me. Not just a research of the process (though it was, and my website proves this point). It was a research of myself. Of things I find interesting - or boring. Things I like, and loathe. Not everything went smooth and according to plans, but it is still an experience that I went through. On my own.

p.s. "Koschei the Deathless" in AppStore:

Wednesday, 30 March 2016

Story of Koschei, part 1: How did I get here

The release date is today, and this is a good reason to remember how did I get here.

I don't really recall when I decided that I need to make a computer game. The first thought got into my head about 10 years ago. I've already left two careers behind me at that time (music and journalism), and was doing some content management work. It always fascinates me how people got into their fields. For example, 15 years ago I was sure that I am going to be a music teacher composing something in my spare time (I still have my first album somewhere in my drawers). Around my third year in the college, I took a course in music critique. Suddenly I could criticise people for money - isn't that great! So I turned to journalism, wrote articles about music and reviewed musical events around the city. But all the money at that time were in a different sphere. There was a boom of fashion magazines, especially for women. So I found myself writing how to choose the right shade of your lipstick.

The next big turn did not take long. I moved to Europe. I didn't know the language, I had no job, and had zero ways to make income. That lasted until I found a company that was looking for a content manager that knows music theory - yes, that happens! That company was building and distributing mobile content - mostly wallpapers, games and ringtones. They had a contractor who was writing ringtones for them, but they needed someone to manage that guy - track top songs on radio, test the results to make sure there aren't any "Jingle bells" instead of "Ο Άγγελος Μου" (did I say that it was a greek company, doing greek songs?) Pretty soon they found out that I can not only do that, but also write the ringtones, too - and they didn't need that contractor at all. By the way, this is "Ο Άγγελος Μου" song:

To not got crazy from all this high-quality music, I started playing games. A lot of them.

Slowly ringtones became a thing of the past, smartphones arrived - and I got a feeling that I'll need a new job pretty soon. Another Greek company was looking for a content-manager, but this time they needed someone with journalism experience. Yep, that was me again! This is how I got into gaming industry, and grew into a chief editor.

Playing games as part of my job, I thought more and more about my own projects. Also around that time my first book was published, followed by eight more, and a game based on my characters. Which got me hooked on this game idea even more. I started experimenting with game engines. The first one for me was Torque Game Engine, but to implement all my ideas I needed 3D models. So I learnt some 3D modelling. The results were ugly, but at least I could animate them. It was around that time that they made UDK free, so I moved to it. That lasted until I got my hands on iPad...

Ok, that's not completely truth. My decision to move to mobile development was highly affected by my computer's inability to manage models with more than 1500 polygons. Mobile games back then were not of an astonishing visual quality, and it was about half a year before Infinity Blade changed the landscape. So I moved to Unity.

Couple of years passed by. I created several levels and characters, and you could actually play my game - run around looting stuff, but it came with a cost. This cost was an unending battle with my zero knowledge of programming and Javascript that Unity loves. That realisation coincided with me moving to Australia. At that time I was studying Creative Writing, but it became apparent that there's no way I can continue my studies from Australia. So I changed the continent, and I changed my uni and my field. In Australia I went to RMIT to study Computer Science. At the same time, my work as a project manager asked for more and more programming knowledge, and I wanted to write better product requirements, too.

I learnt a bit of Java, Perl, Python, C, HTML, Php and Javascript again, though still not enough for my projects. At some point, when my pre-baked textures for the environment weren't displaying properly, I freaked out, closed Unity, and promised myself that I will never go back to it.

But this itching stayed in me. "Ok, 3D doesn't work for me. Maybe I should try 2D instead," - I thought to myself, and started to play with GameSalad, then stumbled across Corona SDK. Lua worked out much better for me, but 2D projects wanted something else. They wanted 2D graphic...

The sad truth is - I can not draw. There's something wrong in my DNA. I took courses and private lessons, I've been to schools and workshops - nothing worked. Apparently I can write text and music and even code in Lua, but drawing is not happening for me. "Is there a way to create a game without graphics?" - Device 6 said yes. This project was so interesting, exciting and nothing like others! So yeah, maybe there was a way...

Interactive fiction it is! No, that's not how "Koschei" started. Just wait for it.

There's another problem with me. There's a motivational phrase "Dream big, dream often". I've never needed that. Because I always dream big. So big, that if it is a game - it should be nothing short of TES, if it is a story, it should be at least "The song of Ice and Fire", with pretty much the same number of characters.
So my first plan was an Interactive Story with several POV, 10 huge chapters, and about 30 pathways through the story in every chapter.

Because of that, in the beginning of 2015 I finished only 2 chapters in English, and 4 in Russian (of course, if should have two languages, dream big and blah-blah). And I was tired already. So I double downed, and started looking for material that can make for a short, simple story - just to see how it all works out.
In August 2015 I created a new Google doc folder called "Koschei the Deathless".

9 months later (instead of initially planned 6 months), the game is ready. More about this long delay in the next chapter 8)

Koschei The Deathless in AppStore:

Monday, 28 March 2016

Koschei The Deathless website is up an running

Koschei The Deathless website is up an running. iPad version release date is May 30th
Link: KoscheiGame

Saturday, 5 March 2016


"Your app has been approved for distribution through Apple’s TestFlight Program."

Today my first game was approved for TestFlight. It is the last step before an actual release. So exciting!