7.02.2022

Year Progress ▓▓▓▓▓▓▓▓░░░░░░░ 50%

 Just to reduce dept for this year summary, I decided to give a quick overview to my indie progress 2022.


As I planned, WORLDS game (still working title) got an update in January. I've focused on interactions with bandits (that can ambush you): now you can try to negotiate them. Besides that map roads are updated, used Poission-Disc algorithm to fill map with locations and A* algorithm based on nodes to path-find best routes. More changes are listed at itch.io update page. The game is still raw in fact and I can't recommend you to try it. I already have big plans for next updates and it is what I passioned about for the now. 


Then I spent few months on creating new vision for one of my prototypes. Originally it is block building game in the setting of soviet-like history slice from 50s to now days. But I eventually stuck in some sort of dead end, where I'm not sure how to evolve the game in something interesting. Still a lot of problems, but I definitely will continue or somehow will re-use this idea because there is something interesting inside it. Decides do not put link for playtest demo but it is existing somewhere.



It is was tough time actually because war started. It was hard to accept, it was shocking and not a lot of options what you actually can do against it. By coincidence I moved to Turkey for a month right at the beginning. And at the start of April there was 20th anniversary of Ludum Dare with Ludum Dare 50. So when I decided to participate it, idea for the game (theme was "Delay the inevitable") threw up out of me without any efforts. The final game as always was made under Compo category in 48 hours. It is something like autocracy simulator but where the end of dictator is inevitable. It also has bonus music track: complete all 5 endings or just type 'bonus'. In my opinion the game is ugly and almost unplayable but I also got some very positive feedback, you could play it through LD page 'Your Regime'.


And the last thing I want to mention is the first demo for my another new concept. I'm planning something metroidvania-like arcade game with some aesthetic and story exploration focus. It is only the first demo, and there a lot of things that I cut here (e.g. almost no sounds) just to finish it to break free to other projects. But if you interested, you can use pass 'monday' to download the prototype for Windows or macOS from itch.io page.



That's all for now I guess. Pretty satisfied that I finished at least this one post in half of year and it was written in one seat. Love you all!

12.29.2021

Summary 2021

I'll tell you about my indie projects of this year, which I did in my free time: my first release on Steam, my personal record at Ludum Dare, as well as an endless dream project.

This is how the page on itch.io with these games looks like at the moment

Release of MARK-I: Mission Pilot


The first half of the year was mostly occupied by another personal project - moving and renovating a new apartment. Those who have come across this can imagine how time-consuming it can be. Nevertheless, I managed to find time to finish the project that I've been doing for almost the entire last year. As a result, the trailer was ready by summer (thanks to yaaawny for helping with the art) and the coveted green release button in Steam was pressed (in fact, the release process stretches over months along with the preparation of the page and other meta-data).


The preliminary mailing to publishers, as expected, did not give a result, and there were no high expectations from the game as a whole. The goal was to finish the project, which in itself is often quite a difficult goal, and to gain experience in the full cycle of publishing a game on Steam. At the moment, a little over 50 copies of the game have been sold, and I do not think that this amount will grow much in the future. If you suddenly want to treat me a coffee – you are welcome to the game page, where you can buy it for mere pennies.

Initially, I wanted to write a full-fledged post-mortem for the game, especially since I managed to learn a huge number of lessons. But I realized that I had grown so cold to the game that I really didn’t want to spend even more time on it. There are some ideas on how to rethink the current 20-minute demo into a full-fledged game, and in general I like the universe of the game that I began to sketch, but I definitely don't plan to return to the project in the near future. Perhaps one day...

LD49 – Ludens Fortuna


In October, another Ludum Dare took place, where, by tradition, I participated into the Compo category, where all content must be done in 48 hours, alone, and the source code must be attached to the game. The theme was "unstable", I decided to make a game about the instability of the world, as a mechanic I semi-ironically decided to use something like solitaire with meditative flow, where the player, in the role of some fateful creator, must play cards, trying to keep the world in balance from turn to turn, avoiding the collapse of instability. And as a small personal challenge I chose a deck of Tarot cards to study it a little.

One of the most interesting tasks was to create a visual display in a very limited time, as well as to come up with and code the logic for each of the 78 cards. As a result, I even felt the nostalgic spirit of indie, when in the last hours, of all, you were trying to meet the allotted time, regularly glancing at the remaining minutes. I remember very vividly how expressively I drew minimalistic art for all these fancy cards, wondering in my head how much time should be spent on each of the cards. Unfortunately, there was not enough time even for the simplest sound, as well as for a tutorial and tips to help you master the rules of the game, some of which greatly simplify the path to victory. Although raw, but still finished, the game Ludens Fortuna was uploaded on time in accordance with all the rules.

