Agnes in Ocean Onslaught: My first game


I finished my first proper unity 2D game! I honestly went a little crazy out of the scope of the course but I really wanted to implement some story elements to my game, and I had a lot of fun doing all the art! Feedback would definitely be appreciated!

(I know one issue off the bat is that there are sidebars on either side of the game window that I can’t make go away. Not sure why that’s happening)

4 Likes

Hi there!

I don’t think there’s such thing as a proper or improper game, just unpublished ones, don’t worry too much about that and just publish your games, a text based adventure, like the one you did before in the course, is a proper game, also there’s no such thing as “out of scope”, if you feel like adding more things to any of the projects then do it, that’s what the course is for, to expand on the ideas.

Now onto the feedback, this might be harsh because your game really made me rage, but for now let’s talk about the good part.

The art is truly amazing, top notch, 10/10, best art and concept I’ve seen for any BlockBreaker game here on the forums, I loved that you took a risk and did this, you did an amazing job… but… yeah… I’m just gonna say it, your game is unplayable, I’m really sorry, you obviously put a lot of effort into this, but in it’s current state it is unfair and not fun at all.

I’m gonna point out all the bugs. I know that there’s a restart button, but that’s something I’ll address after pointing all the bugs out.

  • The ball can go through terrain and Agnes (Paddle). There’s an easy fix, just set the ball’s Rigidbody Collision Detection to Continuos, this will fix half the bugs you have.
  • There’s no control over the ball’s speed. Sometimes it gets way too fast reaching the point of almost unseable, others it gets way too slow to the point of barely moving.
  • You haven’t fixed the boring loop of death. I know that’s kinda hard to fix but you gotta do it. There are plenty of amazing solutions here on the forums that you can try out.
  • The ball will sometimes slide through Agnes’ power instead of bouncing… Insta-death! Not fun… Fix the collider, use another shape or something, as it is now the ball behaves in very weird manners sometimes.
  • The player destroy some of the objects in certain levels without even launching the ball, just by moving Agnes when still holding the ball. Move them up.
  • The music stops at some point.
  • Not sure why, but there’s a sound that makes a static noise, I’m gonna say that’s because webGL and not your fault, unless you are distorting the sound, if you are then you are not reseting it after each distort.
  • One of the enemies changes color to a very similar color after being hit, it’s really hard to tell if it’s being hit or not. It’s one of the last enemies, it’s pretty obvious which when you play some of those levels.

There are more things but they are related to the already mentioned issues so there’s no need to talk about those.

The Restart Button. It doesn’t fix any to the issues I mentioned. A restart button just passes the blame to the player, which makes your game extremely frustrating since it’s not the players’ fault that the ball gets stuck in Agnes’ yellowy power, it’s not the players fault that the ball gets in an infinite loop, it’s not the player’s fault that the ball sometimes traspases the walls, you get the point, this makes your game unfair, frustrating and somewhat boring, I had to restart every single level at least twice because of the game bugs out all the time. I had to restart the last two levels at least 50 times each, I’m not kidding, 50 times each just because the ball decided to get stuck.

Well, that’s all from me. Let me know if you fix your game so I can give it another go.

2 Likes

Hi Yee, nice to meet you! And thanks for playing through my game all the way through and for the harsh (but fair) criticism.

I’ll admit I was getting a little lazy and discouraged towards the end of the development of that build just because I had been working on it alone for 2 weeks, so your advice helped me get back into the swing of things and I think now the bugs are all fixed!

I overhauled the ball a good bit, and now the speed will stay within a consistent range and I implemented some code so that if it starts looping it’ll get nudged in a new direction. Setting the rigid body to continuous also really helped, and I didn’t know about that attribute so thanks for that! I also spent more time adjusting Agnes’ hitbox so now it’s more like a big trapezoid instead of just poly-formed around her sprite.

I also made the little design tweaks like the level where you could hit the junk blocks before launching the ball. The art on that enemy (and another I decided was too similar) was something I should have written down because I knew that was a problem and just forgot to fix it. I also forgot to hit loop on the bgm but it’s a good thing I forgot because while fixing it I realized the code I set up for it was bugged so it’d play a second track over the first if you went back to the main menu, so that’s fixed now too.

The only thing I couldn’t figure out was the sound you said made a static noise. I’m thinking maybe what it is is I used drum sounds for the ball collision sounds, and I mixed in a snare hit to try and give it some variety, but I can see how that could be distracting and weird, so I went ahead and removed it.

Thanks again for all the help! If you decide to give it another go, I hope you have a lot more fun with it!

2 Likes

I just replayed your game, I have some good news and bad news and great news.

Good news - You fixed almost all the bugs, your game is now pretty enjoyable.

Bad news - Not everything is fixed, unfortunately, like the ball going through Agnes when hitting the ball from the side too fast and the static sound is still there.

