• Projects
  • Hop! 2D : a simple yet not-all-that-easy 2D platformer with 2 control keys !

Hello everyone, my name is Asthalis (from France) and I am a new Godot user 🙂

I'm glad to show you my first game made with Godot. It's called Hop!2D and it is a 2D precision platformer game for PC.

Hop!2D 1.0 (french/english complete version)
- download Hop!2D 1.0 (Windows/Linux/macOS)
- play Hop!2D 1.0 online (itch.io, not from mobile phone)

Other links
- Screenshots
- Trailer of the game (beta 14 version)
- 1st world demo (beta 14 version)

Though classic-looking, Hop!2D is unlike many other platformers : the main character is continually jumping and you can only move him left or right ! In spite of this apparent limitation, Hop can use stairs, trampolines, air flows and portals, he can unlock laser doors, go through breakable walls and use canons to shoot enemies. Every 10 levels, he must face a boss (see below).

NB : the game may be in french the first time you start it. To switch to english, choose LANGUE button in OPTIONS menu, then press ENTER. (this setting is saved)




From the main menu, you can start a game (from scratch or from any of the worlds you have reached before), start the training mode (unlimited energy for the first levels of the game), use an access code you found in the game to get to a secret area, change langage (french or english), turn sounds and musics on or off. You can also reset the game to restart it from world 1 or delete any previously saved game. The HELP menu details how to play the game and you will get extra info about it in the ABOUT menu. Hop!2D also includes a fullscreen mode , a screenshot built-in feature and a "boss key" function.

Feel free to play Hop!2D, any feedback will be much appreciated. If you feel like it, I will add your name to the THANK YOU list of the ABOUT menu.