The visual setting was a planetary theme to give the game some epic and pathos: from time to time on the planet you can even see the shadow of an eclipse
And it was quite unexpected, after a couple of weeks of voting, to find that the game entered the top 1% of the best games of this Ludum Dare (11 out of more than 700 games in the Compo category, or 21 in both categories out of almost 3,000 games), which broke my last eight-year record by game COLORUS with LD26, to which I would have added a link if Ludum Dare had not disgustingly destroyed all the legacy when moving to the new site.

The success of the game is seen as a large share of luck (which is ironic, given the name of the game - "Fortune / Fate Playing") due to the small number of votes, but it is still a shame that today the game from the top LD collects a miserable several hundred views, whereas before, even the most shitty games could easily collect thousands and tens of thousands of views, simply by being on the Newgrounds or Kongregate. The golden era of web gaming is far behind, somewhere near the resting Flash, and new proprietary mobile platforms make it much more difficult to find your player. But there is no choice but to treat this stoically, accepting the new rules of the game, and trying to self-identify in this new world.

WORLDS


After the release of Mission Pilot on Steam, the most of my indie time switched to one of my oldest ideas. "Procedurally generated RPG" is perhaps one of the most overused clichés for a dream project, but this definition describes well this ambitious project, peppered with ideas not previously seen in other roguelikes.


I have repeatedly tried to approach the project under the working name "Tavern", aka "WORLDS", but only recently I was able to find a suitable format in which I managed to dive into development. I wanted to get rid of the platform as much as possible (or better, focus on every platform) and update the project with iterations. Exactly by this way it has been possible to move so far, and I already released several updates for the game, which is for now available on the web.

Development may be extremely slow due to preparation for the future scale of the game, but this pace suits me perfectly. Internally, I have already committed myself long ago that not a single year will pass before the game begins to take on clear outlines. At the moment, the game is still in its very early stages of evolution, there is still a long way to go, so I recommend you to be patient and watch out for the next updates.

* * *


I'm not making grandiose plans for indie projects for the next year. I would like to release several updates for WORLDS, and, perhaps, take into work a new small-scale project, the basis for which can serve one of the old or future prototypes.

Shinji Mikami, author of the Resident Evil series, once said that he believes that developers make their best games between 30 and 40. Like, you still study before 30, and after 40 there is not much energy. So, if you follow this logic, my most important ten has only begun. And if all of a sudden, even before 40, nothing happens, then who is this bastard Mikami!

That's all, creative success to all aspirants!

10.20.2021

Z-buffer problem in Unity on WebGL

While working on a new game I stuck in the rendering problem. There are not much information about this on the internet so I wanted to share the information that could help someone.

First, my setup: Unity 2021.1, URP, Windows. 

Everything looks fine in the Editor but when I built my project to WebGL 2.0, I found weird vertex/facing jittering:

It reminded me popular Z-Fighting problem, but not only with nearby surfaces but much worse. It turned out that this problem related to the Z-buffer. Unfortunately, WebGL don't have the same capability to write depth as OpenGL or DirectX (I expect because of no floating point depth buffer).

So I reduced Camera clipping planes distance from ~1000 units to 400 units and it fixed the problem for my in-game scales. Here the same build, but with new Camera settings, no jittering:

It hasn't solved the problem completely and I know there are more pain in the future, when new game design requirements will appear. But my target was to understand and solve the problem by using standard Unity tools without adding custom shader or other long-term support solutions.


By the way, the shown game is procedural role-playing rogue-lite adventure that I'm updating from time to time with new content and mechanics. And it's already playable on itch:

https://kazantsev.itch.io/worlds

12.24.2020

Summary 2020

While almost completely ignored jams this year (with the exception of QUBOR for Ludum Dare 46), from the very beginning of the year I set myself the goal of making a complete vertical slice of some new, but easy-to-develop project. Then it seemed that a shooter about a tank would be the simple idea.

The first prototypes did not show the amount of work
that awaited me in the future
And now the project, originally planned for 3-4 months of development, has to barely keep pace until the end of this year (and still leave something for later).

MARK-I: Mission Pilot


Inspired mainly by classic NES games (eg, Contra or Jackal), I wanted to make an arcade shoot 'em up. Since personally I am not a big fan of bullet hell games, I wanted to make a game with a fairly low entry threshold. But trying to find fun in a "not like everyone else" format without explicit borrowing or cloning turned out to be a daunting task. I am still not sure that I coped with it, despite the subjective satisfaction with the result.

