{"id":15104016,"url":"https://github.com/as567652/pong-game","last_synced_at":"2026-02-10T03:31:10.088Z","repository":{"id":106470883,"uuid":"390984494","full_name":"as567652/Pong-Game","owner":"as567652","description":"Developing Retro Type Pong Game Using LÖVE framework. LÖVE is a framework for making 2D games in the Lua programming language.","archived":false,"fork":false,"pushed_at":"2021-11-22T18:54:08.000Z","size":6774,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T12:30:24.603Z","etag":null,"topics":["game","game-development","love2d","love2d-framework","love2d-game","lua"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/as567652.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-30T08:09:08.000Z","updated_at":"2021-11-24T04:05:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"153a5e3a-2bf0-4ae1-bf8a-ae8e16803b6d","html_url":"https://github.com/as567652/Pong-Game","commit_stats":{"total_commits":24,"total_committers":2,"mean_commits":12.0,"dds":"0.16666666666666663","last_synced_commit":"d25f215f83f9fb46e2c4cdc1263d958b888cc6e6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/as567652/Pong-Game","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/as567652%2FPong-Game","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/as567652%2FPong-Game/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/as567652%2FPong-Game/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/as567652%2FPong-Game/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/as567652","download_url":"https://codeload.github.com/as567652/Pong-Game/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/as567652%2FPong-Game/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271093271,"owners_count":24697973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","game-development","love2d","love2d-framework","love2d-game","lua"],"created_at":"2024-09-25T20:00:26.740Z","updated_at":"2026-02-10T03:31:09.794Z","avatar_url":"https://github.com/as567652.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pong\nDeveloping Retro Type Pong Game Using LÖVE framework. \n\u003cbr\u003e\nLÖVE is a framework for making 2D games in the Lua programming language.\n\n\n![](https://img.shields.io/badge/L%C3%96VE2D%20-v11.1-%23ea316e?style=for-the-badge\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAntJREFUOI11kktsTVEUhr+9z76P0keqmiiirZDShhhhQpCQtATpQEQY1EQiEpEgRGlNPGJiaCAkIp4RiUdIkxoYMfIYlBBplHJxtdrbc59n72Vw7r3R4k/2ZK3/X49/bcUUyLzTsKzpzFiQXV0Tn1aFiEIYR9RTXgwcUUMnJ/HVJPGWGz1pKXT7NmsArDgAtFIoFFWmIh8Xc1bd236ipNF/iC+NWL93PEgbK64sBnAiWHH8KvhRP/Xr+KOHcmFSAdl0bc+o9bvyLigpIGNBCF/GghNifp5baxe7dpfcs7hfDgNoab0IUe9sriiWVADiEeloRj7mkY95Ih3NeAV42TaH3UsW6JZsBplI9gIY5k/fm8ynagBIWyLtjcw8uhGAoGsCAFNXCQfhYf+wmGSg0IAtVLQ+kQMaT60RkXDy9znqDraXdzd1laG4iDNrZ6kgZ4umOWzq53o9UpiYHwbAxTQqUvb1Lxjtgc3iSvxcpkEbpYPSQQWHnxj9b4EvoylwoEvXV8rq6kjF2xIh2hzn07kH/y3Q3fee+qrKsL1SqHh8SJN3tz0Vji0xTc2zFG8OX4GiLyXsu/mcy7aWGSqMK8/g6+l3FYB03nz3LTu2UBC8wJGoqpSlHW0MbmpSiLDizgDfa+fSYrywu9YobYbfdjbMNQBk7UqjvZ8uCEhHNKu2rVaztKb5/lcIAprqG2kp/yqF9gypifShonXFq2y+viNR8K/u2rlOvY4aaiXcM0wWx9YeaE1Ox44Nbq07NakAAH3SODPz43G9yCKxQbFjSFOewdngw9jn4X2J/csfU878A3OeyLz4SKLHxKKzHUAulxivbjj/bYN6NZX7G9C2GGiy4k2BAAAAAElFTkSuQmCC)\n![](https://img.shields.io/badge/Lua-v5.4-%23000080?style=for-the-badge\u0026logo=lua)\n\n## Table of contents\n* [Introduction](#introduction)\n* [Technologies](#technologies)\n* [Setup](#setup)\n* [Launch](#launch)\n* [Illustrations](#illustrations)\n* [Examples](#example)\n* [Status](#status)\n* [Sources](#sources)\n* [Other](#other)\n\n\n## Introduction\nAim of this project is to make a basic retro game **Pong** from scratch using Love2d framework and Lua language.\u003cbr\u003e\nSome Questions that I have tried my best to answer :-\n\n1) **How this game is different from others?**\u003cbr\u003e\nNo, it is not different from other games. I see this game as a first step towards my interest in game development.\n\n2) **How this game is different from the Tutorial Pong Game?**\u003cbr\u003e\nI have tried including my own ideas in this project. Some of those ideas are :-\n    * Whole idea regarding Menu and interface using Gamestates.\n    * Volume adjustments for SFX as well as Music.\n    * Difficulty levels which alters ball speed, paddle speed as well as paddle length\n    * In **Vs Computer** Mode also, speed of paddle changes according to difficulty level selected.\n    * In **Hard Difficulty**, Computer Controlled paddle will rarely miss the ball. While in **Easy Difficulty** Computer Controlled paddle will miss the ball more often.\n    * You can change targets varying from **1** to **19**.\n\n3) **What I have learned from this project?**\u003cbr\u003e\nI learned how game generally works. All those constantly running cycles of updates and renders is all that occurs behind the scenes. I also learned how frameworks are important for abstractions.\n\n4) **How your game works??** \u003cbr\u003e\nI have used simple approach of change in game states.These are the states that are present in my game and their main function :-\n    Game State                        | Main Function\n    --------------------------------- | -------------------------\n    START                             | To show Game Intro Screen.\n    MAIN_MENU                         | Show Main Menu.\n    MODE_MENU                         | If **Play** is selected in Menu show different modes availaible that are :- \u003cbr\u003e Vs Compter \u0026 Vs Player.\n    SETTINGS_MENU                     | If **Settings** is selected in Menu show volume adjustments that can be made.\n    CREDITS                           | If **Credits** is selected in Menu show credits.\n    QUIT_CONF_0                       | Player has chosen exit from **Main Menu** which quits the game.\n    QUIT_CONF_1                       | Player has chosen exit from **Paused Game** which brings player back to **Main Menu**.\n    VS_COMP_MENU and VS_PLAYER_MENU   | These are two different modes in which player can chose difficulty levels and target.\n    COMPUTER_MODE                     | Player will play against computer controlled paddle.\n    PLAY                              | Player will play against other player.\n    PAUSE                             | It brings **Pause Menu**.\n    PAUSE_TO_PLAY                     | If **Resume** is selected from **Pause Menu** it starts a countdown and player can go back playing.\n    P1_WINNER or P2_WINNER            | If **Target** reaches selected target than winner s announced and respective message is shown.\n\n5) **Future plans regarding this project??**\nI have started work on New Mode which is superior and more fun than this one.\n\n\n## Features:\n  1. **Different Game Modes :-**\n    This game provides 2 different game modes that are **Vs Computer** and **Vs Player**.\n  2. **Different Difficulties :-**\n    Each mode has 3 different difficulty levels that has different ball speed and different paddle size to make games more dynamic.\n  3. **Adjust Volume Of Music And SFX :-**\n    Don't like music?? You can turn it down or even turn it off from settings.\n  4. **AI implementation according to difficulty :-**\n    All 3 different difficulty levels have different AI Paddle implemented.\n  5. **New Mode Coming Soon :-**\n    New Mode is under development which is superior and more fun than this one. Stay Tuned!!\n\n\n## Technologies\n  #### Software Used :\n  * VS Code : 1.58.2\n  #### Languages Used :\n  * Lua\n  #### Frameworks Used :\n  * Love2d : 11.1\n\n\n## Setup\nFirst you must have these softwares and languages installed on your system -\n  * [Lua](https://www.lua.org/download.html)\n  * [Love2d : 11.1](https://love2d.org/)\n\n\n## Launch\nJust run this command where Folder **Game** is located.\n```\n$ love Game\n```\nA window will pop up and you are good to go.\n\n\n## Illustrations\n### Game State FlowChart\n\u003cp align=\"left\"\u003e\n  \u003cimg src=\"Game/Git Files/Game State FlowChart.jpg\" width=100% title=\"Game State FlowChart\"\u003e\n\u003c/p\u003e\n\n## Examples\n\u003cimg src=\"Game/Git Files/The_Pong_Game.gif\" alt=\"GIF\"\u003e\n\n\n## Project status\n  ***Completed***\n\n\n## Sources\n  * [**Love2d Documentation**](https://love2d.org/wiki/Main_Page)\n  * [**dafont(Fonts)**](https://www.dafont.com/)\n  * [**jsfxr(Sound Effects)**](https://sfxr.me/)\n\nAudio File **music.mp3** taken from [Fesliyan Studios Website](https://www.fesliyanstudios.com/royalty-free-music/download/8-bit-menu/287)\n  \n\n## Other\n  This Project was created under course \"**CS50's Introduction to Computer Science**\" presented by **HarvardX - CS50** via platform **edX**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fas567652%2Fpong-game","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fas567652%2Fpong-game","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fas567652%2Fpong-game/lists"}