Thank you !!

    If you want to switch to english in the game : move right to reach the "LANGUE" button (with a french flag) in the main menu, then press Enter.

    Hop!2D beta 6 This is the current version of Hop!2D (see first message to download it).

    Try it and feel free to give me feedback !

    Hop!2D beta 7 (WIP) I am already working on it ! Technically speaking, the massive use of sprite sheets, wav to ogg sound conversion and clearance of all useless files have done well : the raw project file size has dropped by 30% ! The goal for this version is to end another game world and add extra visual details.

    Hop!2D beta 7 (WIP) A few visual improvements for this version.

    animated bonuses (scale and transparency)

    world statistics (new symbols added)

    game statistics (new symbols added)

    Hop!2D beta 6

    (first post updated)

    Hop! 2D is now playable with your web browser on itch.io !! B) Just click here to try it : https://asthalis.itch.io/hop-2d

    As always, all comments are welcome :)

    A good opportunity to brush up on my French :)

    It's fun! One little tip might be to make the camera points more ahead of the player's movements. If the character is moving fast there can be quite a far drag behind. Good luck with further development!

    @fi-le said: A good opportunity to brush up on my French :)

    It's fun! One little tip might be to make the camera points more ahead of the player's movements. If the character is moving fast there can be quite a far drag behind. Good luck with further development!

    Thanks for your kind comment ! Very interesting... Actually, I deliberately chose a "dragging camera" instead of a "look-ahead" one because, to me, Hop! 2D is more about precision and anticipation than speed. If the main character gets near the edge of the screen, it means he is way too fast to be careful ! Most of the time, Hop has no need to rush. This way, the player can move him close to a hazard, then think about the best way to go past it and finally try it.

    By the way, how far did you go ? Did you meet the first boss ? As the first world is meant to be a training course, you may want to skip it. If that is the case, just type 012345 in the CODE menu.

    Feel free to post other messages, I will be glad to answer. By the way, can I add "fi-le" name to the testers' list of the game (ABOUT menu) ? And do not hesitate to tell me if my english is uncorrect (especially in menus) !

    Thanks again !

    Of course you can add me to the tester's list :)

    I probably shouldn't correct you on your English, since I'm from Germany and not a native speaker either. Vive l’amitié européenne, I suppose!

    (Also I'm very bad at the game and didn't come very far. Haven't played a platformer in quite a while.)

    @fi-le said: Of course you can add me to the tester's list :)

    I probably shouldn't correct you on your English, since I'm from Germany and not a native speaker either. Vive l’amitié européenne, I suppose!

    (Also I'm very bad at the game and didn't come very far. Haven't played a platformer in quite a while.) OK, your name will be added in beta 7 version ! Vielen Dank fĂĽr Ihre Antwort !

    Hop! 2D beta 7 (first post updated)

    My new version is online on itch.io ! =)

    First thing you'll notice is the new welcome screen, and I added a few visual effects when Hop catches bonuses (coins and fruits). Much work has been done to reduce the size of the whole project while keeping its content, and beta 7 is finally 30% lighter than beta 6 ! I set the default langage to english for itch.io.

    The downloadable beta 7 version will be available later today on asthalis.free.fr.

    Have fun ! ;)

    New welcome screen

    Hop collecting coins

    Hop!2D beta 7 - The Windows downloadable version is available from my website asthalis.free.fr

    Feel free to try it and comment !

    You're doing a great job on this. It's challenging without being too frustrating, and it plays smoothly. It reminds me of Bumpy's Arcade Fantasty.

    @SpaceAce said: You're doing a great job on this. It's challenging without being too frustrating, and it plays smoothly. It reminds me of Bumpy's Arcade Fantasty.

    Thank you so much, glad to know you enjoyed it ! =)

    I did try to make the first levels not too difficult so that the player can handle Hop's behavior step by step. I consider the first world as a training course : the only enemy before the first boss on level 10 is time and Hop must master different kinds of jump. By the way, which level did you get to ? Did you beat the first boss ? Did you use access codes to start the game in another world ?

    Feel free to post other comments about Hop!2D, can I add your name to the list of testers ? B)

    I will have a look at the game you mentioned, do not know it yet ;)

    New levels, enemies and mechanisms coming up !

    @Asthalis said:

    @SpaceAce said: You're doing a great job on this. It's challenging without being too frustrating, and it plays smoothly. It reminds me of Bumpy's Arcade Fantasty.

    Thank you so much, glad to know you enjoyed it ! =)

    I did try to make the first levels not too difficult so that the player can handle Hop's behavior step by step. I consider the first world as a training course : the only enemy before the first boss on level 10 is time and Hop must master different kinds of jump. By the way, which level did you get to ? Did you beat the first boss ? Did you use access codes to start the game in another world ?

    Feel free to post other comments about Hop!2D, can I add your name to the list of testers ? B)

    I will have a look at the game you mentioned, do not know it yet ;)

    New levels, enemies and mechanisms coming up !

    I beat the first boss. I haven't finished the second world, yet. I keep dying on the third level with spikes in it. I do use the first code every time I start a new game.

    Two suggestions: 1) There should be a "continue" option so I don't have to go back to the home screen and enter the code every time I die. 2) You should consider a key other than ESC for bringing up the menu. ESC also causes the game to leave full-screen mode on itch.io which is very annoying.

    Sure, add me to the list. I intend to keep playing it.

    I think you will like Bumpy's Arcade Fantasy. It's a game about a character that bounces all the time, and you have to solve puzzles and use the environment to beat each level. You'll want to get DOSBox or another emulator set up, as the game is thirty years old.

    @SpaceAce said:

    I beat the first boss. I haven't finished the second world, yet. I keep dying on the third level with spikes in it. I do use the first code every time I start a new game.

    Two suggestions: 1) There should be a "continue" option so I don't have to go back to the home screen and enter the code every time I die. 2) You should consider a key other than ESC for bringing up the menu. ESC also causes the game to leave full-screen mode on itch.io which is very annoying.

    Sure, add me to the list. I intend to keep playing it.

    I think you will like Bumpy's Arcade Fantasy. It's a game about a character that bounces all the time, and you have to solve puzzles and use the environment to beat each level. You'll want to get DOSBox or another emulator set up, as the game is thirty years old.

    Thank you for your interesting and inspiring feedback :) Your name will be added in beta 8 version B)

    1/ "continue" option ? I do understand how frustrating it can be to enter a 6-digit code for each new game once you start to get comfortable with Hop. As I want to keep the code access process for harder worlds and I consider the first one as a training course, here's what I think I will do : once the "play" choice is made, the player could reach another screen where he has to choose (directly with left or right arrow key) between : - starting for scratch (e.g. level 1) and playing the intro animation - directly start in world 2 (e.g. level 11) and skipping the intro animation As I mentioned in the HELP menu, using codes to avoid starting from scratch implies less extra lives, but I do already keep the 2 extra lives when the player decides to start the game in world 2. That way, no real change in gameplay but a shorter and less tedious path to start the game from world 2 for hardened players.

    What do you think about it ? ;)

    2/ ESC key That's a harder one... Actually, when I started working on Hop!2D, I did not know itch.io. And, to me, ESC is a standard and intuitive key used to pause or quit in almost every game I know, so why change it (or what instead) ? I do get going back to window mode instead of pausing the game in itch.io can be very annoying but do you think fullscreen mode is useful on itch.io ? (I wonder if it was worth allowing it or not). If it is definitely a pain for you, why not just downloading the window version of the game and play more comfortably ? In this version, SPACEBAR key toggles fullscreen mode, so no conflict with ESC key. :)

    By the way, another function of the game is unavailable in the online version of Hop!2D : screenshot ! The downloadable version saves a screenshot at the end of each game (day and time is included in the name of the file) and the player can save other ones at any time. Maybe one more reason to get the "real" game ;)

    @Asthalis said: 1/ "continue" option ? I do understand how frustrating it can be to enter a 6-digit code for each new game once you start to get comfortable with Hop. As I want to keep the code access process for harder worlds and I consider the first one as a training course, here's what I think I will do : once the "play" choice is made, the player could reach another screen where he has to choose (directly with left or right arrow key) between : - starting for scratch (e.g. level 1) and playing the intro animation - directly start in world 2 (e.g. level 11) and skipping the intro animation As I mentioned in the HELP menu, using codes to avoid starting from scratch implies less extra lives, but I do already keep the 2 extra lives when the player decides to start the game in world 2. That way, no real change in gameplay but a shorter and less tedious path to start the game from world 2 for hardened players.

    What do you think about it ? ;)

    2/ ESC key That's a harder one... Actually, when I started working on Hop!2D, I did not know itch.io. And, to me, ESC is a standard and intuitive key used to pause or quit in almost every game I know, so why change it (or what instead) ? I do get going back to window mode instead of pausing the game in itch.io can be very annoying but do you think fullscreen mode is useful on itch.io ? (I wonder if it was worth allowing it or not). If it is definitely a pain for you, why not just downloading the window version of the game and play more comfortably ? In this version, SPACEBAR key toggles fullscreen mode, so no conflict with ESC key. :)

    By the way, another function of the game is unavailable in the online version of Hop!2D : screenshot ! The downloadable version saves a screenshot at the end of each game (day and time is included in the name of the file) and the player can save other ones at any time. Maybe one more reason to get the "real" game ;)

    By "continue" I meant when the player runs out of lives, not when you first load the game. So, play, play, play; die, die, die. "Continue" button on the game-over screen allows player to start over at beginning of current world.

    I'm not sure what you mean by "extra lives." I thought I always started with three lives. Edit: Unless you mean earning extra lives while you play. Edit II: Hm, seems like I only start with two lives when I put in the code to go world three.

    Full-screen is useful. It's the only way I play the game. You are right that ESC is intuitive and the standard, but if it conflicts with a key on its host platform, it's not very useful. "P" for pause, or space bar like you said you use in the downloadable version, or F10, or something along those lines.

    I play online because it's convenient. The game is there and ready to go when I want it. Also, I use Linux, and it looks like the downloadable version is for Windows. Even if there were a Linux build, I would probably play it online, instead.

    Edit: I just beat world two. I don't think that's a very good difficulty curve. I beat world one on my first try, no problem, but it took me like forty tries to beat world two. That's too big a leap.

    Other thoughts:

    It's not obvious that those flying creatures which show up on level seventeen are enemies. You paint them a dull color that matches the background, and they fly behind everything else. That makes them look like background scenery. I didn't know they could hurt me until I touched one.

    I'm not a fan of the blind leap on level twenty-four. It's not obvious that you have to go straight down the middle, especially when you have vines hanging down that seem to be directing the player to follow them.

    @SpaceAce said:

    By "continue" I meant when the player runs out of lives, not when you first load the game. So, play, play, play; die, die, die. "Continue" button on the game-over screen allows player to start over at beginning of current world.

    I'm not sure what you mean by "extra lives." I thought I always started with three lives. Edit: Unless you mean earning extra lives while you play.

    Full-screen is useful. It's the only way I play the game. You are right that ESC is intuitive and the standard, but if it conflicts with a key on its host platform, it's not very useful. "P" for pause, or space bar like you said you use in the downloadable version, or F10, or something along those lines.

    I play online because it's convenient. The game is there and ready to go when I want it. Also, I use Linux, and it looks like the downloadable version is for Windows. Even if there were a Linux build, I would probably play it online, instead.

    Edit: I just beat world two. I don't think that's a very good difficulty curve. I beat world one on my first try, no problem, but it took me like forty tries to beat world two. That's too big a leap.

    Sorry, I meant "remaining lives" instead of "extra lives", that was confusing :3

    In my opinion, once he has gone far enough in the game, the player should be free to start from any world he has unlocked, not only from the last one. That's why I thought about using codes revealed at the beginning of each world. But as a reward for a player who chose to start from level 1, starting from world 2 or higher implies less lives at the beginning of the game (still 3 lives for world 2 but less for next ones). Restarting the game from the last world with 3 lives seems a bit too easy for me (and if you play previous worlds well, you may have extra lives to help you). Each system has its pros and cons (arcade-style "continue" menu means less keys to type but limited choice to begin a new game). Not easy to choose...

    About the ESC key, I looked at my own keyboard and I see 2 alternatives : BackSpace (right above Enter, a right place to say "no" instead of "yes" but not commonly used in video games) or Ctrl (reachable from both hands, not far from arrow keys for the right one, currently used as "action" key in many video games but not for Hop as he can only move left or right). By the way, I wonder if the "quit" version is really necessary from the welcome screen : it is useless for the online version and you can still close the game by its window on the Windows version.

    Moreover, the online version does not manage 2 in-game functions : fullscreen mode (I'm OK with this as itch.io can do it) and screenshot. When I designed the game, I used automated screenshot to save the "game over" screen (and the player could also save a screenshot whenever he wanted). Too bad you can't get the screenshot file on the online version. :'(

    In my opinion, punishing players for using the continue codes is a bad idea. Can you think of any other popular games that do that? I can't think of a single one. There might be some, but it's unusual, and it's unusual for a reason. If a game starts with three lives, it should start with three lives whether or not you are using a continue code.

    You're saying players can start from the beginning, but the whole reason continue codes exist is because players don't want to do that. I've already played the levels in world two fifty times, I don't want to have to keep playing them over and over. I want to move forward and see new things.

    Obviously, you should write a game that makes you happy. That's the whole point. From my perspective as a player, it is unenjoyable to feel like I am being punished by having lives taken away just because I don't want to keep repeating previous levels.

    Here is a brutally hard game that understands how to balance frustration and fun: https://store.steampowered.com/app/260790/1001_Spikes/ You start with 1,001 lives, but nobody thinks the game isn't challenging because of that. It's very hard, but you don't feel stuck. You are never forced to revisit anything you don't feel like revisiting just to build up enough lives to advance one more level. The game lets the challenge of the levels speak for itself.

    Anyway, I don't like that particular design decision you made for this game. That's the last I'll say on it. You mght be making this game for a different kind of player, and that's up to you.

    On the plus side, I do like the new mechanics and obstacles you introduce as the game goes along. The fruit, the spikes, the springs, and now the breakable blocks. You've done a good job of keeping the levels fresh. One note about the breakable blocks: PLEASE tone down the sound they make. It is WAY louder and sharper than anything else in the game. The game's sound effects are generally very good, and very fitting to the environment. That block sound is like someone cracking a whip in my ear.

    Edit: I'm not sure what you meant by this: "Each system has its pros and cons (arcade-style "continue" menu means less keys to type but limited choice to begin a new game). Not easy to choose..."

    You can have both. The "continue" button would only be for when you lose your last life. You would see it on the game-over screen. If you choose not to continue, you would return to the main menu, and you would be able to start a new game or enter a level code. The only thing I am suggesting is allowing the player to click "continue" after they're dead, instead of making them go back to the main menu and enter the code when all they want to do is start over on the same world they died on.

    Thanks once more for your player expertise ;)

    Game start level I think we agreed on the best way to manage it : - always at the beginning of a world - keep code entry system - allow the player to skip world 1 (training course) and directly go to world 2 - allow the player to restart from the last world he reached, without code typing or going back to main menu

    I'm fine with this, it won't be a huge work to get it right and players may appreciate it more this way.

    Starting from any world with 3 lives I thought about it again and I admit you must be right. Even though Hop!2D is not an genuine arcade game where you can always insert a coin to continue, 3 lives will be OK. As levels get harder and harder, starting from world 5 with 3 lives will definitely not be as easy as from world 2. And, as I already said, you are likely to reach world 5 with more than 3 lives if you do it from the start and manage to avoid most hazards.

    Breakable wall sound As you noticed, I intentionally avoided loud and brutal sounds in Hop!2D. I did not want to use too many of them, just enough to keep the player focused on his game. The same reason led me not to add music (Anyway, I may be a terrible composer and I didn't want to use anyobody's creation just to add a music option in the game ). Maybe it's not just a question of loudness, the "crack" sound of breakable walls may just not be the right one, I'll try to find something smoother to the ear ;)

    I deduce from last point you have now reached world 3 (congratulations !). So far, what do you think about the learning curve of the game ? Have you been stuck a long time in a particular level ? Is the game too easy or too hard ?

    I asked myself if it would be useful to name all levels (just like in Lemmings, for example) to make them more "memorable" than numbers for players. Each one already has a name in my GDScript Code, that makes them easily "switchable" in the same world or different ones, depending on the difficulty of new designed levels.

    Wow. I don't know what happened. I left an entire long reply here, and now it's gone. I left to go play some more, and came back, and my reply is not here. I will try to remember all I said.

    @Asthalis said: Thanks once more for your player expertise ;)

    You're welcome. I hope it is helpful.  

    Game start level I think we agreed on the best way to manage it : - always at the beginning of a world - keep code entry system - allow the player to skip world 1 (training course) and directly go to world 2 - allow the player to restart from the last world he reached, without code typing or going back to main menu

    I'm fine with this, it won't be a huge work to get it right and players may appreciate it more this way.

    I like all of this, but I think it's fine to make the player finish world one in order to earn the first continue code.  

    Starting from any world with 3 lives I thought about it again and I admit you must be right. Even though Hop!2D is not an genuine arcade game where you can always insert a coin to continue, 3 lives will be OK. As levels get harder and harder, starting from world 5 with 3 lives will definitely not be as easy as from world 2. And, as I already said, you are likely to reach world 5 with more than 3 lives if you do it from the start and manage to avoid most hazards.

    As a player, I prefer it this way so I am not forced to go back and play levels I've already grown bored with just so I can build up lives.  

    Breakable wall sound As you noticed, I intentionally avoided loud and brutal sounds in Hop!2D. I did not want to use too many of them, just enough to keep the player focused on his game. The same reason led me not to add music (Anyway, I may be a terrible composer and I didn't want to use anyobody's creation just to add a music option in the game ). Maybe it's not just a question of loudness, the "crack" sound of breakable walls may just not be the right one, I'll try to find something smoother to the ear ;)

    I think you did a great job with the sound effects. So far, it's only that one sound that stands out. Reducing the volume and the peaks might be all it needs to fit in with everything else.  

    I deduce from last point you have now reached world 3 (congratulations !). So far, what do you think about the learning curve of the game ? Have you been stuck a long time in a particular level ? Is the game too easy or too hard ?

    I have reached world three. In fact, I am paused on the boss level, right now. I mentioned before that I think the difficulty curve is too steep between world one and world two. I finished world one on my first try, but it took me dozens of tries to beat world two. I think the curve between world two and world three is better. World three seems like a reasonable step up from world two.

    Edit: Lol, I beat the boss, then I went exploring around the level and I died when I touched the barrel side of one of the cannons. I don't know if those should kill the player like that. Maybe it shouldn't fire if the player is blocking the barrel, or maybe it should if you want the cannons to be dangerous to the player.  

    I asked myself if it would be useful to name all levels (just like in Lemmings, for example) to make them more "memorable" than numbers for players. Each one already has a name in my GDScript Code, that makes them easily "switchable" in the same world or different ones, depending on the difficulty of new designed levels.

    I think that would be a fun addition to the game, but not a big deal either way.