I got inspired by this course and created a complete game prototype!

Learned a ton of material in this course, especially about tilemaps and the new input system. I was really inspired to try my hand at creating a platformer prototype that felt really fun to play.

You can play the game here. If you do, please don’t hold back and let me know what you think!

In addition to the material covered in the course, I wanted to also add the following features:

  • Start / GameOver / Win Screens
  • Advanced player movement (early jump press, coyote time, & non-floaty jump)
  • Player UI - healthbar, lives, coins, etc.
  • Attacks - bow & arrow weapon, and stomping enemies from above (like Mario)
  • Dynamic music scoring based on map “zones” - adding more and more tracks play in sync despite being queued up at different times (e.g. strings, bass, drums etc.)
  • Checkpoints

One of the things I’m most happy about is the Bat enemy prefab. It starts following the player once the player is in range, and starts flying in wide arcs if the line of sight to the player is broken to simulate bat-like behavior (used a raycast to check for any collisions with the ground layer).

I’m having a blast learning Unity and am really excited to dive in more. :slight_smile:

10 Likes

Congratulations on your game! Very detailed post! Keep up the great work :raised_hands:

1 Like

Thanks! I appreciate it!

I tried playing your game :smiley: It was really fun, up to the point I couldn’t make the jump in level 3 :frowning: Here is some feedback:

:video_game: When I lost all lives, it said to press any key, but pressing any key didn’t do anything. Only pressing Enter got me out of that screen.
:video_game: I’m not sure if I was supposed to be able to shoot from level 1, but I couldn’t shoot. I tried it in all levels I could play.

:video_game:In level 1 - if I don’t make the jump above the exit, there’s no way for me to go back and try to jump on to the platform again to collect the coins, which is a bummer :frowning:

:video_game:In level 2:

  • I loved the water effect :blue_heart: (I’m easily entertained ahah)
  • I don’t know if the red potions are supposed to be pickupable, but I couldn’t pick them up. UPDATE: Oh, wait, they are replenishing my health. I could pick them up after I bumped into an enemy :sweat_smile:
  • There is a kind of brownish thing where the player is supposed to climb over to reach the higher level. It was cool, but it would be awesome if there was some kind of indication that I should climb there, not try to jump. Because on my first run, I tried to jump and got frustrated that I couldn’t make the jump, so I just ignored that part and went below :frowning:

:video_game: In level 3, I couldn’t get past this, it’s too high/far for the player to make the jump:

  • But I loved the way you used the ladders in this level! Especially the part where the player has to jump from one to another :clap: :clap:

If you don’t mind, would you be willing to share a link to the repository for your game? I’d love to check it out to see how you’ve done certain things. If you don’t want to share, that’s ok, no biggie :slight_smile:

2 Likes

Oh, that’s quite the bump :slightly_smiling_face:.
@townofdon Kudos for finishing this game. Your first one, I presume?

My feedback as a player:

  • I think the gravity is way too high. You mention that it’s one of the features you added (non-floaty jump) but having the character fall so fast makes jumping with precision very difficult, which in addition to very tight gaps, insta-kill hazards (spikes) and only 3 lives leads to some frustration. In my first run I died twice trying to get the coins between the spikes in the first level. I ended up ignoring them since there’s not that much value in them anyway (100 gives you an extra life, but risking dying for just 2 of them isn’t worth it).
  • The first time I found the brown wall in level 2 I didn’t understand it wasn’t there just for show, just like Dorothy. And I could end the level without learning that I could climb it, so after checking I couldn’t reach the higher platform, I desisted and moved on. Which leads me to the point where @Dorothy got stuck…
  • That place where you can’t jump over the obstacle on level 3. I found it odd that I couldn’t get back nor advance any more. But that’s actually really good. You presented a new (and unexpected) mechanic by trapping the player in a very limited space. I don’t think the solution to the puzzle (jumping while climbing up a ladder makes you almost fly away) is very intuitive, but presenting a mechanic this way is genius.
  • The bow power up doesn’t make a lot of sense if you can just stomp on the enemies to kill them. They’re not a big threat and just chip some of your health away if you touch them anyway. Sometimes the enemies die from one shot, sometimes it takes even 3 arrows to kill them. Is there some RNG action going on? Do some enemies have extra health? They look all the same, so I can’t tell as a player. Also, the arrows tend to go through the walls at certain angles and if you are next to a wall you can shoot right through it.
  • This may be nitpicky but I found the choice of controls for shooting on a gamepad a bit odd. Why use RTrigger for that instead of B or another face button? The game only uses two buttons and no analog inputs so I don’t understand the reason.

All in all it’s very good if it’s your first game but there’s some room for improvement, specially on the jumps and difficulty progression. I’m not commenting on the art or sound because I guess they’re pre-made assets for the course. Hope this helps!

2 Likes

Hi Dorothy, thanks for taking the time to try out my prototype and give some feedback :slight_smile:

Glad you liked the water effect! I was playing around a lot with particle systems and splash sounds to get it feeling right. It was a lot of fun to mess around with.

Re: the brown texture - that was a super lazy re-coloring of the rock texture haha. Definitely could have made this more obvious that this area was climbable.

