A game production based on “Angry Birds”

Research Article
Open access

A game production based on “Angry Birds”

Yanlin Li 1* , Kun Yang 2 , Yichen Yang 3
  • 1 QunXing Foreign Language Schools    
  • 2 Depu Foreign Language School    
  • 3 Shanghai Nanyang Model High School    
  • *corresponding author 15381773893@139.com
Published on 4 February 2024 | https://doi.org/10.54254/2755-2721/35/20230370
ACE Vol.35
ISSN (Print): 2755-273X
ISSN (Online): 2755-2721
ISBN (Print): 978-1-83558-295-4
ISBN (Online): 978-1-83558-296-1

Abstract

In the past few years, the game industry has undergone many changes, and now it has improved from single player games to the era of online mobile games. Games that used to only run on computers now can also be used on smart phones. This time we improve the once popular game "Angry Birds", with the aim of making the content of the game more comprehensive and better attracting players. For example, we have added more kinds of birds to the game and optimized animation effects such as the injuries of pigs and the deaths of birds. In the programme and improvement of making game, we also referenced a lot of literature and videos on the internet, and the experimental results showed that it’s a success of game making because most people who experienced our “Angry Birds”gave it a positive review and high points.

Keywords:

single player games, online mobile games, animation effects, angry birds

Li,Y.;Yang,K.;Yang,Y. (2024). A game production based on “Angry Birds”. Applied and Computational Engineering,35,97-103.
Export citation

1. Introduction

The history of electronic games is very short, with less than a century since they appeared. However, the impact of electronic games on human social entertainment activities is very obvious. The earliest recorded of electronic game,"Naughts&Crosses," appeared in 1952. It was the first computer game which was recorded in history, it was developed by computer scientist A.S. Douglas at the University of Cambridge, and it was a game about “tic tax toe” that could run on a computer [1]. After that, more and more electronic games appeared in the view of public, most of which were single player games which was running on computers and arcade games on game consoles, such as the classic one "Mini pong". Until the 21st century, the first iPhone was introduced, it brought huge changes to the mobile phone industry [2]. At the same time, with the transformation of the mobile industry, the mobile game market has also become more and more popular. 2009, the classic game "Angry Birds" produced by Riovo was published on the iOS platform. The game takes revenge on the pigs who stole the bird's eggs and tells a series of stories between birds and pigs. The programming and expansion of this game will become the core of this article, as there are some defects in the original version of the game [3].

We will expand and refine some of the content, optimize and enrich the animation with special effects, and make the game content much better. For example, adding new bird species allows players to have different game experiences, such as manipulating several birds to fly to the enemy at the same time, it can test ability of players about operating multiple units simultaneously, and the attack of the bird increases with the difficulty of the operation [4-6]; Alternatively, it could enhance some animation with special effects to create a better gaming atmosphere, such as adding some smoke effects to the death of birds. The camera follows the movement of the birds, providing players with an immersive feeling while playing.

2. Design and implement

2.1. Add smoke effects

Because in the original game, after the pig is hit by the bird or the bird hits the object and stops, the bird and the pig will directly disappear, without any process or display to reflect the process of their death. To this end, this article will add a smoke effect after death to the game Angry Birds.

To be specific: first, we need to slice the smoke renderings in our gallery and make sure they are correctly segmented into four different parts. For those renderings that are not cut completely, we may need to manually make some adjustments.

Next, we drag out the four smoke renderings and overlap them together in a certain order. To achieve this effect, we can use the animation function to make the four smoke renders gradually change as they overlap to form an animation effect [6]. Note that we should cancel the loop and set it to destroy the object itself when it's finished playing.

Finally, make the birds and pigs play the smoke animation when they die, and then disappear when the animation is finished. We can add a trigger event to the game logic to animate the smoke effect when the bird or pig is hit or comes to a stop and remove the bird or pig when the animation is finished.

Thus, with the above process, we have successfully added a death smoke effect for the birds and pigs. This effect will improve the visualization of the game and give the player a more intuitive sense of the death of the bird and pig (Figure 1).

