David Pirraglia Resume

Pack Pack Monsters

Java XML SQLite three.js Android Gradle Game

About:

Pack Pack Monsters is an Android game intended to be a basic clone of Pokemon that I was in charge of creating with a group of students at St. Joseph's College.

How it works:

When a match first begins, you and the Enemy AI will be given 3 monsters at random. To win, you must defeat all three of the enemy's monsters. The enemy's monsters are capable of using their ultimate ability multiple times while you are limited to using it once per monster; however, you are also allowed to use 1 of the 3 different power items during the match to assist you.

My Role:

After my exceptional performance for the Flashcards project, I was chosen by the Professor to be a team leader for this assignment. Being in charge of a group of people was definitely a new experience for me; which I was initially apprehensive about. My responsibilities included coming up with solutions to problems that came up during the development of the project, leading the team of course, and meeting up with other members of the group to help them out when needed. Unfortunately, we didn't get as much time to work on this app as I would have liked, but the game does function well.

During the development of this project, I made use of an agile development technique known as Pair Programming when meeting up with students. I did make a modification to this technique however... Instead of sharing only one computer, I figured it'd be more productive if I used remote access software, such as TeamViewer, to connect to the driver's machine; even if we were right next to each other. This made it much easier for me to see what the driver was coding, and also was easier for me to make modifications to the code when necessary.

Challenges:

One interesting challenge making this project, was determining how the Enemy AI would operate. As the technical architect, I decided that the best solution would be to create an AsyncTask for the enemy to make its move. AsyncTasks (which at the time, were not deprecated) are best suited to tasks that take a few seconds at most, and since the enemy only takes a little over 2 seconds to make a move, I determined it would be the best tool for the job.

Additional Information:

Details regarding the different monsters can be found in the PackDex. Clicking on a monster's name in the PackDex will show more details about that monster. Details regarding the different power items can be viewed by pressing the 'Items' button on the main menu, while details regarding which elemental types are stronger/weaker against each other are seen by pressing the 'Help' button on the main menu. Win/Lose statistics can be viewed by pressing the hamburger menu icon on the main menu.

Usage of three.js:

I used a WebView for the background of the main menu. I wanted to do something unique before presenting the project. I found an example three.js project, linked here, and made some modifications to it. Below is a preview of what the main menu background looks like for your convenience. Clicking and dragging the mouse allows the background to be moved.

Usage of SQLite:

The information for all the monsters is read in from an SQLite file (AllMonsters.db).

Particle Effects Idea:

If there was a little bit more time to work on this project, I would of liked to have had particle effects trigger during each attack. I'd planned on using this library to do so:

https://github.com/plattysoft/Leonids

Credits:

Icon Credit:

Icon was created by Ryan Cleary.