0% found this document useful (0 votes)
30 views

RetroGameX Report

Uploaded by

Atharva Nair
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

RetroGameX Report

Uploaded by

Atharva Nair
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Department of Information Technology

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

Academic Year: 2024-2025


CERTIFICATE
This Mini Project –1A for Frontend /backend Application using JAVA (ITM 301)
{RetroGameX} by {Sahil Ojha(14),Atharva Nair(12), Oom Murkar(10)} is complete in all
respects and was successfully demonstrated on 8-11-24.

Ms Vijayalakshmi Balaraju
(Mini Project Guide)

Dr. Prachi Raut


(HOD-INFT)

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.

1. SAHIL RAMAKANT OJHA - 14

2. ATHARVA SHASHI NAIR - 12

3. OOM KEDAR MURKAR - 10

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

1.2 Need and Scope of the project 9

1.3 Objectives and Problem Statement 9

2 Literature Review 10

3 Proposed Work

3.1 Architectural Details 11-12

4 Implementation

4.1 Frontend Details 13

4.2 Backend Details 13

4.3 Code 14-22

5 Result and Discussions

5.1 Screenshots of GUI with Explanation 23-28

6 Conclusion and Future Scope 29

References 30

Acknowledgement 31

5
List of Figures
Fig. No. Figure Name Page No.

3.1 Block Diagram of the overlay of RetroGameX App 11

3.2 Block Diagram of Leaderboard. 12

5.1 Login Interface 23

5.2 SignUp Interface 24

5.3 Home Page Interface 24

5.4 LeaderBoard Interface 25

5.5 Instructions Interface 25

5.6 Pacman Game Interface 26

5.7 Flappy Bird Interface 26

5.8 Snake Interface 27

5.9 Database Table for Player Registration and Login 27

5.10 Database Table for Pacman Score Storage. 28

5.11 Database Table for Flappy Bird Score Storage. 28

5.12 Database Table for Snake Game Score Storage. 28

6
List of Tables

Table. Table Name Page No.


No.
2.1 Summary Table of Litrature Review 10

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.

➔ Below is a brief background of the three games featured in


RetroGameX:
1. Pac-Man:

● 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)

1.2 Need and Scope of the project


8
Need: In today’s modern world the the demand for the simple games is decreasing day
by day and by playing the modern games the younger generation are becoming for
addicted towards the modern games and the craze towards the old classic arcade games is
decreasing. So there should be games like that are less addictive and at the same time
there should be fun in playing those games.

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.

1.2Objectives and Problem Statement


➔ Objectives:
➔ The main objective of RetroGameX is to recreate the nostalgic experience of the
Old arcade games and improve the hand eye coordination of the youngsters.

➔ 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.

2.1. Summary Table of Literature Review


Game Key Contributions Significance
Pac-Man Use of AI for ghosts’ Studied in game design for
behavior, dynamic and player psychology and AI-
engaging gameplay driven engagement
Snake Minimalist design, suited to Demonstrates simplicity and
handheld formats, influentialquick play sessions that
in mobile gaming drive mobile gaming success
Tetris Iconic puzzle design,Simple rules, endless
adaptive difficulty replayability, foundational
in puzzle game design
Space Invaders Pioneering game design Inspired early shooter genre
with progressive difficulty and introduced increasing
and shooter mechanics challenge over time
Frogger Engaging timing and spatial Taught spatial awareness
skills with varied obstacles and timing, influencing
many arcade and platformer
designs

Chapter 3
10
Proposed Work

3.1 Architectural Details

Fig 3.1 -Block Diagram of RetroGameX App

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.

4.2 Backend Details


The backend of is developed using Java, providing a solid framework for managing the
application's core functionalities.Our Backend Development Setup is done with XAMPP,
MySQL, and phpMyAdmin. XAMPP is a free tool that provides everything we need that is
an Apache to serve our website, MySQL to manage our database, and PHP to write server
side code. We also used phpMyAdmin, that allowed us to easily manage our MySQL
databases through a user-friendly interface. This setup enables us to build and maintain our
desktop applications efficiently, making our development process smoother and more
effective as a team.

13
4.3 Code:

Database Connectivity For Login Page

 This code snippet establishes a connection to a MySQL database, verifies a user's


login credentials, and redirects the user to the Home page.
 It prepares and executes a SQL query to check if the provided credentials match a
record in the "signup" table, displaying a success message and loading the home page
if credentials are correct.
 If credentials are incorrect, an error dialog is shown, and input fields are reset.

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

Code for control pacman

19
Code for generating movement of the ghosts

20
Code for generating the pipes/walls

Code for controlling the character

21
Code for controlling the snake movement

Code for ending the game upon collision

22
Chapter 5
Results and Discussions
5.1 Screenshots of GUI (Frontend/Backend) with Explanation

Fig 5.1 – Login Interface

 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.

Fig 5.3 – Home Interface

 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.

Fig 5.5 – Instruction Interface

 This page shows instruction about the game.


 Similar pages are also designed for all 3 games.

25
Fig 5.6 – Pacman Game Interface

 This is the pacman game interface.

Fig 5.7 – Flappy Bird Game Interface

 This is the flappy bird game interface.

26
Fig 5.8 – Snake Game Interface

 This is the Snake game interface.

Fig 5.9 – Database Table for Player Registration and Login

27
Fig 5.10 – Database Table for Pacman Score Storage

Fig 5.11 – Database Table for Flappy Bird Score Storage

Fig 5.12 – Database Table for Snake Game 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.

6.2 Future Work:


1. Expanded Game Library: Incorporate more classic arcade games from the same era
(e.g., Tetris, Space Invaders), growing RetroGameX into a larger hub for retro
gaming.
2. Customizable Themes & Skins: Add options to customize the appearance of
characters, game backgrounds, and controls, allowing users to personalize their
gaming experience.
3. Online Tournaments: Host regular tournaments with leaderboards and rewards to
engage the community and drive competition.
4. Achievements and Rewards System: Implement an achievement system with
unlockable rewards to enhance user engagement and replay value.

By continually evolving the platform, RetroGameX has the potential to become a


comprehensive retro gaming destination, drawing in both new players and veteran gamers
who enjoy revisiting classic titles.

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

You might also like