GSoC 2020 - Catrobat Proposal
GSoC 2020 - Catrobat Proposal
GSoC 2020 - Catrobat Proposal
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’.
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.
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.
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.
July 4 - July 14 ● Making all the project modules of every game feature,
that is, power ups, enemy interactions, health etc.
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