To get past that one section where you got stuck - during game testing I discovered that the player could jump higher if they jump while climbing. This particular section was supposed to teach the player about this mechanic, e.g. the broken ladders. But I probably need to add more clues to make this “feature” more obvious. Sorry you got stuck!

There is a later section involving ladders over spikes, so I wanted to make sure the player got a good chance to practice with lower stakes until they got comfortable. Glad you liked the section of jumping from ladder to ladder.

The bow & arrow weapon is actually on the very next level after where you got stuck… I promise there is actually shooting in the game!

All the source code is here - feel free to check it out and use anything you find useful! I believe this is up-to-date. https://github.com/townofdon/tilevania-2d-platformer-demo

Best of luck on your game dev journey :slight_smile:

2 Likes

Hi @bitpatio thanks for the review! Truly appreciate you taking the time to play my prototype and even jot down some tips.

I agree with you about the gravity, it’s a bit too much haha. I think that an infinite lives mechanic like Celeste makes sense for difficult platformers. 100% agree about the risk/reward of going after coins not being worth it in most cases.

Sweet, glad you were able to figure out the ladder obstacle. I was trying to think of ways to teach that mechanic to the player. It’s a rather odd mechanic I do admit, but I found it a lot of fun during game testing and decided to keep it and even make it a core game mechanic. I’m open to feedback about better alternatives to teach this ability. Perhaps the simplest thing would be to make it purely optional, like some of the advanced movement in Celeste.

Totally agree about the bow weapon. There are only two enemy types in this game - I had a stretch goal to add more enemy types where a bow weapon could come in handy. Per the RNG, actually the damage is velocity-based, so arrows that gain more velocity due to gravity would apply some extra damage, so maybe that’s what’s going on here. And I did also notice the arrows going through walls - in a more fleshed-out game that would have definitely been on the bug list of things to resolve, but for a prototype it seemed fine. I imagine that more professional games use a bunch of more colliders and such to check things, like whether the player is against a wall or what not.

Oh, good to know about the controls - for a 2D platformer using the front-facing buttons instead of the trigger makes sense, like in Hollow Knight. Will file that away for next time. :slight_smile: Good call.

Thanks again for taking the time to give such a thorough review! Best of luck in your game dev quest.

Thank you for the link :smiley:

Nah, it’s because I wasn’t thinking out of the box that I got stuck hahah. I’ll try playing again :slight_smile:
Good luck to you too!

Good job @townofdon and keep at it! You’re doing great :smiley:

1 Like

You’re welcome!

Yeah, I also think infinite lives is the way to go for this game, if you’re going to keep the difficulty high.

About the mechanic that makes you skyrocket out of a ladder… I think it’s unique but also hard to understand that such a possibility exists in the game. The way to teach the ability is good as it is, but it’s true that some players could get stuck because it’s not obvious. Maybe you can add a trail of coins from the ladder as a hint of the trajectory that the character would have to follow to pick them up or just a explicit control prompt at the right time like that of Celeste for the air dash the first time you have to use it. I’d rather see the subtler approach, but if you placed a bunch of neon signs stating what to do and where to go it would be a sound choice, and a funny one, too.

I wish you also all the best in your game dev journey!

1 Like

I love it! Thanks so much for sharing!

1 Like

Thanks for checking out the demo!

1 Like

I downloaded the repo to check it out, because I really like how you tuned it! :slight_smile:

1 Like

Awesome, please by all means check out the code and hope you find my spaghetti-code useful in some way! :sweat_smile:

In hindsight there are some things I definitely would have done differently, but that is usually how it goes in the world of coding. :slight_smile:

I dig the music and sound effects. I’m actually ok with the gravity. For me, though, the game screen doesn’t fit my viewport properly. Looks like this…

I have to reduce my screen size to 75% to see the whole screen.

I can’t say much beyond that as I didn’t get very far… Dang spikes! :sweat_smile: …But looks and feels really cool!

Yeah, don’t worry about showing off your spaghetti code, that’s what I eat too :smiley:
What I really like is the vibe and how you tuned it overall. I got stuck at some point in Level 3 so I figured it would just be easier to download the project to get an idea of how you did it :slight_smile: Really cool!. I’ll follow you on Twitter.

1 Like

Freaking spikes!! Haha - going back and adding infinite lives would help a lot I think. Currently working on tuning my space shooter game (from the laser defender tutorial) and may revisit this in the future!

Thanks for letting me know about the scaling - I wonder if fullscreen would fix this issue for you? I’ve found Itch.io to not be very accommodating with WebGL game scaling… I probably need to fight some more to get the proportions correct…

Thanks for the kind words and taking the time to review!

1 Like

Full-screen does work a better, but some parts are still getting cut off.

I’m not sure it’s an Itch thing. I think you can code settings for viewport (kind of like responsive web design). This link from Unity forums mentions what can be done…

https://answers.unity.com/questions/1625579/how-do-i-keep-everything-inside-of-the-screen-on-a.html

Granted…I’m still a newbie, so I can’t elaborate much on what the comments in that link suggest. But hopefully, it’s helpful.

This is super helpful, thanks! Makes total sense that a fixed aspect ratio would result in content getting cut off for certain devices. Thanks for the link!

1 Like

No problem :+1:

Privacy & Terms