/word/media/image1.jpeg

Figure 1. The add effect display of smoke.

2.2. Injuries to pigs

To further enhance the game experience, we can add more details to the pig's wounded and dead states. The specific production process is as follows:

First, we need to determine the base velocity threshold when the pig is hit by the bird. Assume that the threshold is 5, and that the pig will enter the injured state when the speed is below 5 and above 10; When the speed reaches 10 and above, the pig dies directly.

Next, we find the image of the injured state of the pig that has been cut in the gallery. These images should clearly show the extent of the pig's injury so that the player can tell whether the pig is injured or not. We then import these images into the game and ensure that they can automatically replace the original image if the pig is injured.

To achieve this effect, we can add corresponding judgments and code to the game logic. When the pig is hit by the bird, we can obtain the speed of the bird and compare it with the base speed threshold. If the speed is 5 and above and below 10, we replace the picture of the pig with the picture of the injured state; If the speed reaches 10 and above, we directly replace the picture of the pig with the picture of the dead state.

Through the above steps, we successfully added more details to the injured state of the pig and provided a visual effect to distinguish between injured and dead pigs. This will increase the realism and engagement of the player and make the game more fun. Using these techniques, we can further optimize the Angry Birds game experience.

2.3. Achieve multiple bird control

To enable the control of multiple birds, here is a further description of the production process: First, we need to make the bird a replica and create two additional birds. We can use the copy feature of the game engine to achieve this.

Next, we create an empty object called "GameManager" and mount a new script called "GameManager" on it. Using the singleton pattern, we can ensure that only one GameManager object exists in the entire game [7]. In the GameManager script, we can use a list to store all the birds and pigs.

In the bird code, we need to write logic to control the behavior of the bird. For example, when the bird has been flying for some time, we can trigger the code to play the death animation and destroy the bird. We also need to remove the bird from GameManager's list. Similarly, for the pig code, we need to process and remove the pig when it dies.

In GameManager, we can use a variable to store the currently used birds, and a variable to store the state of the game. When the first bird is used, we can disable the scripts for the otherbirds, ensuring that the player can only control the current bird. When the current bird is destroyed, we can check the state of the game to enable the next bird.

Through the above steps, we have successfully achieved the control of multiple birds (Figure 2). The player can control each bird in sequence and switch to the next bird after each death. This will make the game more challenging and fun, allowing players to play with different birds in a variety of ways.

/word/media/image2.png

Figure 2. The diagram of multiple bird control.

2.4. Implement camera following

We realized that the camera following is also an important step. First, we open the Package Manager, which can be directly opened in Unity3D. Then,select and download Cinemachine, which is a module of camera. After the downloading,we can see an option named "Cinemachine" appeared in the top window bar on the main interface. After selecting it, create a 2D camera. After the camera is created, we can drag the first bird from the SampleScene on the left into the “Follow” in the "inspector" section of the window on the right, so that the camera will follow the bird. That is to say, after the player pulls the slingshot to launch the bird, the camera, which is the interface on the player's screen, will follow the bird to move accordingly [8]. Subsequently, users can adjust the horizontal and vertical positions by change the figures of "Screen X" and "Screen Y" on the screen interface, also the length and width of the display area on the game interface can also be adjusted accordingly to achieve a suitable effect.

Then we created an empty object called "Camera BG", add a "Polygon" collider to it, and check the "Is trigger" option in Polygon Collider 2D to use as the range of the camera. That is to say, after the bird flies out or leaves this area, the camera will not follow the bird's movement. Returning to the previous "CM vcam1", add the Cinemachine Confiner component to post-process the position of the virtual camera, limit the virtual camera position to a specific range, and then drag the original "Camera BG" object into the "Cinemachine Confiner". In this way, a 2D camera was finished.

3. Experiment:

3.1. An introduction to the experimental platform

The Requirements (minimum) of Angry Birds (series) system is listed in table 1.

