Chromatic - Mission Complete

The beginning

Experience. That’s the word I have in mind when looking back at Chromatic, the first indie game I released on the behalf of MAJ Studio (me). I have tons of things to say on this personal project which has its own unusual story. Be sure to read the whole to get all crispy details !

It started at March 2017, right after I quit my previous game project. I didn’t want to say my last words write my last line of code. After a week of break, I already had some ideas to start a new game, but I didn’t want to repeat the same errors. I don’t know how the idea came so naturally in my mind, but I know I wanted to make a game about space, but not any game ! I clearly imagined a 2D minimalist looking game, in fact something I would be able to express my artistic value in.

What about the gameplay then ?  At this point, I was strongly inspired by indie games I loved so much, notaby Lovers in a Dangerous Spacetime and Vivarium : The End. I’m outlining both of those games I cherish, because they gave me motivation and a good basis to start Chromatic in force. With this inspiration, I was able to quickly start the project and defining the game concept following my own vision.

The concept

Like I said, all the game elements pretty much landed in my mind at same time like an illumination. They gravitated around one main theme : colors. I wanted to make a game about colors and space. Even if this might seem a bit odd and random ideas, it turned well and thanks again to my inspirations.

First, I needed to know which genre of game I would make. Because I like so much arcade games for their intense and challenging gameplay, I chose this style and it led the whole concept of Chromatic. Arcade gameplay, arcade style, arcade UI, arcade everything ! My goal was now clearer : create a colorful-arcade-space game.

I think the creation process of Chromatic is unusual, of course. I had no serious planning, no game design document, nothing but just my creativity. I think this was a good choice to start with, because it didn’t need to be serious at first and I was working on it just like I wanted, having fun while developing it. It turns out that I was pretty motivated because I had already a well-defined gameplay and art style after only 2 weeks. By the way, I couldn’t manage to achieve this without the previous experience I gained with Unity, my favourite game engine. After all, my previous project was not a waste because it gave me a solid practice with Unity.

The gameplay

So let’s get back to the core of the game : the gameplay. I have to admit the fancy art-style I created for Chromatic excited me more than elaborating its gameplay. It’s like I wanted to produce something visually interesting primordially. I don’t say it was a bad thing because now I’m truly proud of the result it gave.

Now, what is this game ? In one sentence : Chromatic is a game where you need to attack enemies with a laser beam of their opposite color. 

Colors

Easy, you say ? No, I didn’t want to make an easy game, because I have a little penchant for satanic and cruel games, like Super Hexagon, but that’s another story. So, the crazy man I was (I’m still) decided to put not 3, not 5, not 8 but 10 defined colors to the player’s disposition, so he needs to jungle constantly between them to succeed.

Why 10 ? Because why not, I thought. I wanted to make the game remarkable for 2 things : colors and authentic arcade experience. So, I packed tons of colors to be sure it was not boring and indeed that had the effect I wanted, but it was maybe a bit too much over the top considering the feedback I received.

So, as you may have already noticed, every enemy you fight in this dangerous space has its own color choosen randomly and to kill them fast you should select the opposite color of this enemy and this will make your laser beam destroys it quickly the more you are accurate. For example, you kill efficiently green enemies with red laser, blue enemies with orange, and so on for the 5 associations possible.

Of course, you can kill a green enemy with blue but the further to the opposite color (red), the less damage your laser  outputs.

Health system

It’s a survival game, which means it has no “true end” so as long as you have health, you can keep going. I didn’t like the dramatic way most games implement their health system. Most of time, it’s simply a visual number you keep an eye on as it decrements if you take hits. If you’re close to 0, it means you won’t resist long and the game will be over soon in most games.

I think that’s boring to anticipate your doom, so what I did is balancing what I call a “dynamic health system” where all can change in a matter of seconds. So, basically the game is challenging constantly and is draining your HP with battles. Often you’re close to death but don’t give up because I implemented rewarding Healing items while keeping it skill based and related to the main color mechanic with an evident variation : you need to shoot a health pack with the same color it is to recover better. Sure you need to focus your attention on this action a moment, but it will pay you off largely by restoring plenty of health and precious colors of your base.

