Great stuff. And many thanks for those tuts by Jason! They helped me a lot.
Those animations look amazing!! Great job!
Very cool review of the making of Spellbreak. Would be even more cool to see some videos inside UE4 showing how they do a few very specific things unique to them.
The team behind the game Atlas’ Fate: Between Light & Darkness shared their technical decisions and talked about the art style, the development process, shadow and sonar mechanics, and effects. The game has been recently highlighted at IGF in the category Best Student Game.
About the game:
Atlas’ Fate: Between Light & Darkness is a 3rd person stealth game where you take control of a stealth expert with the ability to merge with the shadows. This power allows him to move without being seen, move through walls or pass through obstacles. Read more and download here.
About the Team
In total, there were 7 people who worked on the game: 4 programmers and 3 artists. 6 of us are from Spain and one is from Buenos Aires, Argentina. In general, we didn’t have any experience in making video games apart from university projects and things we did on our own, so this can be considered our “first game”. The way the team was made is funny. As part of the 1 year Master we started, we had to form 4 teams of 4 programmers/3 artists, without knowing each other. The way we formed ours was just because we all took the same subway after classes, and the only thing we knew for sure was that we wanted to make a stealth game. Thinking about this now, it’s incredible luck we had, because in general, we worked very, very well together and we are now close friends.
Art Style, Main Game Mechanics & Inspiration
The idea of Atlas’ Fate came up after an intense brainstorming. As we said, the only thing we knew was that the game was going to be stealth, so a lot of crazy ideas were put on the table about the main mechanics (hacking, levitation powers, transforming into electricity and so on), but none convinced us. Soon, they started to converge into the idea of using the environment and the shadows in some way. That’s when one of us appeared with this shabby piece of paper, and we immediately knew we had the main mechanics.
After that, we started to think about ways to use those mechanics and build a game around them.
As for the art, we chose cyberpunk settings because they allowed us to limit the places where the player could merge with the shadows by putting lights and neon lights in an organic way. We wanted to make something unique, too, so instead of taking the typical cyberpunk cities (New York, Tokyo, etc.), we used an ancient Arabic architecture with cyberpunk built on it.
Another clear inspiration is the building we chose to be Atlas’ power plant based on the Blue Mosque in Istanbul. That was because we wanted to represent that the monument was there (ancient architecture) and Atlas built its energy plant inside it (pure sci-fi). This generates this kind of contrast:
Other sci-fi buildings are the corridors between scenes:
We also wanted to represent Atlas as a powerful, omnipresent megacorporation. To do this, we created a lot of elements inspired by World War II and Nazi propaganda, such as posters, statues or big banners.
How the Development Process Was Organized
During Atlas’ Fate development, there wasn’t any lead or director, we were only programmers or artists. However, as the project continued, each one of us was adapting to his role according to his ability in different fields such as Game Design, AI, Environment Art, etc.
Project planning was based on milestones. Every 2 or 3 months, we had to deliver a milestone covering certain aspects.
We started to develop the project at the beginning of January, and at the end of February, we had our first milestone. There, we had the foundations of the engine, the cornerstones of the player movement, main mechanics, and very basic AI. As you can see from the result, there was almost no art yet:
Milestone 2 was at the beginning of May. Using the basis of the first one, we added art and started to see how the aesthetics of the game would look like. All this was made while developing our engine which multiplied the work we had to do in order to get results. In this milestone, we started to see the ancient architecture + cyberpunk style:
Milestone 3 consisted of increasing the size of the maps as well as improving the basis. We added 4 new playable zones: 2 of them were with art, the other two were still in the whitebox phase. This milestone was released at the beginning of July.
Last milestone (4) was a huge sprint and a really big change. We worked extremely hard in this milestone in order to deliver the best possible finish. This is a graphic of the Github repository (which is public here) where you can see the progress since the beginning of the project. As you can see, there is a huge difference between the first 3 milestones and the final one in which we dedicated more than 16 hours per day.
That period was quite hard, but we were very motivated. There was a change in the aesthetics towards a more realistic one. We finished art, added the whole storytelling, the sound effects, and music, and even voice acting! Our goal was to make the game as similar as possible to a professional game, and we think we made it. It was also in this period, in September, when we submitted the game to IGF, having the game unfinished. At the end of this milestone, this was the result:
Since then, we changed some minor things according to the feedback received in festivals, made the launch trailer and started to submit it for more contests. Basically, this was the process of the creation of Atlas’ Fate.
Shadow Mechanics & Level Design
Developing our main mechanics, the shadow merge, was probably the biggest challenge we had. The shadow detection implementation was straightforward, as we only needed light volumes (which we already had been using) and a raycast test to detect whether the player is in the shadows or not.
On the other hand, the movement was a bigger goal, because the player has the ability to shadow-merge on the walls and other surfaces with different gravity settings applied. This meant a lot of work on implementing the physics engine and also on working with the cameras, so that they are easy and intuitive to control by the player, especially on different surface changes. (i.e from the ground to the wall and vice versa).
Having such a complex ability forced us to create a series of restrictions not only to make our work easier but to simplify the use of this mechanic for the player. The first limitation is that the player can’t shadow-merge on the ceilings upside down. This was made to avoid high complexity movement and camera control for the player in narrow places (very common in a cyberpunk environment) and also not to restrict our level design on interior levels were ceilings are more present.
Level design was also a major part of managing the shadow-merge mechanic. We took the advantage of the light and shadows theme and placed lights on our level to restrict the player’s movement area, for instance, placing neons in some places so that the player could not avoid the playable area.
Something that really helped us in level design, was to have the prototype of the mechanics in an early stage of the project so that we could test which limitations were needed in order to provide a better experience.
The sonar wave inspired by Metal Gear Solid sonar punch is a key mechanic in our game. The technique behind is based on a post-processing effect. The post-processing effect is basically a process that is applied to the final image after all the rendering is done.
In our case, we are using two post-processing effects to compose the final result: the wave and the distortion.
First, we compute the sonar wave on the screen which is done in two steps. During the first step, we take advantage of the stencil buffer, writing into a buffer the different enemies and other items that can give some information and feedback to the player. These objects have their own mask so that later they can be identified in the second step and different colors can be applied. For instance, wires in our level are marked with yellow so that the player could easily identify the path to follow.
The second step is to draw the pulse wave which is done using a simple texture gradient and the depth map from our scene. The depth buffer which stores the depth per pixel on the screen will allow us to slide this gradient texture over time depending on the pixel depth and to determine whether the pulse wave has reached an enemy and it must be shown.
Finally, we apply a screen space distortion to have the final touch on the punch wave, and the final result is ready to be shown.
During the development of the game, we had to create our own particle system and make all the effects from scratch. To do so, we created our own particle editor inside the engine, so that the different effects could be edited in real time.
As the player is the most important element of a video game that is always seen on the screen, we had special dedication when creating character particle effects in such a way that they could fit the shadow background around it.
The shadowy cloud is an effect composed of four different particle systems that are played when the player enters and leaves the shadow mode. These particles are based on three different cloud textures that our artists painted. Thanks to the tools we built, these could be synchronized in a proper way.
The silhouette distortion is also done using a post-processing effect shader. In a very similar way to the sonar wave, we render the player into a particular mask, a sinusoidal effect is applied and the distortion is created.
Publishing & Future Changes
The main reason to upload Atlas’ Fate for free in our web is that it was made using a custom engine programmed from scratch by us while we were doing the Master, and it’s almost impossible to develop a viable commercial game without using a commercial engine. Also, it was first intended to be used as a portfolio for us, so at the beginning, we didn’t plan to develop it to be a commercial game.
Now, after different nominations, like being finalists at the Best Student Game in the Fun & Serious festival or the IGF Honorable Mention, 5 members of us have started to work on the game using these mechanics but with some changes based on the feedback that we received in events and festivals.
First and most important, we are using Unity now. Also, we are changing the aesthetics and the art style into a more cartoonish but still dark one, because we want the player to be able to see if they can merge in a shadow or not just by looking at the screen. We will also improve and fix some aspects regarding the player’s mobility (you will be able to jump now!) and camera in the shadow-merge. Meanwhile, we are still looking for funding and a publisher to help us achieve our dream. If you want to keep up with our progress and news about this, you can follow us on Twitter: @BabyRobotGames. We are really excited about this project and will work hard to achieve the goal.
Thank you very much for reading this interview, we are truly grateful! Remember to follow us on Twitter and download and try Atlas’ Fate for free here.
Developers of Atlas’ Fate: Between Light & Darkness
Interview conducted by Daria Loginova