Niche - 7 day mash up

This is Niche, a little platformer I wrote because a) I like platformers, b) I wanted to try doing my own graphics and c) I needed some motivation to keep me going on a bigger project. It’s done as a 7 day mash up with the hope it didn’t distract too much from my main project.

The story and graphics are both my creations for which I can only apologise :slight_smile:

http://old.cokeandcode.com/demos/niche/niche5.png

Play Niche

Instructions in game (cursors to move, ctrl to jump, space to activate stuff), progress is saved as you play.

Feedback and thoughts are appreciated since I think I’d quite like to do something like it as a full game at some point.

Kev

Cool little game. I completed all what you had done so far, so many um … random characters in it :slight_smile:
I had one problem, which was the darkness was too laggy(unplayable lag) sometimes, but other then that it was good.

Interesting on the darkness thing, what graphics card do you have?

Kev

Nvidia Fx5200.

Nice!

I like the non-linear feeling of having a big area with a generic “gather x McGuffin”-task. It breaks up what otherwise would be a very linear experience. That’s not necessarily a bad thing, but I prefer more open gameplay.

The music is awesome! Sounds effects are rare (just the walk and death sounds?), but adequate. The graphics are usually very clear and cute, although the first time I stepped on spikes, I thought it was a powerup. The jelly-fish enemy would do with some animation.

I wish there was more gameplay elements than just moving, jumping and flipping switches. Some way of dealing with the enemies and/or some powerups would really help the experience. Right now the enemies are almost purely a negative experience for the player, with no rewarding way of dealing with them.
That coupled with them sometimes having too hard to dodge patterns (is it even possible to avoid getting hurt when jumping over a jelly fish traveling the same direction as you are?) and a generous health bar that refills on death led to me just ignoring the enemies and running straight through them.

Bugs:

If you’re walking when you die or start a conversation, the walk sound keeps playing.
Some areas seem to respawn all pickups when you enter/leave certain doors, leading to the ability to farm for score.

Seven days?! It would take me months to make something like that! :-\

Some random observations:

  • Jumping’s not nice. It doesn’t feel like there are any laws of physics (however unrealistic) at work. Considering how much of the game involves jumping, the in-air experience should feel nicer.
  • The difficulty level of the game changes erratically. Most of the time you’re exploring, dodging baddies, not losing too much health. And then suddenly you’re faced with some really awkward platforming – above a spiked floor. (And then there’s the matter of the deep pit that you have to jump into in order to see what’s at the bottom. Spikes, it turns out.) Having some difficult sections in the game is fine, but it would be nice if they were flagged up as challenges. For example, a character standing at the start of a tricky section could tell you that’s it’s dangerous ahead – but that there’s some good treasure if you can get to it.
  • The dialogue pane is maybe a bit too translucent. In particular, the image of the character who’s speaking looks to be in the game itself rather than part of the dialogue. Also (while I’m in no position to criticize anyone’s writing) it seems to me that the conversations go on far too long. Most of the time the characters aren’t really saying anything, and the conversation could be pruned back to just telling you what the mission is.

Keep it up! I’m looking forward to seeing a full-scale Kev Glass platformer!

Simon

Could you make the character have a circle bounding box instead of a square? It can be really annoying to jump out when you have a ledge above your head, because the very corner gets stuck.

Really nice little platformer, tons of secrets to find and a nice story line.

+1 point if the game installs and uninstalls correctly
+1 point if the game doesn’t crash ever
+1 point if the game is slickly presented
+1 point if the game has “good” graphics that suit the game
+1 point if the game has “good” sound that suit the game
+1 point if the game’s overall style is “good”
+1 point if the game is original or brings a great new original twist
+1 point if your judge enjoyed playing the game
-1 point if the game is complete enough that doesn’t feel anything is missing (needs to be longer :slight_smile: )
+1 point if you don’t whine and you demand nothing of the mods

Overall a 9/10

FEATURED.

At the risk of both changing the subject and showing off my noobness – you can have circle bounding areas? :o

I’ve only ever used rectangles for that…

Circles makes awesome bounding areas, especially if you are doing circle to circle collision checks, since you can just check the distance between the two centers (or more commonly, the distance squared to avoid the expensive sqrt ).

Even better, because computers are so fast these days, unless you need to squeeze every bit of juice out of your system (which you won’t need to), you don’t even need to worry about how expensive square root is.

well, after a while, it is possible for a major slowdown. If you have tons of sprites. It takes thousands, but it is possible. I have even had games do that. Granted they were not efficiently programmed. Adn I could double the performance if i went back, but still…

Uh, yeah, I was never saying that you will not be able to slow down your computer, I was saying that using square root 1,000 times per frame is not going to really do anything - worrying about it is basically a thing of the past. Unless you’re working on a AAA or you’re working for a limited resource system, bothering to avoid the square root is pointless.

Also, I have made 20,000 sprites fly around on my screen with 60 fps, using OpenGL, a texture atlas, and no expensive operations like lighting. I couldn’t think of any time I would ever need that much, or even close to that much. In Java2D you could break that right quick, though…

The problem with sqaure roots for collision is that it’s O^2 scaling (for all to all colliding). If I have 1000 things flying around on the screen and I need to collide them all against each frame becomes pretty painful 1000x1000 (ok not quite, but you get the idea) sqrts per frame and you will notice the difference.

Given it’s so ridiculously easy to do, bothering not to is pretty pointless as well.

Kev

True true. If you have that many objects colliding, you absolutely want to save yourself a square root call. TBH, I avoid calls to sqrt as much as I can, even though I was propping up not needing to use it. I’m kind of biased because someone I work with started storing “rotCos” and “rotSin” variables all over the place in my code, which drove me crazy because he was saving maybe 50 sqrt calls per frame, which is negligible, even on the iPhone. As a result, he made the code much harder to read, and there’s some memory wasted instantiating objects with unnecessary variables.

Either way, do what seems best in the moment. :slight_smile: