"The principle of the roguelike is a strict limitation of resources," — an interview about the development of the indie game Roam
Indie developer Maxim Bykov has been developing the lamp role-playing platformer Roam (formerly Moist) for three years now. About the project, the pipeline, the difficulties of development and expectations, in our interview with him.
Alexander Semenov, App2Top: Maxim, hello! Before we talk about the game, tell us a little about yourself.
Maxim Bykov
Maxim Bykov, Roam: Hello! I am 25 years old, I live in St. Petersburg. A year ago, I was freelancing as a web illustrator for advertising studios. It was my first and only job that I chose, because drawing has always been at the top of my list of hobbies, as well as music and, in fact, games. At one point, this combination assured me that if I took up development, then everything should work out.
How did the development of the game begin?
Maxim: It all started with the fact that me and a couple of my friends, independently of each other, by the age of 23-24 (2021), enlightenment happened: the desire came to start my own business and "never work for my uncle again."
For someone, it turned into the production of scented candles, someone went to trade on marketplaces, and one day I dreamed that I released a game on Steam and was sitting flipping through the reviews for it. I liked this dream so much that on the same day I downloaded Unity and began to think about what I would collect.
From the very beginning there was an understanding: This is going to be a serious project, we need to put all our strength into it. Of course, according to the classics, I greatly underestimated the amount of work at the planning stage, but I always considered perseverance to be my strength, because the gradual realization of the scale did not frighten me much. I have always assumed that the decision to start development is a win—win situation where you either have a good income or a strong portfolio to work as some kind of fullstack developer on a project that is interesting to me (probably abroad).
Tell me about the game. What is Roam, how do you characterize it for yourself?
Maxim: At first, I was based only on pixel graphics and the RPG genre, because these factors were often decisive for me when choosing what to play.
Since I didn't make any dizdocks, but only stuck to the basic concept, adding basic and not so much things that I consider necessary, the game has undergone many changes. Initially, it was planned to focus on quests and narrative, but I realized in time that I was not a writer at all, and for me, the most important thing in games was always a well-developed multi-level gameplay.
As a result, this turned into (I copy from the description of the game on Steam) "a 2D platformer in the Action-RPG genre with elements of a roguelike, metroidvaniya and survival in a procedurally generated open world."
What are its key features, what distinguishes it from other projects in the niche?
Maxim: Realizing that the genre has already been traveled far and wide, I still decided that my gaming experience and dozens of essays on YouTube about the work of mechanics in my favorite games would tell me what to do. This is the feeling when you know that you can bring something of your own into the familiar scheme, correct the flaws that you noticed in other projects and, in general, not relying heavily on someone else's visual / gameplay / narrative, create a unique experience for the player.
This is where the elements of the bagel, metroidvania and survival come into play. Probably, the main feature (most likely not unique, but still) will be the complete interconnection of all processes and mechanics with each other during the passage. You can call it immersiveness, I guess.
For example, I notice that similar RPGs often import a ton of content, 90% of which turn into garbage by the end of the game (the level of weapons/armor is too low, rivers of gold that you stop noticing and somehow plan your expenses, NPCs that are not at all woven into the gameplay, but simply perform upgrade/sell/buy button function).
The principle of the bagel, in my understanding, lies in the strict limitation of resources. This leads the player not to mindlessly call out enemies, but to develop a strategy for each situation, make more difficult decisions, etc.
So I try to balance everything so that even the most basic things after upgrades can perform an important function, like sharpening for a certain elemental damage or a bonus to the necessary stats. Also, all the resources that can be found will be used in crafting throughout the entire passage, and NPCs, being scattered all over the map, sell / craft only a limited (often random) list of items.
There is a similar story with the generation of the world. Instead of a gut-shaped map or an empty open world where you can't navigate without markers or a wiki, the player is given a vertically lined map with many different paths, obstacles, resources, holes, dungeons and enemy camps. The found locations can both help in passing, and greatly hinder. It turns out something like one big maze of caves, large spaces and various structures leading the player down to key points, like bosses.
On top of all this are enemies, each of which can be a threat in the absence of suitable equipment or if the player lacks skill. And in a group, mobs can also interact with each other: heal, buff, teleport, hit each other with some attacks, etc.
Well, it should be noted the hook-cat, on which all movement in the dungeons is tied. This mechanic turned out very well.
Do I understand correctly that you are doing Roam on your own? Or is someone helping?
Maxim: I worked alone until the summer of 2023, after which I met investor Misha from Moscow. On the project, he deals with marketing, information gathering, legal issues, and sometimes we brainstorm ideas for mechanics and narrative. The rest of the development is still entirely on me.
What is the most difficult thing for you to work on a project on your own?
Maxim: Probably human psychology. It is simply hard to sit on the same thing for several years for 10-12 hours a day. And all this with the only hope that someday it will pay off (emotionally and/or financially). Sometimes, of course, hands go down.
Development has been underway almost since the middle of 2021. What helps not to burn out?
Maxim: Patience and hard work, as they say. I have already mentioned perseverance. Here you can add self-confidence and the ability to take a break from business. True, I'm still learning to relax, but it seems to be starting to work out, which makes the work noticeably easier. Well, self-belief helps not to get upset when something doesn't work out, even if it's something global. In such a case, there is always a thought in my head: "if I spend enough time on this, then everything will definitely work out."
How did the work on the game begin?
Maxim: Starting with the rendering of the pixel protagonist, while Unity is being downloaded and installed. This was followed by 150 redraws of the pixel protagonist while C# and the engine are being studied. But I'm glad that I started trying to code something for the project from the very beginning. So in about a year, I learned how to both pixel art and code confidently enough to decide to slowly start complicating and expanding the project.
You wrote on your blog that initially you didn't have any specific vision. It's like you just sat down and started creating. How is it?
Maxim: I have the same idea about any project in general. Whether it's a song, a painting, or a game. The main thing for me is not to tie my hands in the beginning with any particular vision or theme, so that cool ideas do not pass by and they can always be somehow woven into the structure.
For example, the old name Moist was rejected not only because 30% of English-speaking Reddit users associate this word with all sorts of secretions, but also because it severely limited the imagination of the water theme. In this regard, Roam gives room for any ideas and mechanics.
How exactly was vision built up in the end? Was it a path through prototyping? If you like the feature, add it to the game, if you don't like it, cut it out?
Maxim: Yes, it is. One of the first features was fishing, which lasted about six months and was successfully cut out (replaced with a kind of spearfishing) so that the pace of the game would not drop.
The second such example is the starting city, which I tormented for two years, could not bring to a satisfactory state in any way, and then I simply replaced all the sprites with blocks and was pleased with this decision like an elephant.
There were a couple more such moments, but they are quite insignificant. I try to think through and mentally link the new mechanics with the old ones in advance, so as not to spend a lot of time experimenting.
And what exactly was wrong with the city?
Maxim: The main idea was to make a multi—level compact hub zone. It had to be done in such a way that:
- the whole composition did not feel like a carpet (when all the sprites merge into one solid canvas);
- The player didn't have to strain to figure out where to jump, where to walk, and what to hook onto.
No matter how much I tried, everything went by.
And at the same time, the city itself was out of the style of the blocks, as if hinting that either you need to draw something else for a change (which I didn't really want to do), or take it apart and redraw it with blocks, placing on top of existing buildings. Having completed this operation in just half a day, I was pleasantly surprised that all these headaches about integrity, pleasant appearance and comfort of the player instantly disappeared.
How long did it take to come to a specific vision?
Maxim: Vision appeared at the moment of meeting Misha. That is, about two years after the start. Up to this point, there was only a vector of movement, but here the situation forced us to decide on something specific and start working more pointwise. But I'm only glad of it.
Now it seems that the main source of inspiration is Terraria, is it conscious? Or are you starting from something else?
Maxim: I'm starting from everything I've ever enjoyed playing. These are Terraria, Minecraft, Don't Starve, and even the Souls series, and many more other games. Sometimes the inspiration is generally a little-known turkey, like Legend of Dungeon or Cube World, which I played in high school. Yes, all these games, in my opinion, have something to learn from each other to improve the gameplay.
For example, in Minecraft and Terraria, I never liked digging in the ground. It turns into a routine at a certain stage. It often boils down to digging a tunnel down until you find some kind of dungeon/cave and go clean them up. So why not make free movement around the map with the search for treasures and resources without monotonous actions? And there are a lot of similar moments.
In general, I try to take the best everywhere and analyze how to implement it, and whether it's worth it at all.
What does your pipeline look like? Where do you start your work?
Maxim: Either in the head or in the docks are the main tasks that need to be done first. Or according to the mood. In general, that's all. For me, rather, it is important to get to work, and there everything that catches my eye during the traditional test run on the map at the beginning of the working day is already being done in the stream.
In the blog, I noticed that you often write that you have redone something from scratch, changed something simply because the skill has grown. How much do you think the development time would be reduced if you gave up this practice? And what do you think of her anyway?
Maxim: Well, this is a natural learning process. Of course, you could learn to code separately from the project and only then start building. But as far as I know, the best teacher is practice. Here the motivation is exorbitant, and everything turns out (as it seems at first). I drew something, wrote 50 lines, and now it's walking and shooting. But there is no escape from mistakes either.
For example, after a year and a half of project growth, you find out what the code architecture is and why it is so important to know, and for the next six months you sit and rebuild everything so as not to get lost in hundreds of scripts.
Probably, if you start the project from scratch now, already knowing what to do and how to do it, you can immediately dismiss a year of attempts to figure out all these subtleties.
You immediately do code, art, design, and sound. Is there something that I would give up, that I would delegate?
Maxim: Yes, there is not enough time only for sound. Sometimes I get inspired to write something or generate sounds in Serum, but this rarely happens. Plus, it also takes time and equipment to learn all this. We plan to hire an outsource specialist after the demo is released.
How do you keep in mind all the components you are working on?
Maxim: This is again a story about architecture, as well as the systematization and maximum simplification of everything that can be simplified. When all folders are signed, everything is correctly commented out in the code and each function is in its place, it does not become particularly difficult to navigate the project. Simple and understandable names for each file/function/variable, which are easy to find through a search, are especially helpful.
You initially said that the development would take at least two years. As far as I understand, is everything going according to plan so far or not?
Maxim: So far, we are focusing on the release of the demo at the end of February 2024, and the release for the first quarter of 2025. In theory, after the demo, scaling the project to the size of the release will be much easier than assembling its base.
What do you use for planning?
Maxim: A separate Google account with all plans, documents and files in the cloud.
In general, what kind of software do you use for development?
Maxim: Unity 2022.1.23, Aseprite for pixel art and animation, FL Studio 12 and Serum for audio. All map and parameter editors are welded inside the game itself on a separate stage.
You're making a game on Unity. Is there no temptation to change the engine in light of the change in the type of their monetization?
Maxim: I think this topic has become more inflamed than it should have been. Even the initial threshold of changes, which began, like, with $200 thousand, did not bother us much. $200 thousand is already the limit of dreams for many people, including us. And changing the engine is an impossible task.
What solutions or features had to be abandoned due to the complexity?
Maxim: I can't even list it here: a lot of things flew off at the stage of reflection. But the main thing is the destructibility of blocks and the flow of water, since these two aspects in theory completely turned over the entire generation and produced a ton of nuances that need to be taken into account / corrected. But the more the understanding of what should happen in the end grows, the easier it is to weed out everything unnecessary, even without much thought.
Multiplayer is also worth mentioning. Only this story is rather not about the rejection of implementation, but about the deliberate postponement for later. My hands have been itching to study this topic for a long time, some mechanics are already being sharpened for a cooperative game of up to four people. But I really don't want to complicate my task until the very foundation of the game is still not ready. So it is likely that the cooperative will appear only somewhere in the later stages of development.
In the blog, you also mentioned 3D lighting, which looked very cool and gave the game an additional unique visual feature. Why did you refuse to implement it?
Maxim: This can also be attributed to the previous question. There were elementary problems with optimizing a world built entirely with Tilemaps. A large card of 1000x1000 blocks casts a shadow on another similar card, and even a decent video card barely takes out such processes. And performance is one of the most important things that must be debugged to the maximum. It would be strange if a game weighing 100-150 MB would require resources like cyberpunk on ultras. And in the end, after working with color and drawing, I like graphics even more now than I did with that lighting. But perhaps on another project it will be possible to add this beauty somehow.
What's left to finish? How much percent is the game ready?
Maxim: I figure in my head that the demo is 90% ready, but it takes 25% of the release scale. Moreover, as I have already said, scaling these 25 to 100 should be much easier than assembling the foundation itself. And it's a pleasure to add content on debugged systems.
How often do they offer help and how do you feel about it?
Maxim: Once every couple of months, someone writes. In general, some of the music and drawings are even ready for free. I keep everyone on a pencil, in case you need help. But, of course, I don't want to take anyone for free: my conscience does not allow it. Once upon a time I tried to work as an artist on enthusiasm - it was enough for a week.
Do publishers come and are there any interest in them at all?
Maxim: Yes, three publishing houses wrote it. For now, Misha and I are going to test our strength in the market. However, if anything happens, we will also look for a publisher.
Are there any plans for promotion?
Maxim: We have a fairly large list of promotion options. Starting with Reddit Indie Sundays and ending with festivals on Steam. There are actually so many ways and means that, it seems to me, you will need to decide on three or four main ones and knock there without getting too sprayed. And, of course, we put money on advertising a month or two before the release.
What are your expectations (and, of course, what about the vishlists)?
Maxim: Expectations are built, first of all, around the fact that first of all you should roll out a good game on the court. If it really is good, then the trailer and marketing will do their job.
It's a little sad with the Vishlists so far: 800 for the first month and then silence (moreover, about 50% of the deaths are from Japan for some reason). But I understand that there is no promotion yet, there is no point in following the vishlist. There is an opinion among the people that 30 thousand Vichy is cool. So far, we are focusing on these figures.