Pong

Get Ready With Godot
  Before formally beginning game development, an essential initial step is preparing a game engine. Compared with other game engines, Godot offers several key advantages. It is fully open-source, free for commercial use, and royalty-free. In addition, Godot provides an integrated ecosystem that includes official and user-supported communities, developers’ blogs, and an asset library, enabling developers to easily access learning resources and engage with other practitioners. At the same time, Godot also provides an official software manual and allows users to contribute to and edit this documentation.
  These features were the primary reasons for choosing Godot as my development engine, as it facilitates both access to production resources and participation in an active developer community.
​
  After installing Godot, I quickly became familiar with its interface layout. However, due to the use of specialised terminology and engine-specific concepts, I found it difficult to fully understand the function and application of many features. As a result, I decided to adopt an iterative learning approach, combining hands-on game development with gradual exploration and understanding of the engine’s functionality.

Get Familiar with Pong
  Pong is widely regarded as one of the most influential works in the history of video games and is often recognised as the first commercially successful video game (Wikipedia, 2019). Its core gameplay involves two players controlling paddles positioned on opposite sides of the screen, moving them vertically to return a continuously bouncing ball while attempting to prevent their opponent from doing the same in order to score points.
​
  To make the project more accessible for beginners, The 20 Games Challenge provides a series of core development objectives alongside optional stretch goals.
1. Create an arena with two walls and a divider.
​
2. Add a paddle on either end of the play field. Use player inputs to move the paddles up and down.
​
3. Add a ball that moves around the playfield and bounces off of the paddles and walls.
​
4. Detect when the ball leaves the playfield. Assign a point to the player who scored.
​
5. Track and display the score for each player.
1. Write an AI script that can follow the ball so you can play with only one player.
​
2. Add a menu and allow the player to reset the game.
​
3. Add some basic sounds. Play a sound every time the ball collides with something, and every time a player scores.
  After reviewing the challenge guidelines and examining projects created by previous participants, I decided to begin by remaking the core gameplay of Pong as faithfully as possible. I planned to directly implement a player-versus-computer mode, as this would allow me to work with both player input code for controlling the ball and an AI script. Once a functional prototype has been completed, I will evaluate potential improvements and extensions to the original design.