The idea of a story in the world of the near future quickly came to my mind, where the player takes on the role of a pilot of a combat vehicle called MARK-I (much later I learned that the project with such existed in reality). A very banal evil bad corporation, a mission to destroy some kind of Core, and at the end the boss-helicopter must certainly awaits. Initially, I wanted to put more emphasis on narrative, but as a result, of course, it is difficult to fit in with the dynamics of the game.

The scene in the cabin of the MARK-I turned out
to be not very readable, but I still wanted to leave it
As a vertical slice demo I set myself the task of making about 15 minutes of intense gameplay. But there is reason why the genre of action games is one of the most expensive in the gaming industry: the player has a set of expectations that require the game to be worked out in very different areas and very densely filled with content. It turned out to be very difficult to deal with this alone.

Development difficulties


Level design and content filling took significantly longer than expected. Whithout great experience in this area, collecting levels even from ready-made objects was complex and time-consuming for me, required full immersion. And in general, the process of filling with content was not as fun as creating new systems in the game.

Due to the chosen scope of the game, I had to redo and fix all ~15 minutes of gameplay several times. Almost all game locations were rebuilt from scratch 3-4 times. In general, the constant alterations, the need for which notifies after the next playtest, is morally and physically exhausting the most. One of the hardest things to do is cope with your anxiety about repetitive development.

Perhaps many will understand the feeling of some disgust for own project,
when throughout the year you open it and see the exact same thing
Needless to say, many added features had to be thrown out. This often has a positive effect on the final result, but the time spent initially cannot be returned. So, for example, the collected data with knowledge about the world, or battle chips obtained from enemies, which initially serve as currency for upgrades, were cut. Many features had to be postponed as they only make sense in the context of a full-size game for a few hours.

At a certain stage, I decided to add a local coop for 2 players, which should become one of the main selling points. Despite the fact that from the very beginning I had in my head the ability to control from a gamepad (now the game can be played entirely with an Xbox controller), this control option turned out to be more difficult to play than a mouse with keyboard. But nevertheless, I'm glad that now the controls can be easily adapted even for two independent Joy-Cons from Nintendo Switch.

Experience gained


Despite the fact that it is difficult for me to give any subjective assessment of the final result, I am very happy with the process and the knowledge gained. One of the most important questions for me - could I work on one hobby project for a year, or maybe even more? - received a positive answer. I learned a lot in areas that I had to deal with a little less before: working with 3D in Unity, physics, rendering, navigation and ai, sound producing and much more.

Regularly posting screenshots to Twitter allows you to periodically look from the outside at the visual component of the game. Only a few subscribers were not enough to overcome the milestone of 100 followers by the end of the year :D Maybe by the 10th anniversary of the account next year it will be possible to do this.

The scene that started it all, but in pre-final form
Regular playtests are one of the most effective tools. In order not to blur the eyes of the players, since every time the feedback is very useful, I tried not to build demos frequintly, making breaks between internal releases of 1-2 months. Once I even managed to make a public playtest within of one local meetup, where I managed to look at very different players trying the game for the first time. Yes, you can't please absolutely everyone, very often the feedback turns out to be very cruel, but this is what makes you reflect on the project.

I was convinced once again how planning works in the industry. Especially now that this issue of overworking and crunches has resurfaced in publicity. The deadlines that business management lays down in the project almost never coincides with the internal reality, especially at the seemingly final stages of development. Planning is great for short iterations between playtests, but it's very hard to rely on in the long run. Quality assurance of the project takes more time, relative to the first stages of development. The devil is in the details.

* * *


About plans: at the beginning of the year to release the received vertical slice as an independent game in Steam. And finally, let go of the project and not return to it (unless, of course, I can find a publisher before release).

I really want to take another look at my indie approach, reduce the amount of stress and the semblance of "work", leaving the indie gamedev hobby in a freer and more fun style. It’s hard to watch after iteration “2021”. I wish you all creative success and strength to create!


12.21.2019

My Jam Entries 2019

My indie releases of last year were made as entries to 3 short game jams.

In the April, I got trip to Berlin to visit A MAZE. As a part of this amazing indie video game festival, there was Berlin Mini Jam for a short (something like 8 hours) game jam as part of last festival's day. The theme was `The sky is really the limit` and made a game with same name. The sky really is the limit is a little philosophical sketch with a bit of nihilism, about people of different time and different places which asked themself metaphysic questions just by looking to the deepness of space above they heads, and how these questions changes throughout life.