Table 1. Requirements (minimum) of Angry Birds (series) system.

CPU: 1GHz

RAM: 512MB

GPU: Compatible with OpenGL 1.3

Operating system: Windows XP SP2

3.2. Effect comparison

3.2.1. The movement trajectory of the bird. As shown in Figure 3 (1), the flight of the bird is boring and monotonous, so we added some images to make it more vivid. As shown in Figure 3 (2), we added a flight track under the bird to make it appear to fly up and forward, giving the bird more physical engines.

Adding this flight trajectory is to make it more reasonable and good-looking, and secondly, to let players know the route of the bird flying in the air, and in the next shot, users can judge how to shoot more effectively based on this trajectory.

/word/media/image3.jpeg /word/media/image4.jpeg

(a) (b)

Figure 3. The diagram of birds in flight.

3.2.2. The defeat effect of the bird. As shown in Figure 4 (1), the bird fell very abnormally and a bit unconventionally, so we added smoke and the flight trajectory mentioned above in order to look more logical. As shown in Figure 4 (2), the addition of smoke makes the bird look more logical and special, as if it fell to the ground to produce smoke, with smoke makes the player more visual in the game experience, and the added trajectory is also as beautiful and vivid as mentioned above.

/word/media/image5.jpeg/word/media/image6.jpeg

(a) (b)

Figure 4. Schematics of different effects after it fails.

3.2.3. Show the picture after victory. As shown in Figure 5 (1), the display image is very monotonous, so we added stars. As shown in Figure 5 (2), the addition of stars is very meaningful, which allows players to see their results (similar to results) after finishing the game, making them more challenging and wanting to play. However, these three stars are not available after the game is over, we set up a gameplay, the number of stars depends on the player's score in the game (the score here is shown in the image in (two) above), if the score is high, users can get three stars, if the score is medium, users can get two stars, if the score is low, users can only get one star.

/word/media/image7.jpeg /word/media/image8.jpeg

(a) (b)

Figure 5. Schematics of different effects after the victory.

3.2.4. Show the picture after failure. As shown in Figure 6 (1), the display image is very monotonous, so we added a funny pig. As shown in Figure 6 (2), adding a pig feels that this pig is very hateful and very annoying, which makes people want to continue playing and do not stop without clearing the level, which attracts the attention of players more. (This is pure joke to make the game more interesting).

/word/media/image9.jpeg /word/media/image10.jpeg

(a) (b)

Figure 6. Schematics of different effects after the game is lost.

3.3. Pause the presentation

As shown in Figure 7 (1), the pause screen has nothing and is very monotonous, so we added three buttons to this. As shown in Figure 7 (2), after adding it, users can know which key is what and what it can do, at a glance. If users want to continue the game, simply press the first key (similar to the left arrow) and the game will continue.

/word/media/image11.jpeg /word/media/image12.jpeg

(a) (b)

Figure 7. Schematics of different effects paused screens.

We later invited 20 more people to test the game, and the results are as shown in table 2.

Table 2. 20 people tested the game -.

Score

Visual effects

Gaming interests

operation

Score >90

13

15

16

70< Score >80

3

2

1

60< Score >70

2

1

2

Score <60

2

2

1

For these three aspects: visual effects, game interest, and operation, we have made different improvements in the above research. For example, in terms of visuals, as mentioned earlier, we added the bird's trajectory and the failed explosion effect, etc., so that these 20 players basically scored high.

4. Conclusion

In the development of video games, the game "Angry Birds" is very classic. First of all, it can be played on mobile phones, and later on Windows. We made this little game to restore the classics, using simple procedures to achieve the original gameplay of "Angry Birds". We experimented with the game, and the whole experiment was to test the mini-game a little and run it to see if there was anything abnormal in the game. On this basis, we have made a series of improvements above, adding many factors, such as explosions, feather clouds, bird trajectories, etc., which make the player's experience in the game better, and these details can cover up some unrealistic collision effects, so that the game can have better rationality and fun. Then these improvements also improve the visual effects, game interest, and game operation of the game, so that players have a better game experience.

