Atari Ping Pong Golang Implementation using a DDD approach
Following the learning path Here
After setup, a very basic test application can be used to validate instalation.
go run ./app/sdl2/main.gogo run ./app/pingpong/main.goA Paddle is what the player controls through the keyboard
A Ball is the moving part between the players
A Keyboard Event represents a new state the player wants to set to paddle
A G structure inside game package is responsible for holding all game logic. It abstracts the calls to Update and Draw by utilizing the interfaces defined for entities
A EventDispatcher is responsible for reading SDL keyboard events and calling all KeyBoardListener subscribed to the dispatcher.
A EventPooler is responsible for pooling SDL events and calling the respective dispatcher
- ✔ Frame Rate Independence
- ✔ Score
- ✔ Game Over State -> Win/Lose
- Multiplayer
- ✔ AI more imperfect
- Window resize