You are on page 1of 7

Project Title - AWESOME DEMO GAME PROJECT

Name - YASH PUNIA


GSoC Display Name - Yash Punia
Email ID - puniayash@gmail.com

SHORT DESCRIPTION:
My name is Yash Punia and for the Google Summer of Code 2020, I wish to contribute to
your organisation by making an awesome game called “Batroid” based on the popular video
game Metroid (from Nintendo) on the app ‘Pocket Code’.

GSOC PROPOSAL DATA:


I live in India and my age is 19. I am currently pursuing my Bachelor in Computer Science
Engineering from National Institute of Technology, Hamirpur (Himachal Pradesh). I have
loved gaming from an early age and making video games became my dream. I have
developed many games on platforms like Adobe Flash and Unity3D. I also develop XR
applications (i.e. Augmented Reality and Virtual Reality). I also play piano as a hobby, so I
really enjoy composing and producing music.

INTEREST:
The Awesome Demo Game Project sparked my interest for creating games in ‘Pocket
Code’. I have been using the Pocket Code app since 2017, as I participated in Google
Code-In and completed various tasks. I participated in GSoC 2019 and also made games on
it (a diner dash clone and a bow and arrow shooting game). For the GSoC 2020, I decided to
make a clone of one of my favorite games, Metroid which is a 2D side-scrolling
action/adventure game.
The detailed idea is as follows -
The game is called Batroid. Inspired by the logo of Catrobat, I created the main character
named ‘Batrix’. Just like in the game Metroid, the main protagonist has to explore the
surroundings, find various unique power ups, defeat enemies and bosses to complete the
game. The game has a deep backstory also, which will be unfolded to players via cutscenes,
the draft of the backstory can be read here. The power ups are unique and rewarding for the
players, as the player has to explore the area, find power ups (like double jump or wing
gliding) to explore further in the game. There are 4 different sectors in the game, and it also
includes backtracking just like original Metroid games. By using “write data on device”
features through pocket code, save points will be there in each sector so that the player can
save his/her game.
I have made a small gameplay video of the game I've made till now. As said above there are
4 sectors, so I've completed the first sector. The gameplay video can be watched here.

SCRATCH:
I have used Scratch in the past during my school days so I am familiar with the visual
programming language using bricks. However, for GSoC 2020, I am focused solely on
working on projects of Pocket Code

POCKET CODE:
I have developed various projects/apps on Pocket Code (including the projects from GSoC
2019):
● Batroid - The game idea proposal for this GSoC. This game is an action/adventure
2D side scroller and platformer game with deep exploration and many power ups to
find. I’ve completed one sector for the game and there will be total 4 sectors which
will be developed during the summer
● Seafood Rush - A diner dash inspired game in which the player has to serve many
fishes in the most time-efficient way possible.
● Lost in Space - A maze solving game, where the player has to solve the given maze
and reach back Earth using various sensors of the mobile phone providing a very
unique and intuitive gameplay. Currently it has only one level, but more levels can be
added soon.
● Balloon Shooter - This is the game which explains how a simple compass sensor can
be used as a Gyroscope sensor(an illusion!). The player has a bow and has to timely
shoot the balloons coming up until time runs out. The left side of the screen is used
to aim the crosshair.

MOTIVATION:
Game development has always been my goal since childhood. This is because I always find
myself creating game stories and ideas and I think that it is this passion for games that I
found the Awesome Demo Game Project so interesting. Since I am a graphic designer and I
also have a base for music production, I can easily mould my game ideas to reality. And
‘Pocket Code’ has really helped me in creating game levels and ideas efficiently.

CONTRIBUTION:
I have studied the basic code base of the Pocket Code app through the git repository.
However, I am not contributing to the code at any moment, since I am keen towards game
development using the Pocket Code.

MOBILE HARDWARE (if you want to work on app related themes):


I am using a mobile phone device for the development of the game. To be precise, I use
Huawei Honor V20 mobile phone as the development becomes much easier and handy.

TEST DRIVEN DEVELOPMENT:


Test Driven Development is a software development process which ensures the most bug
free and clean code for the program with guaranteed results (according to the most studies
and papers). It instructs developers to create programs according to certain rules and
formats. It is very different from the other development process in one major way that it
requires the developer to create the test before writing the actual code. It acts like a
prerequisite for the code to be written.
First, a minimum amount of tests is added which will ensure the failure of the feature/code to
be written. Then, the code is run and when the test fails, the code is altered in the most
minimal way possible, only code enough to pass the test and no more functionality is added.
Then the tests are run again and when it passes all of them, code is refactored. This whole
process is repeated during the entire development period.

The above image I found on Google Images really explains the essence of Test Driven
Development.
For the Awesome Demo Game Project, I incorporate the test driven development in a
different manner. I first try the features of games like shooting mechanism, touch controls,
jumping mechanics, etc. on a sample project and then merge it in the main project. This
gives me complete control over each specific module.

USABILITY:
We can make all sorts of programs with all the high-tech gimmick and what not, but it will all
be in vain if the end-user is not satisfied with it. These problems are solved by the
User-Centered Design process of development of softwares and programs. It is the process
of designing a tool, such as a website’s or application’s interface from the perspective of how
the user will interact with it. Developing through User-Centered Design ensures the most
efficient and satisfying experience for the user. Usability, on the other hand, is the measure
of how interactive and satisfied a user feels by using a program. It is measured by inviting
many users to a Usability testing session where they have to perform a specific task without
any external help. The researcher analyzes how the users react to the interface of program
and this is how usability is measured.

