RetroGameX Report
RetroGameX Report
MINI-PROJECT REPORT
Frontend/backend Application using JAVA
(Mini Project 1A)
(ITM 301)
RetroGameX
S. E. Information Technology
By
Sahil Ojha 14
Atharva Nair 12
Oom Murkar 10
Guide
Ms Vijayalakshmi Balaraju
Assistant Professor
Ms Vijayalakshmi Balaraju
(Mini Project Guide)
Examiners
1.---------------------------------------------
2.---------------------------------------------
Date:
Place:
2
DECLARATION
We declare that this written submission represents our ideas in our own words and where
others' ideas or words have been included, we have adequately cited and referenced the
original sources.
We also declare that we have adhered to all principles of academic honesty and integrity and
have not misrepresented or fabricated or falsified any idea/data/fact/source in this submission.
We understand that any violation of the above will be cause for disciplinary action by the
Institute and can also evoke penal action from the sources which have thus not been properly
cited or from whom proper permission has not been taken when needed.
Date:
3
ABSTRACT
The RetroGameX project is a desktop application. It is basically a game application. It is
designed with a user-friendly Frontend using java Swing which ensures easy navigation. The
project aims to recreate the nostalgic experience of arcade games. It consists of three games
“Pacman”, “Flappy Bird” and “Snake Game”. These arcade games are absolutely free and
there’s no involvement of money. These Games are less addictive as compared to the modern
games. The advantages of playing these games are hand-eye coordination will improve,
thinking ability will increase, as a freshen up tool. The project showcases object-oriented
programming principles, event handling, and UI development in Java, providing an
interactive platform that demonstrates Java’s versatility in game development. We have built
our project using Java with the swing and awt package. The frontend and the backend both
are made up of Java and My SQL for the database.
4
Index
Chapter Contents Page
No. No.
1 Introduction
1.1 Background 8
2 Literature Review 10
3 Proposed Work
4 Implementation
References 30
Acknowledgement 31
5
List of Figures
Fig. No. Figure Name Page No.
6
List of Tables
7
Chapter 1
Introduction
1.1 Background
➔ RetroGameX is a collection of classic, simple arcade games that have remained popular
for decades due to their straightforward gameplay. It includes timeless titles like Pac-
Man, Snake, and Flappy Bird, each representing different eras of gaming but all sharing a
retro, pixel-art aesthetic and easy-to-learn mechanics.
Modern games are often addictive and can mislead the younger generation in a wrong way
so there should be games which should be non-addictive.
● Released: 1980
● Developer: Namco (designed by Toru Iwatani)
● Genre: Maze chase
2. Snake:
● Released: Initially introduced in arcade and early computer systems in the 1970s;
gained widespread popularity in the 1990s with Nokia mobile phones.
● Developer: Versions of Snake were created by various developers; the most famous
one was programmed by Taneli Armanto for Nokia phones in 1997.
● Genre: Action (Endless)
3. Flappy Bird:
● Released: 2013
● Developer: Dong Nguyen
● Genre: Endless runner (side-scrolling)
Scope: The project has significant potential to attract a wide audience, from casual
gamers to retro game enthusiasts. It can be expanded across multiple platforms (mobile,
web, desktop), ensuring cross-device compatibility. Additionally, Retrogamex can
integrate features like leaderboards, multilevels , and updated visuals or gameplay
mechanics while retaining the essence of the original games. The scope includes
marketing towards nostalgia-driven audiences, enhancing user engagement through
achievements, and possibly developing modern iterations or variants of the classics.
➔ Problem Statement:
A desktop application that brings together classic games like Pac-Man, Flappy Bird,
and Snake, all in one convenient platform for nostalgic gaming fun.
Chapter 2
9
Literature Review
Literature Review:
The development of retro-style games has been extensively studied for their ability to evoke
nostalgia and create simple, yet addictive experiences. Games like Pac-Man, Snake, and
Flappy Bird have been analyzed for their enduring appeal due to their straightforward
mechanics and challenging, high-score-based gameplay. Research highlights that these games
offer a sense of mastery and satisfaction by providing progressively difficult challenges,
making them ideal for casual gaming.
Chapter 3
10
Proposed Work
11
Fig 3.2 -Block Diagram of Leader-Board
12
Chapter 4
Implementation
4.1 Frontend Details
1. User Interface (UI):
○ Simple, minimal design for easy navigation and retro aesthetics.
○ Key screens:
■ Game Selection: Allows players to choose between Pac-Man, Snake,
or Flappy Bird.
■ Game Screen: Displays the game in progress with in-game controls
(e.g., swipe, tap, or keyboard inputs).
2. Technologies:
○ We used java language with awt and swing to create the app and game
interface .We also used IDE’S like Netbeans, Intellij for writing the code and
debugging it.
3. User Input:
○ Supports keyboard inputs for controlling the characters.
13
4.3 Code:
14
Database Connectivity For SignUp Page
This code creates a new user account by connecting to a MySQL database and
inserting data into the "signup" table after validating email, username, and password
inputs.
It checks that the email ends with "@gmail.com," the username has at least 4
characters, and the password is at least 6 characters long with one special character.
Upon successful validation and insertion, a success message is shown; otherwise, an
error dialog is displayed.
15
16
Database Connectivity For LeaderBoard
This code retrieves player scores from a MySQL database table "game1" and displays
the top 5 scores in a table, sorted in descending order.
It initializes column headers, sorts the data by score, and adds serial numbers to the
top 5 entries.
Additionally, it formats the table by aligning columns and headers to the center and
adjusting column widths for a polished display.
This line of code is almost the same for all 3 games with the exception of table names
present in the database.
17
Code for generating Levels for Pacman
This code defines two arrays, levelData1 and levelData2, which represent different
level layouts in a game.
Each array holds numeric values corresponding to specific tiles or elements, like
paths, obstacles, or boundaries, which can be used to render distinct levels.
Here,
0 = blue walls, 16 = white dots, 1 = left border, 2 = top border, 4 = right border and
8 = bottom border.
The combination of these values are used to generate the map.
The levels vary in layout, allowing for different game experiences as players progress.
18
Code for continuing to next levels
19
Code for generating movement of the ghosts
20
Code for generating the pipes/walls
21
Code for controlling the snake movement
22
Chapter 5
Results and Discussions
5.1 Screenshots of GUI (Frontend/Backend) with Explanation
This is the user interface for the Login page for our app RetroGameX.
It was designed using java swing and awt and uses MySQL database to take the data
from user and check whether it is present in the signup table in the database.
23
Fig 5.2 – SignUp Interface
This is the user interface for SignUp page in our RetroGameX app.
It takes the data from the user and checks if the condition is met and if yes then stores
the data into the database table “signup” which can be used later to login.
This is our Home Page which can be used to access the games and leaderboard.
24
Fig 5.4 – LeaderBoard Interface
This page is used to display the leaderboard which contains the information about the
top 5 scores of that game.
Similar pages are designed for all 3 games.
25
Fig 5.6 – Pacman Game Interface
26
Fig 5.8 – Snake Game Interface
27
Fig 5.10 – Database Table for Pacman Score Storage
28
Chapter 6
Conclusion and Future Scope
6.1 Conclusion
The RetroGameX project successfully brings together iconic retro games like Pac-Man,
Snake, and Flappy Bird, creating a unified platform for nostalgic and casual gamers alike.
By offering these timeless games with a user-friendly interface and cross-platform
compatibility, Retrogamex delivers engaging, fast-paced entertainment that appeals to a wide
audience. The focus on simplicity, coupled with the games’ inherent challenge, makes
Retrogamex a compelling choice for both short gaming sessions and competitive high-score
chases.
References
1. https://www.javatpoint.com/java-tutorial - used to study java and java swing.
2. Java- A Beginner’s Guide By Herbert Schildt. – used to gain information about java
and swing.
3. GitHub – used to gather knowledge about the game’s code.
29
Acknowledgment
We are thankful to our college St. Francis Institute of Technology for giving us this chance
to gain exposure in solving real world problems and acquire practical knowledge and skill
sets that will prove to be very crucial to our long-term career prospects. We would take this
opportunity to express our sincerest gratitude to our esteemed director Bro. Shantilal Kujur,
our Principal Dr. Sincy George and our HOD, Dr. Prachi Raut for their encouragement, the
direction that they give to our college and us students, and the facilities provided to us.
This project, and the research that we undertook, could not have been realized without the
utmost support of our Project Guide Ms Vijayalakshmi Balaraju, who guided us every step
of the way, starting from the conception of the project, right up to the execution of the
finished solution.
30