Welcome to the making of my side project : “Pepe : Lost in Space”. I’ll try my best to explain how and why this project was awesome to build and why I want to improve and focus even more my javascript / Jquery skills.

Design

Pepe : Lost In Space is an old-school shoot'em'up built from scratch. With basic gameplay and textures it aims to emulate the fun of old arcade games ! My main goal while I was doing the website’s design was to integrate as much element from the game as possible since it introduce the game itself.

After many prototyping and design test on photoshop I decided to use a design close to the game’s one. A more sober design couldn’t fit. It may be a risk when all the modern designs are refined but in my case it was a risk worth taking since it’s all about nostalgia.

To be honest, almost every textures and games mechanics comes from my “imagination”. Of course we build our own universe from things we’ve seen before but it cames all from memories of old arcade retro games. All, except the leaderboard, I wanted it to looks like the one you could find on old arcade game !

one example of the many iteration i've tried : this one shows the bonuses image and description one example of the many iteration i've tried : this one shows 3 blue box containing the bonuses image and description one example of the many iteration i've tried : this one shows 3 box with space background containing the bonuses image and description

Technologies

With the help of several tutorial, I was able to learn and make my own game. I’ve learned principe such as velocity, hitbox, using sprites, moving image in realtime and much more, object-oriented programming, ...

The game itself uses the HTML5’s element canvas. I’ve learned to use it through the MDN tutorial : it’s pretty basic but it’s really helpful ! It also works with javascript / JQuery while the user interface is a mix of HTML / CSS.

There is a leaderboard, which means it was my duty to ensure the score sent by the player was legit. So I’ve started to search online for the best possible way to introduce to the game a working anti-cheat solution. Then I found a script by zswang on github which allow the browser to detect if the console is opened. Sadly after some test it appears that this solution was working for Chrome only. After some research I’ve made my own solution for the other browsers. It’s clearly not the best but it’s working fine without any more slow down in game !

Speaking of leaderboard, to update and send the score I had to use a database (SQL) and some script (PHP) to update and retrieve the informations as well. It was clear for me, since we used PHP and SQL in our Data Play project, that it was something I wanted to learn and work with in my future projects.

display the code of my project

Regret

Originally, I was planning to release the game on all the platform possible. Sadly, after testing the game on my chromebook it appears clearly that it was so poorly optimized that there were no possibility for me to release it on phones and tablet due to poor performance on weaker device.