Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(+1)

Really excellent start. I won't reiterate all the things that are specifically excellent, because it's most of it. I've been admiring the clips of this you posted in the thread so I'm glad to finally get my hands on it. My feedback, is that I personally don't think the camera, controls and movement are quite there yet. Close, but there's a certain last 5% which I think this still needs to achieve. The three are tightly related, so its difficult to change one without changing the others.

When building the camera, there are two dangers. The first is that you're the developer, you've played with this camera over and over and over and over. It's very easy to become accustomed to it. The second is that there isn't one single camera setup that is perfect for everyone. However we can say, that for those whose ideal camera is slower, a faster camera is a problem. And for those whose ideal camera is faster, a slower camera is not a problem. For this reason, a slower camera is preferable. I would classify your camera as a too-fast camera, by about 20% or so. 

To get the camera under better control, I think the first thing to do is stop moving it out front of the player. This is the sort of thing that seems smart on paper, but in practice it just adds so much unnecessary movement to the camera. The ideal camera is never even noticed by the players. And this sort of thing really announced itself. In my opinion, toss it. A far better thing to do would be to calculate a camera offset based on the aim offset. Just take the aim vector, and run it through an easing function so that the farther the aim reticule in any direction, the more the camera moves that way. Being a shooting game, I think this will feel a lot better.

The second thing I think the camera needs, it proper lerping. Aside from sticking out front of the player, it feels perfectly glued to the player in an uncomfortable way. Lerping softens the edges of all those movements, making everything easier to visually track. It can be a pretty tight lerp, just add it in and then play with the factor. It's just cameraPos += (cameraPos - targetPos) * lerpFactor * dt. Higher lerp factor for tighter camera movements. Additionally, if you add the aim offset like I suggested above, you can overlay a second lerp, which is the camera lerping to the aim offset position. This one can be a lot softer, so that little adjustments to the aim are not immediately felt by the camera. 

Of course, the camera is related to the character movement speed, which I think is also about 20% too fast. The movement speed depends a lot on the character sprite size vs screen size. Here you have a pretty big player, and your screen is fairly small. Zooming out 20% would have a similar effect. Jumping also feels very stiff, and without any camera lerp, is a bit jarring and disorienting. I think setting Y velocity to zero on releasing jump is too harsh, halving Y velocity feels a lot better and smoother, in my experience. That combined with a proper camera lerp should be good, but you can give the camera a different Y lerp factor than X lerp factor if needed. 

The ledges and platforming aspect could also be improved. Personally, I think it's a huge mistake to have really technical platforming. That is such a niche thing, that if a game isn't explicitly and obviously leaning into that as its core mechanic, it should be minimized as much as possible. The Dead Cells creator says it a lot better than I ever could, but the essential idea is that as far as movement goes, whatever the players intention was should be executed. That means every time a player tries to jump a gap, get up onto a platform, etc... and they fail, you have made a mistake as the designer. 

Anyway, great work. In my humble opinion it has really huge potential. Here's the Dead Cells creator with a great talk I mentioned:

(+1)

very thorough, thanks for playing

Some very useful feedback here, I’ll take this all into consideration. Mouse effecting the camera is something I planned to have ready for the demo, but my camera system is a little archaic and it ended up causing a lot of issues on the programming side so I held off