It’s important I keep this kind of tension on some critical points of the game to keep it exciting.

Also, another particular innovation with the health system is its modularity and that’s what I’m really proud because it adds an interesting depth to this static environment and open the doors for strategies. It’s simple : each of the 10 color segments on your core has its own HP pool. Moreover, each color HP can be seamlessly represented with an interpolation of its saturation (grey when 0 HP, colored when max HP). Moreover, your laser beam power depends of the HP of the color segment selected ! So you’d better not shoot with a greyish color even if it would be the opposite, you have to rely on adjacent ones.

Obviously, this makes Chromatic more complex to understand, but also provide an interesting game feel and challenge.

Score

Let’s talk a bit about numbers. Remember the goal is to last the longest time. At first, I thought just the points you accumulate by defeating enemies and hazards would be sufficient and representative of your performance. In fact not, because this game becomes more and more difficult over time, so I made the player’s score increment slowly over time. It was better, but didn’t feel totally fair, because if you lasted 10 mins but you didn’t get opportunity to kill enemies with a big combo, you could get a score similar to one who lasted only 6 min but getting rewarding kill. The game difficulty doesn’t increase linearly, as well. So, I put a slight acceleration to the score bonus speed  so you get more and more points just by surviving. Now it feels right and rewarding and that’s how you can get over 7M points after the final boss.

Another important aspect is the multiplier I call “combo”. It has 2 parts. One is a regular combo like you can see in many games : it increases if you manage to kill a streak of enemies in a short lapse of time and it resets to 1 if you’re not quick enough. The other is my personal addition : it increases for each enemies you kill (no matter the time lapse) and it resets if your core get directly hit (by an asteroid for example). The sum of those 2 numbers is your total combo and as well a powerful score multiplier. Why 2 parts ? Because I wanted to reward the skilled players by displaying a big and satisfying combo just like you can see in typical retro games. Just like in the game Icy Tower, each multiple of 10 has its own “cheer word”. For example : 20 to 30 combo is “Awesome !”. So now you know how it works, I challenge you to beat the world record !

Hazards

This is really the part of the game I had the most fun to imagine and develop because of my natural creativity.  I wanted to be sure the game packs a certain diversity along your way to the end. I subdivided the hazards into 3 categories : static, dynamic and bosses.

First of, I needed to conceptualize which kind of “easy” things the player must face often. Because the action of the game is in space, I just took the classic asteroid as the basic obstacle. Because of the minimalist art I follow, they consist of simple grey diamonds with a filled circle at middle to indicate their color. They come slowly from the edges of your screen with varying speed and size, so you need to pay attention while fighting other hazards, else you’ll probably miss one. The interesting part of asteroids is they deal physical damage to your core, which has the effect to reset one half of your current combo multiplier. To warn the player of this, I added a screen and health bar shake with an amplitude depending of the impact magnitude (big asteroids hit harder but are slower). Also, I wanted to add an extra challenge to those static hazards, so I introduced metallic asteroid which cannot be destroyed by your laser ! You can only get rid of them by pushing them off-screen with any color. It is represented by a shiny glowing grey circle. This “metallic” mechanic is used subtly at other places in the game, so better watch out.

Next consists of all the other hazards which are more interesting because of their dynamic. To dispense you of the details, I elaborated a collection of colored enemy shooters, spinners, hackers and more will swarm you to make your life difficult. Some enemies or devices are more important to shoot at first, so it’s really a priority game. You’ll easily recognize each nasty foe type by their unique design and VFX. In this category of dynamic elements, I include as well what I judge the major element of the game theme : natural space hazards. Impressive black holes, comets, supernovas and even wormholes (for courageous players that manage to finish the game) will appear at critical moment to add tension to the gameplay. Each of this unique natural hazard is tuned to reduce your amount of health and make you sweat a bit more if you’re not attentive to what’s going on. Those comes as well with magnificent VFX and particular consequences so you can’t really miss them. Priority, precision and speed are the skills I want to test the player when spawning them. Hopefully, their apparition is not overwhelming and I introduce each of them separately. As game progresses, more likely are the chances that 2 of them will spawn at the same time, making the player giving out his best to deal with the ongoing dramatic situation. Intense moments guaranteed !

