DEV Community

Cover image for The Aviator🎮  -  Test your coding and logic skills with a web game
Paolo Longo
Paolo Longo

Posted on • Updated on

The Aviator🎮  -  Test your coding and logic skills with a web game

I've always liked challenges and problem-solving. This is the reason that made me embark on a journey into the world of programming.

It started when I was 15, in the high school computer science course, where I wrote my first "Hello World". Looking back, I can see the most significant stages passed so far, in which I have improved, matured, and in which I can identify a before and after.

Now I study computer engineering at university, and I feel I have reached another important stage of this journey. Stage that I want to represent with a project, to test myself and the skills I have gained.

And so was born The Aviator, a coding game for folks like me who like to test themselves.

4 worlds compose the game. The Aviator, the protagonist of this journey, will have to be instructed through code, to overcome the levels of each world.

As with any journey, the difficulty grows over time. Starting from the first simple challenges, the game ends with a last "impossible" level, which represents that stage to reach to mark the beginning of a new part of the journey.

Do you think you can reach it? Well, if you like challenges, what are you waiting for? Test yourself and challenge friends and colleagues 😎

The game is also available on Github.

GitHub logo Paol-imi / the-aviator

🎮 Welcome to the Aviator game!


As a computer engineering student and creator of this project, I would recommend tools like this as educational support👨‍🎓 in schools and universities. With targeted design choices and an advanced code debugging system (with time travel), The Game tries to provide the best developer experience and guide the student's reasoning in each challenge.

Special thanks

The inspiration for the protagonist of the game came to me thanks to this fantastic project, from which I took the name and the sprite of the Aviator.

Discussion (8)

Collapse
kyleuk profile image
Kyle-uk

Absolutely loved this!

FyI for anyone with issues on android. Using this on my andorid mobile device with chrome, I cannot see the bottom of the screen, so I cant save code, see the number of moves etc.
However it worked fine with the Samsung Internet app.

My only suggestion to improve this amazing app would be changing the compiling of the code symbol, it was not obvious to me and I had to re-watch the tutorial to spot it. The warning showed a bright blue symbol with 2 arrows which isnt there, and its actually the (yellow, gold) box under the play button (although it does have 2 arrows on it).

Collapse
paolimi profile image
Paolo Longo Author

Yes, you are right.

I used emojis as buttons to try to have a uniform style of game graphics. Unfortunately every System (windows, macOS, android ...) has different emojis :(

For now, at least, the buttons have tooltips that explain their function. In the future, I will improve the design of the dashboard.

Collapse
tareq12345 profile image
tareq12345

This is absolutely amazing I like practicing my problem solving skills while having fun but at the same time something challenging and nit easy it there was some feedback what mistake i did that would be amazing.

Collapse
lethalluggage profile image
LethalLuggage

I assume that the "impossible level" is actually just difficult and not impossible? It took me about 40-60 minutes but I solved it in < 1000 moves.

Collapse
paolimi profile image
Paolo Longo Author

Yes, the last level is solvable and I hope that solving it has made you have fun.

I would like to point out, however, that the game is not yet matured to the point of distinguishing "right" and "wrong" solutions.

Each level is divided into several stages, all with the same pattern to solve. For now, however, it is possible to avoid solving the pattern, recognize the individual stages of the level and solve them mechanically.

if ("stage1") doStage1 ()
if ("stage2") do Stage2 ()
...

In the future, with a few simple changes, I will implement a system to report/avoid them, but for now, they are allowed.

If your solution is "right", congratulations. It took me a little more time to find a satisfactory one :)

If you want you can download my solution here (the "load solution" button must be pressed more than once)

Collapse
miketalbot profile image
Mike Talbot

Another brilliant piece of work Paolo.

Collapse
jabo profile image
Jabo

This is well made and will definitely give this one a try. Some of the icons doesn't clearly describe its function

Collapse
paololo22655298 profile image
Luca Ravenna

This game is absolutely amazing!