September 09, 2014
Armville - Archie's Book Chase
“Armville - Archie’s Book Chase” is a nonlinear, high score based time trial runner with high replay value.
PROJECT INFORMATION
Date: 2nd semester (2014)
Duration: 5 months
Team Size: 5 people
Technology: Unity5, C#, Photoshop, Ableton Live 9
Constraints: Develop a fully playable vertical slice of a 2D platformer using the Unity-Engine. It has to
be about four screen sizes large and include sound as well as animation.
Let's Play
Introduction To Our Project
Dustforce
by Hitbox Team
“Dustforce” by Hitbox Team
Two games were catching our attention while brainstorming for this project: “Dustforce” by “Hitbox Team” and “Super Meat Boy” by “Team Meat”. Both games are focusing on precise control and movement of the playable character. While “Dustforce” felt a little bit too slow paced and “Super Meat Boy” a little bit too fast-paced, they still had a lot in common. We agreed, regarding pace, that our game should feel like something in between of the two mentioned games
Concept
Super Meat Boy
by Team Meat
“Super Meat Boy” by Team Meat
We wanted a game, which provides a scalable challenge to players of any skill level. The difficulty on the first trial could be to familiarize the controls and to combine the mechanics of the game to reach the end of the game at some point. The second attempt could be driven by the eagerness to improve the controls and the desire to find the best route and to beat the current high score. To enhance the replayability of the game, we decided to design a nonlinear level with multiple alternative paths. One goal was to avoid the existence of a superior route, which would have an advantage over all other routes. The primary focus, however, was addressed towards the unorthodox movement of the main character.
Armville
Pulling the right stick down,
will result in the arm to go down.
Pulling the right stick down will result in the arm to go down.
Mechanics
Our character is lacking the ability to jump through a single button press. Instead, he has a free rotatable arm, which can be used to punch onto solid ground for repulsive force and rebound into opposite direction. The position of his right arm is directly translated through the position of the controller’s right stick. The player has the freedom to move the right arm independently from the character's body, which enables a high variety of movement combinations. Not only is the character able to use his arm to gain repulsive force for rebounds, but also to use his hands for grabbing corners and swinging around the environment.
Art Style
To provide a nonlinear level design, we decided to install checkpoints all around the level, which the player has to reach in unrestricted order. We chose a library as a setting since it provides a reasonable explanation to reach certain checkpoints. The checkpoints are represented through books, which the character has to collect. To emphasize the burlesque nature of our futuristic setting, we decided on a “cartoony” art style with sharp outlines. Deciding on a color scheme was representing a difficult task since a library usually contains a high variation of books with different colored book covers. It was important to us to describe a vast library with its high variety of books, without dragging too much of the player's attention to the background.
Level Design
Intention
Armville
First, we blocked out
several levels.
First, we started to block out several analog levels.
To maintain high replay value, it was necessary to design a nonlinear demonstration level which would offer various paths with each of them offering even more options on how to traverse through them. One of our other tasks was to assure, that the level design would not provide an apparent superior path, which most of the players would end up going for automatically, rather than having the urge to replay the level to figure out their optimized path. Due to the limited scope of our project we were trying to use every space as efficient as possible.
Working Process
Armville
Every change in the design
was communicated and documented.
Every change in the design was communicated and documented.
I have been hosting several playtesting sessions, in which external subjects were playing our level for the first time while I was studying their behavior. I ended up in doing countless tweaks and optimization processes to the level design, as well as adding and removing whole areas to achieve an overall balanced level design. Every tweak and optimization process always had to be tested again by new external subjects, which in return was resulting in even more improvements to provide the best experience for beginners and advanced players.
Result
Armville
the final layout
the final layout
While the final demonstration level is perfectly suitable for medium to advanced players, it sometimes appears to be a little bit too difficult for players, who are not familiar with video games. We were aware of that issue, but we decided not to lower the difficulty. Instead, we want the necessity for improvement and aid the player through specific set up areas. We are sure that a more extensive tutorial would have helped some players to be able to jump right into the game with less struggle, but due to the limited scope of this project, we decided not to include it yet. Still, the demonstration level represents the level design we were aiming for in a big picture. There is no superior path, and I am confident, that we achieved a level design, which is delivering a highly diverse experience regarding movement and problem solving altogether.
Learning Effect
Studying and going through countless optimization cycles, have shown me, how little changes within the game design can have a massive impact on the game and change the way it is being played. It also underlined the importance of playtesting in general. Fixing one design issue can cause another unpredictable design issues to appear, which often can only be discovered by more intensive playtesting. Also, it is important to let as many different people as possible to test the game. The differences in the way the games are being played are very insightful and can lead to great ideas.
Sound Design
Intention
Ableton Live
Multiple cues have to be able
to fire simultaneously.
Multiple cues have to be able to fire simultaneously.
As a musician and sound enthusiast I pay a lot of attention to the sound design of games. It was not easy to think of a soundtrack, which would reflect the atmosphere of a quiet library, but also emphasizes the action orientated fast-paced gameplay of our sidescroller. The feedback sounds did not only had to be designed out of a functional intention but also had to fit the overall style of the game. The possibilities of video games as an interactive medium were always fascinating me. Unlike movies, everything can be influenced and altered by the player. Instead of just being purely a consumer, the player can become a producer to a certain degree. I like the idea of giving feedback to the player in every aspect of a game. Not only visuals and special sound effects, but almost everything should be a reaction to the player’s action. I believe this is the primary strength of video games and what distinguishes it most from other media or non-interactive art. That is why I wanted the soundtrack to be highly reactive to the game state.
Working Process
To get the required information I had to add a script with a “void OnCollisionEnter2D()” method to the playable character. All the collision information can be handed over to the sound script. The sound script knows when the playable character is colliding and with what velocity it was colliding and therefore can distinguish between different cases of the collision’s direction and strength. The collision’s direction is essential to be able to differentiate between cases like for example: hitting the head, landing on the feet or running into a wall. The collision’s strength is easily linked to the volume of the triggered sound so that a higher impact is louder than a smaller impact. The opposite applies for the whip sound of the playable character’s arm and the airstream sound of the playable character’s body while falling: the velocity, while being in a state of not colliding, matters. The velocity of the playable character and his arm can be read out of the “Rigidbody2D.velocity” variable. If the velocity is high enough, a sound will be triggered, and the volume, as well as the pitch, is adjusted accordingly.
Ableton Live
session view
session view
I composed a soundtrack accordingly to the art style. I ended up with six bass lines, one drum line, and one percussion line. The soundtrack starts off with a solo bass line to reflect the atmosphere of a quiet library and ultimately ends up with a composition including drums and percussion. The soundtrack reflects the progress of the game with the increased intensity of the bass line. To apply even more pressure, drums and percussion are added at a later stage. Because the playable character is usually faster in the air, I wanted to emphasize this state by letting the percussion only play while in the air. The percussion is added after collecting books, but also fades out after a while again if the player stops collecting books.
Ableton Live
arrangement view
arrangement view
At last, I was designing additional sounds for the Archie ghost and the high score screen. I was modulating sounds by using the Operator in Ableton Live and added some sound effects afterward. The ghost sound was then attached to the ghost itself as a 3D sound. I then adjusted the 3D sound settings of the ghost in Unity, to get the best-balanced sound effect whenever the ghost floats over the screen. Mostly, I had to reduce on the high pitches to make the assets sound dull. This is because, our setting is mainly dominated by big wooden objects and heavy books, which would swallow some of the high pitch frequency. I also had to record sounds and dub our character with my voice.
Result
I am pleased with the result, and I am confident, that I succeeded in catching the right atmosphere and matching the style of our game. I know that there is a lot of potential for further improvements, which I couldn’t tackle on due to the lack of time. But there were more urgent tasks to finish at the end of the project.
Learning Effect
I was always very curious about the design and implementation of sound in games. After this project, I have learned a lot about the possibilities of sound design in games. This experience was very inspiring, and the options are overwhelming. Designing sounds paired with the implementation is opening an entirely new dimension for creativity and problem-solving. This has only increased my interest in sound design. This task was a lot of fun, and I cannot wait to continue experimenting in this area.
Recap
Armville
GamesCom visitor is playing Armville.
GamesCom visitor is playing Armville.
I am satisfied with the result of our game and the progress and experience I have gained through this project. I made a great leap forward in programming and understanding game engines. Because I have assigned myself to a broad variety of tasks, I was able to widen my knowledge horizontally. I have a much more defined idea of the working pipeline in game development. This helped me to figure out, which parts of game development I do enjoy most. Knowing one's interests represents an excellent advantage for further projects. It will enable me in future projects to build up my knowledge vertically and go into more depth.
Looking back at my expectations, personal goals and milestones, I would mark this project as a great success. Although I was not able to set a specific goal and milestone from the very beginning, I feel like having surpassed my expectations by far.
I have a much more transparent image of what to expect for the next project now. This allows me to have a better understanding of how to prepare for future projects and enables me to reach out to higher goals. I would like to focus even more on programming and sound design for the next project and hope that I will be able to tackle more significant programming problems and modulate my sounds in a more defined way.
>>This is just a slice. For my full documentation: Click HERE!<<
Gameplay Video
Making Of