Great news - I didn’t use the Restart Button, not even once, that’s such a huge improvement over the last version of your game and…

  • The ball bug going through Agnes is not a bug, it’s a feature xD Really, it only occurs when moving Agnes way to fast and the ball has to be pretty much below her, like about to lose, the balls gets stuck and sometimes goes down and sometimes goes up. When it goes down it doesn’t feel as punishment because the player knows that was already a loss, when it goes up it feels like you just did a pro gamer move, seriously, don’t fix it.
  • The static noise is because webGL/browser bug, those are buggy and messy and there’s no easy fix, just leave it, if you want to fix it just put a downloadable version instead.

Congratulations on your amazing game! Please keep uploading your next projects, it’s still enjoyable to play them and see what you come up with even if they don’t differ much or at all from the original project.

2 Likes

Excellent effort this. The story/conversation aspect and implementation certainly adds to the brick breaker part of the game.
Your original artwork is great and the sound design works well .
In fact I would have preferred they used this scrolling text with image style presentation in the course for the 2d choose your adventure game instead of the fixed text thing used currently so kudos for putting in the effort towards implementing this style for the converstations.

On a few levels the ball was a bit harder to track due to light bg so you might want to tweak the colours for these or maybe make the ball a bit more orangy . The ball did get stuck inside the player character once and when I moved the mouse it bounced back so maybe a few bugs with colliders perhaps.

Thanks to it not ending the game the few times I missed the ball I managed to finish all the levels.

image

2 Likes

Thank you! Im so glad you enjoyed it. I might go back and change a lot about that adventure game because I didn’t really try to branch out on my own as much as I’d like to now, and there are a lot of improvements i could make to it.

I think adjusting the ball color is a good idea and a pretty simple fix. I was debating doing that already but I guess now i actually will. I think i need to maybe learn a little more about editing 2d polygon colliders if the ball is still passing through the player. I tried dragging the vertices around to make it more solid but i guess there are still a few gaps in there somewhere.

Im also glad you were able to finish it! I decided i wanted the hook of the gameplay to be the story so i decided to get rid of the player score as it just kind of distracted and i figured getting a game over would frustrate the player especially if you kept having to re-read the same dialogue over and over.

1 Like

I thought about mentioning this earlier but didnt as it would be more work. Since you mention making further improvements and have already put in this much effort into creating all this art, you could next try make a few more frames for the bricks (fishes, etc) and the player character and turn them it into animated sprites instead of static images giving them subtle movements while they sit there on the screen. That would make for great eye candy imo.

I definitely agree! I’m doing a similar art style for the laser defense game and I definitely want to get into animation for that, because I agree that the static sprites feel a bit lifeless. I think I might have to put that on the back burner though, because there are a lot of drawings and it’d take a while to even just add a boiled line effect to them. I want to put out the best projects I can, but I’m a little worried about getting bogged down in for too long instead of continuing to learn about unity via the course. I think maybe a good idea for me would be to finish the course then go back and update all the games I’ve made with what I’ve learned.

I do not recommend animating the sprites for this type of game, it might cause troubles, on paper it sounds cool and it would definitely look amazing, but this might damage the overall experience because collisions, no matter which method you use, the game won’t be consistent making everything way harder than it should and causing way too many bugs that would be pretty much unfixable, this could be solved by using circle, box or those type of colliders that have a fixed shape, but the ball won’t be really hitting the sprite, again, making it somewhat hard for the player to read.

What I would recommend, if you want some animations, it’s something entirely new, Why not make boss battles instead? The plot points towards that, I imagine something like a huge boss at the top of the screen with a weak spot, it could be animated in certain ways to protect himself from danger and cast abilities like beams that freeze Agnes in place for a certain amount of time or just spawn “blocks” to protect himself, maybe make the second boss (I forgot his name), a second paddle at the top of the screen, he gets tired and stops using his power, that would be the moment to hit him, like some sort of “glorified tennis match”, something that has been proven to be fun, just ask any Zelda fans :laughing:

1 Like

Boss fights are always cool and would be a great addition at the cost of a bit more technical complexity to make them interactive/interesting. But I think you are overthinking it regarding the animated sprites issues. The kind of subtle animations I am referring to will be things like slight movements on the fins or the urchin’s legs which wont extend out so much for the shapes to be totally wonky compared to the original still versions. And they are quite irregular compared to regular bricks already so keeping the existing fixed colliders should work fine imo.

1 Like

I think you both have good points. When I was thinking about animating the blocks I was picturing really subtle animations that don’t change the shape of their collider, such as things like blinking or slight movements. Just to give them more life, more like what Codermonk is talking about. I think bosses would also be really cool but I feel like that’s really getting out of my abilities at the moment. I think both those things would be really cool to add if I go back and revamp my projects from this class after finishing it.

Privacy & Terms