Space Ninja by mhorth
Intro
What ever happened to that Fruit Ninja guy? His skill set made him the perfect fit to defend the Earth from an asteroid shower. Guide his blade to clear the skies and protect the world as long as you can!
Helpful Hints
- Esc or "P" to pause, otherwise it's just click and drag.
- There is a low poly toggle in the options menu if necessary, to help performance.
Team
- @shohenadel brainstormed ideas for a few hours at the start and pointed the team in the right direction.
- @mhorth served as the main developer, assembling everything and making it all work together.
Showcase


Extra Notes
- I have removed the web version due to seeing a 50/50 split on whether it ran smoothly for people. My hunch is that CPUs with integrated graphics would use that for browser games instead of a dedicated GPU. Downloaded versions should hopefully take care of all those issues.
- Inspiration and creativity didn't really strike for me with this theme. The gameplay is cloned straight out of Fruit Ninja, so I chose to focus my efforts on the polish instead.
- I opted out of audio ratings since I used 3rd party music. That being said, sound design was a big focus for me to improve on, so please leave your audio critiques in the comments.
- Disclaimer: we are not responsible for wrist injuries sustained by prolonged rapid slashing. Slice responsibly.
| Link | https://mhorth.itch.io/space-ninja |
| Link | https://mhorth.itch.io/space-ninja |
| Link | https://mhorth.itch.io/space-ninja |
| Original URL | https://ldjam.com/events/ludum-dare/50/space-ninja |
Ratings
| Overall | 464th | 3.698⭐ | 60🧑⚖️ |
| Fun | 497th | 3.568⭐ | 61🧑⚖️ |
| Innovation | 1102th | 2.822⭐ | 61🧑⚖️ |
| Theme | 445th | 3.864⭐ | 61🧑⚖️ |
| Graphics | 128th | 4.407⭐ | 61🧑⚖️ |
| Mood | 358th | 3.802⭐ | 60🧑⚖️ |
| Given | 94🗳️ | 122🗨️ |
That being said, MY WRIST..... unfortunately, due to the state of the game, there isn't much gameplay other than "swing your mouse back and forth". It becomes an endurance test, which, I suppose lends to the theme, but not the fun. If somehow you made the gamplay more in depth/strategic then it could be a really awesome take on the fruit ninja genre.
Anyways, I really enjoyed it and am amazed by your visuals, but there just isn't a whole lot of replay value.
The problem is that there isn't much of a game. If Earth was in the middle of the screen and asteroids came from all directions, or if my laser sword thing took energy and I had to be careful how I used it, or something it would have given it some depth that it is currently lacking. I just held the mouse down and moved the cursor off the top of the screen and shook it and killed all the meteors before they even appeared on the screen. I think when you do that the comets just float out there also because I heard the pink sound of a comet but it never zoomed in and the comet never showed up. So I guess I won?
I would like to add that the cursor moving around the buttons is super cool. :thumbsup:
Earth was originally in the center, but I found that the meteors above and below were too close to when you'd first see them, it felt a bit unfair to the player. I also had a little bit of math in place so that the slice would lag further and further behind your mouse cursor the longer you held it down. I didn't think it felt great at the time so I removed it, but maybe I should try it again.
Appreciate the advice and thanks for playing!
I think the gameplay could use a little tweaking though. As it is, the meteors come at pretty regular intervals and are too many, so slicing them is pretty easy and just becomes a constant thing. I think these kinds of games are more fun when you have to be at the edge of your seat, looking for surprise attacks, and change your strategy on the go. So less meteors, coming at different speeds to surprise you, and with traps among them might make it more fun. I would also suggest a smaller earth that gives you more room to slice!
Overall a really nice game. Congrats!
Excellent job! Particularly well done on the "game feel" of the combo effects 🏆
@trashbag sorry to hear that! I tried to do every trick I could to optimize it, but in the end it is a fairly GPU intensive game. If you haven't already, I would try downloading it and making sure it runs on a dedicated GPU, rather than an integrated graphics on a CPU. If that doesn't solve the issue for you, then I'm really sorry, that's me failing to make it accessible for everyone :heart:
The addition of COMBOS is awesome and the effects are really good :thumbsup:
I think it would be cool if there was something that you shouldn't slice through though, it would add a bit more difficulty to the game.
Some feedback: maybe there shouldn't be that many meteors, and instead they come in waves and your sword swing has a cooldown, so you gotta time your swings to get as many meteors each time (hitting multiple meteors in one swing could reset the cooldown quicker). Then there could be meteor showers after killing stars, that grant you unlimited swings for a limited time.
A solid game, which fits the theme too! Nice job :)
To those having framerate issues, I'd be curious if downloading it helps. If so, I'll probably just remove the web version since it's becoming a pattern.
Thank you @arqitech and @jefvel for the suggestions! While I was developing, I had multiple points where I had to make the decision "should I restrict what the player can do, or let them play how they want?". I always leaned to the latter. But with all the feedback so far, it seems I went too far. I'll consider doing a post jam version with more interesting strategic choices.
I really liked the "line slider" high score at the bottom, it kept introducing yet another score to beat :)
It felt a little too easy to cheese with just rampant horizontal swiping. I wonder if an added quirk that introduces a limit to how much you can actually hold left click would help?
PS. I know Jam doesn't require source submissions, but wow, am I really itching to know how you did that button effect.
Okay now for real, you said that you mostly focussed on polished? Well, you very much succeeded at that! I LOVED the button animations, the combo counters were super fluent, the comets were a pleasure to handle, and there was a leaderboard that synchronised with everyone that has played this? Get out of here! It all looked gorgeous and it is very impressive to me, so I think you should be proud of yourself!
```
IEnumerator MoveToCorner(int corner)
{
Rect rect = _currentParent.rect;
// Calculate the position of the corner to go to
Vector2 target = corner switch
{
0 => new Vector2(0, rect.height),
1 => new Vector2(rect.width, rect.height),
2 => new Vector2(rect.width, 0),
3 => new Vector2(0, 0),
_ => Vector2.zero,
};
// Keep moving closer until we get there
while (Vector2.Distance(_rectTransform.anchoredPosition, target) > 1)
{
_rectTransform.anchoredPosition = Vector2.SmoothDamp(_rectTransform.anchoredPosition, target, ref _currentVelocity, .04f);
yield return null;
}
// It should be there now, target the next corner
int nextCorner = (corner + 1) % 4;
StartCoroutine(MoveToCorner(nextCorner));
}
```
When you mouse over a button, I'd run this code. When your mouse leaves the button, I'd stop it and do a similar smooth damp towards the mouse position.
Just kidding, I'm definitely looking forward to trying out some more strategic gameplay once I'm done playing and rating. I think you're safe up there with that score, but how is your arm feeling?! I hope you took breaks lol, thanks for playing!
I think one way to overcome players holding down left click and flinging their wrist around is to make meteors break into pieces if hit in the wrong spot. If you have meteors of different shapes each with its own 'hotspot' the player will have to be more precise with their slices.
But the art was great! This was probably one of the best looking LDgames I have seen so far! the effects are good, and the zoomin on the glowing ones was cool
A very neat little game, feels very finished :)
Also.. the UI! So pretty! (I know that you spend a huge amount of time on how the line follows the menu buttons haha, I saw your blog post)
It was fun, love me some fruit, ergh, meteor ninja :) The game was well executed, slicing felt very satisfying and waiting for the right alignment to get the max meteor combo was a good feeling!
Music and mood were very good, earth was pretty, also, shiny glowing meteors :0
Good job guys! :)
Like last LD, you made a game really polished and top quality in terms of UI, SFX and juicy feedbacks.
I loved the colors, the asteroid combo and the laser following the ui buttons.
As always the integration of your leaderboard is very cool and competitive.
However like others said, the gameplay haven't any depth or ramp progression.
Maybe some asteroids you should not cut like the bombs in fruit ninja ?
Anyway, awesome entry, congrats ! :smile:
Well, that was quite the arm workout! No pauses!
Love the effects around the menu and stuff. Nicely polished entry. I would just suggest having something that makes it near impossible after a couple minutes so you can't keep going indefinitely. Also, make sure to constrain the mouse cursor to the window so you can't go off onto a second monitor.
Very cool effect to have the colorful trail of the cursor line out UI elements that you are hovering over.
Keep up the good work!
Also I loved the screen transitions.
The game itself has a simple mechanic but very well executed and polished. Also there are some serious post processing effects that are extremely cool (you really paid attention to details).
Also I loved the fact that you took the time to add a ranking and the "minimap" of points of the ranking in the bottom of the screen feels very professional.
IDK I think that this game could ship today as a mobile game and I would play it :)
Good job to all of you :)
Thanks for this entry.
The audio design was nice, maybe a bit of variation for the basic "asteroid hit" sound might have been nice, but good call with mixing it low as that sound is playing _all the time_ due to the gameplay. The comet hit sounds are perfect, love the pitching up and the satisfying final WWRROOOMP.
> Disclaimer: we are not responsible for wrist injuries sustained by prolonged rapid slashing. Slice responsibly.
Narrator: He did not.
(oh also is "output enable" an EE reference, hobbyist FPGA enjoyer here :D)
EDIT: Also shame about the WebGL build, but I understand the pain, we had a ton of issues with it too due to making a rhythm game using FMOD so there was a ton of audio stuttering/crackling/latency issues on the web. Almost ended up not shipping it myself either.
@muriel I'm happy you noticed and enjoyed some of the details. There were quite a few parts during development where I caught myself "wasting" time down a rabbit hole where I could have been working on more gameplay. "Everyone will be looking up at the meteors, you don't need to spend an hour making sure the clouds look believable!"
@bqq good catch! I'm a PLC programmer at my day job, so yeah "output enable" is rooted in EE circuits/programming.
https://www.twitch.tv/videos/1449896005?t=03h41m54s
Even regardless of the retention benefits of wanting to climb the leaderboards, its mere existence made me pay more attention to the game *immediately*. I knew my score would "matter" now, and I knew that even the easy, early stages would be likely contribute to my final score importantly so I would try to focus and get optimal combos early. Each time I hit one of those gold meteors and shot past 8 people, it felt super satisfying.
I tried the post-jam version and I think the limited meter was a great solution. I haven't played Fruit Ninja in a very long time but I assume that mechanic doesn't exist in that game.
I underestimated this game at first! I thought it would be a pretty looking Fruit Ninja with a different theme, but you quickly showed new features that ended up being a much more engaging version. Awesome work!
For my leaderboard stuff I have a custom web app for my api calls, which communicates with a MongoDB database to read and write data. Those 2 parts replace the typical services like dreamlo, lootlocker, etc.
This tutorial is a good starting point if you want to go that route. But that's really only necessary if you want to store more data than those pre-established services can handle. If you're just looking for names and scores, [dreamlo](https://dreamlo.com/) will do just fine. I like it because I can now store extra stats like the highest combo reached.
https://youtu.be/MNepwvCcKXA
Either way, the Unity side is the same, it would just point to a different url to get the data. Typically I was only getting the data on the game over screen to show the leaderboard there, but I realized there's no reason not to to get all of it during the game too (I just grab it once when you start a round, it won't update during the round).
Once you get the array of all the scores, you can do whatever you want with it. For the score markers across the bottom, I just set up some logic to spawn markers until one of them was too far ahead. Then I'd wait until the player's score got close enough to that marker to make it move off the end, and then I'd spawn the next leader. Repeat again and again.
Other than that, everything was polished and awesome! Music and visuals were great, the line renderer was nice and added a lot to the feel of the menu/gameplay.
Well polished, and with some more difficult gameplay could be amazing.
Great effort and good luck!
N.B. I played Jam version, not post jam.
There is an absurd level of polish going on here, I love it! You really know how to juice even the simplest mechanics to their maximum potential. :thumbsup:
The main issue I have with it lies in the gameplay itself- as I'm sure you have already discovered, the best strategy is to simply swipe back and forth across the screen right above the planet. I think this could have been circumvented by making the asteroids spawn in from various areas around the Earth, as opposed to just the top (this would also make more sense narratively).
The other issue I have is slightly less serious, as it doesn't concern the player experience itself- the interpretation of the theme. Although I found the Fruit Ninja like mechanics to be quite enjoyable, IMO simply making a score chasing game isn't the best fit for "delaying the inevitable", especially since it isn't tecnically "inevitable".
Nitpicks aside though, it's a really fun experience, and you guys should be really proud of what you have accomplished in the short timeframe given. Good job! :D