Who doesn’t like boss battles ? It’s a crucial time to test what the players can achieve by presenting them more difficult enemies and prove they have the necessary skills to level up to the next phase. More importantly : I wanted each boss to push the player to use new tactics or confirm their talent. So the first boss tests your color association (easy), the second learns you how to protect your colors by absorbing damage into dead segments, the third truly tests your reactivity and the final one is an evil mix of everything ! All bosses gravitate around your core at varying speed, but they each have unique abilities and the key is adaptation. Because I had a limited time, each boss except the last (spoiler ?!) only has 1 phase so it’s pretty easy to figure out how to beat it if you’re wise enough. But don’t worry, I’ve polished the boss atmosphere and UI so it feels really exciting and threatening at the same time. I have to say the last boss represents a big challenge, I’ve only managed to beat it ½ of my attempts myself ! But it’s really rewarding if you get there.

Co-op

Yes, this game can be played with a friend if you got a controller you can plug into your computer (XBOX, PS, Steam …). Being myself a fan of couch-coop games like Lovers in a Dangerous Spacetime, I wanted to dedicate efforts into this aspect of development. The problem I faced is I didn’t know how to design it without it to look weird or boring ! At first, I thought it would be possible for each player to shoot a laser with a different color but I remembered only that 1 player can control the orientation of the core, so it doesn’t work. I didn’t want split-screen because this game is focused on the same environment and doesn’t move. I wanted that each player could choose their own color separately. How the second player could shoot where he/she wants independently of the core orientation directed by the first player ? One day, I got a great idea : why not giving out the 2nd player a new weapon working on the core ? From this idea, I developed a very cool homing Missile Launcher ! That is genius, because this weapon requires timing and precision : missiles aren’t hitscan and takes time to travel to the point the player wants. But, I ensured Missiles can do plenty of damage and they circle around the enemies so they have more chances to hit. I tuned alot their trajectory, acceleration and start speed to optimize the gameplay. Missiles are very effective on big threats such as black holes or bosses. It’s really fun and lovely to switch roles because each weapon is played differently.

Now you’re asking :  what is the balance penalty you gave for playing co-op ? My answer is surprising : nothing. See the game as a difficult challenge to overcome where you can call a friend to help you to deal with. In fact, wrong coordination color can ruin opportunities if you’re not paying attention, the game is a bit easier but it is indeed funnier. I’m really proud of this aspect, it is well done. By the way, both player can have either mouse or controller (1 mouse max obviously, but both can use controllers).

The content

Now I told you pretty much how I designed and developed the gameplay elements, I still need to tell you about what consists of the finished game.

Chromatic has 2 game modes playable either in solo or co-op : Classic (with phases and bosses, as I said earlier) and Toxic. This one is a very fast paced and action packed game mode. You’re stuck into a growing invincible black hole (which drains more and more of your colors over time) and you need to survive by gaining health packs by killing the many basic enemies that appears. See this as a quick training mode. It is perfect to practice your color associations and is way shorter to “complete” than classic. I say shorter, because it is endless, just like Classic mode, but the average time you can stay alive is shorter. About 25 minutes to complete Classic, while only 5 minutes to complete Toxic.

About the replayability, I know 25 minutes is not extravagant, but it would be exceptional to complete the game in only one attempt. I estimate an average player can do so by playing at least 2 hours. Plus, I wanted to be sure to attract achievements hunters, so I took the time to create and set-up 46 Steam Achievements. As well, I implemented a leaderboard for each game mode for solo and co-op, so you can be motivated to obtain the world record (fight me). It was a tedious and long part to develop considering the state of Steamworks and its old-style API.