For the Awesome Demo Game Project, the satisfaction of the player is utmost. The game
should be not too challenging and not too easy also. There must be a fine line which hooks
the player which is met by rewarding the players through power ups, fun boss battles, new
areas, etc. which according to me, is fulfilled by the metroid style gameplay of Batroid.

EXPERTISE:
I have been making video games in Unity3D for almost a year, and I made games on Adobe
Flash before that.
I am a skilled individual with knowledge in graphics and music theory, so I have all the
necessary things to develop a high quality game on ‘Pocket Code’. I design and create my
assets by myself, be it characters, sprites, tilesets, objects and even backgrounds. Since I
play music, I can easily compose music for my games as well, as I have done for my other
games like Seafood Rush, Lost in Space, and Batroid
Apart from that I think by using all the features of Pocket Code, I can really exploit it to the
fullest and bring the best out of it. For example, I used the compass sensor as a Gyrosensor
in the game Shoot The Balloon and also used all kinds of bricks to enhance the overall
gameplay of Batroid.

HUMAN LANGUAGE SKILLS:


I am well versed in English and my native language is Hindi. I can understand, write and
speak both the languages fluently.

GRAPHIC DESIGN SKILLS:


On a scale of 1 to 10, I think I would rate myself 8 as I can design all sorts of objects. By no
means, I am a professional graphic designer, but I am a decent game artist as I create all the
sprites, tilesets for my games. Since, I am fluent in the game art, the sprites can be checked
in the game that I have provided below, or can be checked here. The sprites that I have
provided include artwork from my current games and some games I made on Unity3D.
CODE SAMPLES:
My git profile is - https://github.com/Yash-Punia
I . Uploading the project was problematic, so I have saved the project file externally in
Google Drive.
The main game that I am working on is Batroid, the project file is linked here.
Some other game projects that I worked on previously are given below -
● Seafood Rush
● Lost in Space
● Shoot the Balloon

TOOL CHAIN:
For the demo game project, I’ll be mostly working on the Pocket Code app itself. Apart from
that, I will also be using various utility softwares like Aseprite, Photoshop, FL Studio to create
my own game assets like sprites, tilesets, enemy sprites, music, sound effects, etc.

REMOTE COOPERATION:
The game ideas can be discussed via skype face to face video calling. Whereas the
graphical assets and music can be sent directly using Google Drive. Regular upload of the
game will be done to see how the overall development is coming. Also, using Chrome
Remote Desktop tool, we can easily modify/review the code in realtime on our mobile phone
itself.

ROUGH TIME SCHEDULE:


I am devising a rough schedule which will be in accordance with the GSoC 2020 timeline for
easy management of work.

Time Phase Milestones to cover

May 4 - May 14 ● Community Bonding period and mainly introduce


myself to the mentors of the organization. Getting to
know each other and sharing various ideas.
● Discussing the core game idea, and some concept art
as to how the overall game will look like
● Pseudo code of basic functionalities and features

May 17 - May 31 ● Finalizing basic game structure by discussing with


mentors and other fellow students.
● Game structure includes backstory, game music,
power ups etc.
● Polishing concept art of various key characters and
enemies.
● Making test modules for verifying gameplay

June 1 - June 10 ● Complete game art, game sprites, backgrounds and


other images will be done. Review will be done timely
● Basic testing of the game arts in the game will also
take place
June 11 - June 28 ● Creating the 4 sectors of the game with final level
design and puzzles. Game features like power ups,
weapons, enemy additions will be added on later, only
the player movement will be finalized
● Maintaining proper level transitions between all the
scenes.

June 29 - July 3 FIRST EVALUATION TAKES PLACE

July 4 - July 14 ● Making all the project modules of every game feature,
that is, power ups, enemy interactions, health etc.

July 14 - July 26 ● Merging the features in the main game.


● This makes debugging easier and features modular.
● Merging includes placing enemies properly and
keeping power ups in their correct location

July 27 - July 31 SECOND EVALUATION TAKES PLACE

August 1 - August 12 ● Adding Bosses to the game and creating boss


interaction with the player
● Creating most the music of the game and other sound
effects to bring the game to life

August 13 - August 23 ● Adding cutscenes to the game, and remaining sound


effects to the game
● Polishing the game and finalizing the project

August 31 - September 7 FINAL EVALUATION TAKES PLACE

INTEGRATION:
The game project file will be regularly updated onto a git repository. Since most development
will take place on my mobile phone, I will be dividing my features and sectors into different
project files so that merging can be done easily in the final game.
For example, I have created Batroid upto Sector B, So I will create a different project file for
Sector R, Sector G and Sector F so that the code remains modular.

For adding any new power up or feature, it will be tested in a completely different
environment or a completely different project before adding in the main game.

All the project files will be version controlled using a GitHub repository.

PHOTO: Please provide a portrait photo of yourself. In exchange, we show photos of some
of our GSOC mentors here as well:
Wolfgang Matthias

Bernadette Michael

Your Picture

COMMENTS: It is really fun to channel my game designing ideas through Pocket Code and
making a full fledged game. I am a hardworking individual and would be extremely pleased
to work with Catrobat in this Google Summer of Code 2020.
Thank You

You might also like