Ανάπτυξη Android παιχνιδιού πραγματικού χρόνου με την χρήση Firebase και της ασαφούς λογικής
Real-time Android game development using Firebase and fuzzy logic
View/ Open
Keywords
Real-time ; Android game development ; Firebase ; Fuzzy logic ; AES ; ChatAbstract
This diploma thesis was conducted as a component of the Postgraduate Program called
"Advanced Information Systems - Software Development and Artificial Intelligence." The
objective of this thesis was to utilize Firebase for the development of an Android application,
specifically a word game. The game enables real-time interaction among users, where two
players compete against each other by creating words. Each player receives a predetermined
set of identical letters and must utilize them to form as many words as possible within a timed
round. The game consists of three rounds, and the player who wins the majority of rounds is
declared the overall winner. To access the application, users are required to log in using their
personal accounts, such as Facebook or Google. Furthermore, the application provides users
with various additional features. Users have the capability to add other users to their list of
friends, allowing them to establish connections and interact with them. This includes the ability
to engage in chat conversations with both friends and random opponents they encounter.
Additionally, users can send invitations and challenges to their friends for a player versus
player match, enhancing the competitive aspect of the game. Moreover, the application offers
the option to play with a random opponent who is not on the user's friends list. To ensure
uninterrupted gameplay even when there are no logged in and available users as random
opponents, an AI mechanism, commonly referred to as a "bot," has been incorporated. The bot
is designed to adapt to the user's skill level, creating the impression that the user is competing
against a real opponent. It is important to note that when there are logged in users who are
available as random opponents, the bot's mechanism is not utilized. The implementation of the
aforementioned mechanism incorporates a prefix tree (Trie) data structure and fuzzy logic. This
combination enables the bot to make decisions regarding when to participate in a game and
how many words to generate. Furthermore, the application introduces a Level System to
evaluate and reward the user's progress. The user's level is determined based on the number of
games played and their outcomes, including wins, losses, and draws. Additionally, the
application offers various other forms of rewards. Users can earn achievements based on their
in-game accomplishments. The home screen of the application displays a table featuring the
top players, subtly motivating users to strive for improvement and aspire to see their own name
among the best players. Moreover, the app provides daily gifts as rewards, such as free tickets
for inviting friends to play, in-game assistance, experience points to level up, and more. Lastly,
as previously discussed, the application incorporates a chat feature to facilitate communication
and message exchange among players. To ensure enhanced security for both users and their
Τσελεπατιώτης Μιχαήλ Μεταπτυχιακή Διατριβή
Ανάπτυξη Android παιχνιδιού πραγματικού χρόνου με την χρήση Firebase και της Ασαφούς Λογικής 12
personal data, including private information and sensitive data, an end-to-end encryption
mechanism has been implemented. This mechanism allows only the intended users involved in
the communication to read the messages. Consequently, both the messages themselves and the
associated management information are stored and retrieved in an encrypted format, with each
client responsible for decoding them. While the widely used RSA algorithm (asymmetric key)
is commonly employed for encrypting chat applications, this thesis has implemented the AES
algorithm (Symmetric Key) for this purpose.