I always tend to prioritize quality over quantity because if you can’t do things well, why do them at all ? I could have released Chromatic earlier, but I had not fulfilled my satisfaction until I realized the tweaks I was doing were so ridiculous (like moving a things by 1 pixel). Don’t worry, since the beginning I did my best to offer the most bug-free experience and I think I succeeded because I’ve put many hours to debug and played extensive time to test everything was happening the way it should.

The marketing

I remember to feel quite uncomfortable with the whole marketing and advertising aspect because I never seriously tried to publish a game. But hey, that’s why I wanted to push my game on Steam : to experiment the whole process of developing a game.

So, when I was confident I really wanted to publish Chromatic, I started to look over Steam Greenlight at May 2017. At this time, it was still existing so I prepared my little page, solicited everyone I knew that could vote Yes for my game and I waited. I don’t know why, but I was incessantly looking at the Greenlight stat page that shows your percentage of Yes vs No and how good you are compared to top 100. I imagine I was really stressed of the process and I wanted it to work. Days passed and I was really disappointed to see the number of “No” increases closely with “Yes”. I learned the downsides of Steam Greenlight and all the hate that was existing there. I had no way to boost my exposure else than showing it to people. At one day, I just gave up and forget Steam Greenlight knowing Steam Direct will go live soon to replace this system, but at which price ? As a poor student and developing this game as a hobby, no way I can pay more than a certain point. I remember one morning to just look up by curiosity my Steam Greenlight page I didn’t touch for weeks and to see this big green banner :

Just wow. I was really happy to have my efforts rewarded. It felt great, it felt just like I did something right. My dream was now reality !

After proudly announcing it to my small Discord community as well as my personal friends, I started to do the necessary long and painful tasks the Steamworks process requires.

Months passed, while I was working harder on fixing bugs, adding new content, completing my Steam page and integrating Steamworks into Chromatic. It was the time I started to think about the pricing. It wasn’t easy to decide. I mean, I was happy to have the liberty to choose the price I want, but I felt like I needed to take this responsibility seriously. To be honest, I didn’t expect or want to make much profits out of this game but I really wanted to have a good audience and number of players. My goal was 1000 players. So, because of the game’s quality and discussions with my beta testers, I arrived with the price of 3.99$ US, which seems quite reasonable for a PC indie game with this content level. But, there was a problem. After 1 month, I didn’t have many sold copies and the stats were showing a sad flat curve. I expected this kind of scenario, because the number of games on Steam is growing fast those years. I had to do something, I was determined to keep going. So I shyly contacted some websites featuring Indie Games and I got an answer from IndieGala, a website that sells new indie games in their bundle much cheaper. Of course this would reduce considerably the value of Chromatic, but it had the potential to increase  alot my player base. I decided to sign the contract to get a revenue share of the bundle. Surprisingly, it worked quite well and over 4000 persons bought the bundle, providing me more than enough money to cover Steam Greenlight fees. But, I was way more happy to get more players than a bunch of dollars. To make it more accessible, I’ve reduced its price to only 99¢ on Steam and I plan to make it free in the future. It’s not my fault if I’m generous !

The end

Over those 5 intensive months developing Chromatic in my spare time, I gained so much experience in the whole game development process : from code, to art, to design, to advertising and I’m skipping alot. Chromatic isn’t just a game for me, it is a realized dream and I want to thank everyone that helped me to make it come true, you’re awesome !

There’s so much thing I could write on like UI, music or even code but I feel like this article underlined well the main aspects of my story. But maybe in next posts ? Who knows.

On this, I want to thank you for successfully reading this wall of text article and the thing to remember is that you can achieve anything with the sufficient motivation.

Take care.

Marc-Antoine Jacob

Categories: Portfolio

Leave a Reply

Your email address will not be published. Required fields are marked *