There are many disadvantages of the game, such as fewer types of birds, too single game form, and the game levels are not difficult. In future game improvements, we will refer to these directions to improve the game and make the game types richer. There are also many advantages of the game, such as good bird painting and three-dimensional effects, beautiful scene design, etc., we will continue to maintain and better develop these advantages.

Authors contribution

All the authors contributed equally and their names were listed in alphabetical order.


References

[1]. Janine SuvakLearn Unity3D rogramming with UnityScript Unity’s JavaScript for Beginners, 2014

[2]. Du-Mim Yoon, Kyung-Joong Kim Challenges and opportunities in game artificial intelligence education using angry birds IEEE Access 3, 793-804, 2015

[3]. Jochen Renz, Xiaoyu Ge, Stephen Gould, Peng Zhang, The angry birds AI competition AI Magazine 36 (2), 85-87, 2015

[4]. Janine Suvak Learn Unity3D Programming with UnityScript Unity’s JavaScript for Beginners, Packt Publishing,2014

[5]. Paavo Nelimarkka Teaching unity3d in game programming module Packt Publishing,2014

[6]. RH Creighton Unity Ref: unity 3D game development by example beginner’s guide Packt Publishing, 2010

[7]. Sheng Feng, Chao Shen, Xiaolong Han, Collision detection framework based on Unity3D 34th Chinese Control and Decision Conference, 2170-2175, 2022

[8]. Zhang Ye, Wang JianQin,Lin ZhiHong An intelligent display platform of traditional farming myth’s virtual scene based on unity3D IFAC-PapersOnLine 51 (17), 678-682, 2018


Cite this article

Li,Y.;Yang,K.;Yang,Y. (2024). A game production based on “Angry Birds”. Applied and Computational Engineering,35,97-103.

Data availability

The datasets used and/or analyzed during the current study will be available from the authors upon reasonable request.

Disclaimer/Publisher's Note

The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of EWA Publishing and/or the editor(s). EWA Publishing and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

About volume

Volume title: Proceedings of the 2023 International Conference on Machine Learning and Automation

ISBN:978-1-83558-295-4(Print) / 978-1-83558-296-1(Online)
Editor:Mustafa İSTANBULLU
Conference website: https://2023.confmla.org/
Conference date: 18 October 2023
Series: Applied and Computational Engineering
Volume number: Vol.35
ISSN:2755-2721(Print) / 2755-273X(Online)

© 2024 by the author(s). Licensee EWA Publishing, Oxford, UK. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license. Authors who publish this series agree to the following terms:
1. Authors retain copyright and grant the series right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgment of the work's authorship and initial publication in this series.
2. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the series's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgment of its initial publication in this series.
3. Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See Open access policy for details).

References

[1]. Janine SuvakLearn Unity3D rogramming with UnityScript Unity’s JavaScript for Beginners, 2014

[2]. Du-Mim Yoon, Kyung-Joong Kim Challenges and opportunities in game artificial intelligence education using angry birds IEEE Access 3, 793-804, 2015

[3]. Jochen Renz, Xiaoyu Ge, Stephen Gould, Peng Zhang, The angry birds AI competition AI Magazine 36 (2), 85-87, 2015

[4]. Janine Suvak Learn Unity3D Programming with UnityScript Unity’s JavaScript for Beginners, Packt Publishing,2014

[5]. Paavo Nelimarkka Teaching unity3d in game programming module Packt Publishing,2014

[6]. RH Creighton Unity Ref: unity 3D game development by example beginner’s guide Packt Publishing, 2010

[7]. Sheng Feng, Chao Shen, Xiaolong Han, Collision detection framework based on Unity3D 34th Chinese Control and Decision Conference, 2170-2175, 2022

[8]. Zhang Ye, Wang JianQin,Lin ZhiHong An intelligent display platform of traditional farming myth’s virtual scene based on unity3D IFAC-PapersOnLine 51 (17), 678-682, 2018