Enemy Dawn

Terminate the Invaders!

Category: Game

Enemy Dawn is an engaging 2D game with a lot of explosions, tanks, trucks, bullets packed into 5 levels making it irresistible for a gaming addict. The game play is directed to have horizontal and vertical firing lines at the same time. Enemy Dawn has a  lot of challenges for its players. There are a number of score benchmarks for users to prove their skills and rise in ranks within the game. Apart from this, what is unique in Enemy Dawn is its accurate depiction of the artillery. The warships and fighter planes in the game are close replicas that takes you back to history. If you are an artillery or weapon enthusiast, who knows in and out of historic warship and planes, Enemy Dawn is a piece of entertainment you should not miss. The game UI is neatly designed across all levels that is topped up with a hassle free gameplay experience. All 2D characters created are optimized for a smooth gameplay across multiple devices. Overall, Enemy Dawn gives a fulfilling gaming experience expected from a typical 2D game.

Design Effort

The major focus was the user’s truck that fired weapons on the warplanes and tanks. We had to keep it simple, as the gameplay tends to populate the frame with too many characters at times. We did a lot of pencil sketching and concept art before we finally created the game environment and characters.

Now, let us go through the major challenges we faced making the game-

Full Screen Mode for Gameplay not working: While the gameplay was scripted on a full screen mode, it encountered a glitch going full screen everytime. We faced frequent issues with multiple display sizes as well.

Solution: We resized the video display size while replacing the technique that automates the resolution of the video. We set the device display size by our own and made it work across multiple resolutions. This way, we could easily set the resolution of the video with respect to the device it is going to play on.

Level Selection: While using one scroll layer, we were adding level pages on it. Consecutive level pages did not direct the users to the respective levels as conceptualized. While level page 2 was supposed to direct to the second level, instead, it opened up level 3 number of times.

Solution: We created buttons for each level to solve the problem. The area defined for the level did not end up accurately while a user scrolled across the levels. Hence, the answer was to create smaller areas to select levels that were intentionally placed at the middle of each level page.

Text Box and Uniform Font: We had to provide a scrollable text box more than the defined size. Also, we had to match its fonts used within the game theme.

Solution: We used one of the iOS controls that supports scrollable text box, converted it and added in our game view. This is how we had the text box and font ready.

Decrease in Fluidity due to Infinite Map: We integrated infinite map into a number of levels which helps in placing the appropriate background in the level with respect to the position of the player. The moving map in the background reduced fluidity and gave a stuttering effect within the frame.

Solution: To retain the fluidity we used only one action which moves the layer without any sudden movement. We also increased the time period required for the player to move the character.

Challenging Task

Acceleration: Our game was based mainly on acceleration and we had to maintain appropriate sensitivity of accelerometer.

Solution: Using a proper orientation technique, we were able to obtain appropriate sensitivity of accelerometer.

JoyStick Control: One of the other way to play the game was joystick control. We had to proportionally set player’s attack angle to the velocity of the joystick movement . Also, we were facing joystick stiffness in movement.

Solution: We used joystick control to find out it’s velocity and counted the required angle for particular movements. Once it was done, we set player’s attack angle in accordance to the velocity and the angle that we ascertained.

Enemy Attack with Grenades: In one of levels, the enemy throws grenades on the player. However, as the player moved from its position, the movement of grenades went haywire.

Solution: This was easy to crack. We added the map’s movement with that of the grenades.

Moving Bodies on Accelerometer: One of the challenging task was to employ the accelerometer to make all the bodies move with the player

Solution: We defined the directions in which the bodies should move and employed forces in Unity Engine to accomplish movement of characters.

Physics Bodies & Collision: One of the most complex task was to detect collisions of all world bodies & remove them.

Solution: In the event of a collision, the body had to disappear. We tracked the bodies with respect to their position and removed them from the screen every time they suffered collision.

Animation vs. Memory Management: We have used a lot of animations in this game and it created memory management issues.

Solution: We removed all game objects in each session that made the animations runs smooth without consuming much of memory.

Results Obtained

Enemy Dawn had engaging gameplay sessions and immersive graphics. Despite running a lot of assets at any given frame, the game worked smooth across devices. Animations worked perfectly and characters followed the path with respect to the player. There were no stuttering characters. Also, characters that collided, instantly vanished from the screen. The overall UI and the pace of events were simply captivating for any gamer. Currently, the game is going strong in the app store with a lot of positive reviews. Users are finding it extremely engaging. Most of them have appreciated the accuracy of the warships and planes that date back to the yesteryears of Polish and Nazi German artillery.