In the August, was GMTK Game Jam from popular game analysis Youtube channel. It was one of the biggest global jams of last year and I was in. Theme was `only one`, 2 days and jam felt exactly as Ludum Dare. Finished with theonism – political satire game inspired by the events that was going in Russia same time when the jam was.

In the end of November happened Eco Jam Hackathon. I was hyped by the fact that jam took place in the GARAGE museum of modern art. So I visited Moscow for a weekend to participate in this jam. It was really inspiring experience, and at the end I has Waste Problem, city-building/clicker game that is touching the theme of garbage and it's utilization that really edge question in Russia right now.




1.12.2019

Personal thoughts

Hello my lovely diary...

Writing posts regularly does not work (as usual), and there is no need for it yet. In order not to completely disappear from the radar, I decided to write at the beginning of the year about my state of the mind.

Recent events


Successfully moved to Unity. Fate of my previous Flash projects is pretty foggy. It is important  for me because "My Pocket Hobo" and "My Pocket Pony" are only games that produces any money – like about 30$ per month. Not much, I know, but it still better than nothing.

Made hyper casual game Hit Balls. May be I'll write the whole post (no) about what for I've made it and what results after all.

Got a new office job in a startup, making hyper casual games for mobile, trying to pay off investments. I think it almost the best option for me in the job market to do what I like.

Currently


Developing one new game prototype. I have ambitions to do a really original product, but it's still to early to judge about it. But who knows, sometimes I'm drop out my ideas...

From time to time I experience personal conflicts about my goals into game development. Most often it comes down to the classic issue of money versus art. But many other questions too often come up in my head – what products to invest own time, how much it is worth investing, how to find a balance with employment, and so on.

All also for a long time I experience long periods of decline and the rise of the motivation. I don’t even fighting with it, but I try to simply adapt to this inconstancy: when I rise, I try to keep it as long as possible; when the decline, I try to minimize losses and quick as possible return to a productive track.

my free time

But most important personally for me is that gamedev still warms my heart. My love to it changes over time, but it so natural process. I wish everyone to continue to do their favorite things and that the new 2019th year was better than the previous one. Бороться трудно и удачу!




4.04.2018

Feelings about Unity after Flash

I'm Flash developer almost whole conscious life. Started with Macromedia Flash MX 6 around 15 years ago, I wanted to make cartoons and then I found potential for games. I tried to program with frames and `goto` but learned programming only years later. All my jobs was related to Flash and I'm working as mobile AIR developer now.

But epoch is gone. Everyone heard about Flash death (that slightly exaggerated on my opinion). When everyone already moved to other technologies such as JS and Unity, I'm only started this way. And today I want to share my feelings about moving to Unity 3D after years of developing with Flash and ActionScript.

Basics


First at all I can recommend to start from official manual which is structured really well and written easily and informative. Who knows may be it will abolish the need for further reading. Here my understandings of basics Unity concepts.

Project (that almost always are games) consist of Scenes. Each Scene represents independent 3d-space. Let think about Scenes like about separate stages (Flash IDE also have scenes concept but I never used it for development). Even 2d-games are exists in 3 dimensions – I hope you know how z-index works.

This 3d-space is container for GameObjects. Something like DisplayObjects in Flash. And each GameObject (GO) has Transform component/property – information about it position, rotation and scale.

Prefabs are something like stored GOs, presets. You can reuse prefabs with different ways. It one of basic tools of Unity and it better to learn about it in a chapter of manual.

Each GO can (and should) have components. Components are code that describes behaviour of GOs. Working in Unity, you will use many built-in components, as well as write your own. Working with components are main part of business in Unity.

Few more notices


Measure system. Don't forget that Unity (unlike Flash) uses units measure system. It could be a problem at first, but soon becomes natural.

CSharp. Despite the fact that Unity allows you to choose the programming language of a few, of course you need to use C# as only one language. Especially if you programmed on ActionScript 3.0 before. Mostly all projects (I will assume >99%) made in Unity are written on C#.

Rider. I like JetBrains IDEs. So highly recommend Rider instead of MonoDevelop as main code editor. It easy to integrate to Unity and much more comfortable to work with.

Conclusion


I'm using Unity hardly more than month but it hard to describe how it changed my approach of development strategy. I'm writing much less code than in Flash for same functionality. Working with components is much more conveniently for game development. I'm excited from possibilities that Unity gave me and ready for new experience.