Fairy Fang - The Tooth Harvester by boostas

Story
There was once an evil tooth fairy who went by the name of Dr. Fang. Dr. Fang was not your typical tooth fairy; she was driven by a much more sinister motive: profit. You see, Dr. Fang had discovered that there was a thriving black market for human teeth, and she was determined to corner the market.
It's a well known fact that the largest competitor for the tooth-fairy business are mice, as they also deal in teeth matter. Turns out, it is much more profitable to enter the liar of the mice king/queen and steal the teeth these mice have collected.
You're on a bloody rage, killing and stealing, trading teeth for upgrades on the black market.
Controls
WASD/Arrow Keys - Move around
Mouse - Look/Shoot (Tip: you can hold the mouse down to keep shooting)
Credits
@orinta - 3D Models
@diana-shuke - Cover Art
@boostas - Programming and Unity
OpenGameArt - Sound Effects
Post-mortem
- There's a bug where repeatedly loading to game and back to menu causes UI to duplicate
- Add more feedback to player actions: screen shake, VFX, kick-back from hits
- Make it clearer when the enemy is attacking
| v0.0.1_10 | https://github.com/ArchGamesStudio/LudumDare52/releases/download/v0.0.1_10/LudumDare52-win64.zip |
| Original URL | https://ldjam.com/events/ludum-dare/52/fairy-fang-the-tooth-harvester |
Ratings
| Overall | 563th | 3.257⭐ | 37🧑⚖️ |
| Fun | 476th | 3.257⭐ | 37🧑⚖️ |
| Innovation | 778th | 2.397⭐ | 36🧑⚖️ |
| Theme | 726th | 2.971⭐ | 37🧑⚖️ |
| Graphics | 486th | 3.441⭐ | 36🧑⚖️ |
| Humor | 432th | 2.817⭐ | 32🧑⚖️ |
| Mood | 584th | 3.113⭐ | 33🧑⚖️ |
| Given | 21🗳️ | 48🗨️ |
Idea is not innovational, but working good! Easy to understand and easy to master as well.
It was kinda fun that in the end you can level up your damage so much, that it kills the rat boss almost from one shot. :D
Wish there was more content, good luck with the further development if you're planning to work on it some more!
1. I believe there would be more motivation if we could see upgrades in attack, rate of fire, etc;
2. The beam always disappears further in front of the rat and the feedback from the hit is not obvious.
May be add cards with skills?
nice atmosphere and beautiful stylized graphics, sweet dungeon
fun upgrade system where you can really precisely choose what to improve!
i enjoyed maxing the RATE OF FIRE and kiting the enemies
also nice strategic thing that you can upgrade your max health but also you have to pay separately to heal it back to max
i would love some more challenge for the late game and more randomized levels (even if not fully procedural) would really make me spend a long time with this game
nice job!! :two_hearts:
you did a lot of work and seems like with some small tweaks it could be turned into a serious production!
the cover art and the name def catched my attention :D
Now I am become Death, the destroyer of worlds.
https://www.youtube.com/watch?v=dnWqmLOzSps
@ukirain, great idea about the cards, I am thinking of a mechanic right now where you can have two more spells that you could switch out if you wanted in some shop/hideout area :bulb:
@cannibalgirl, Diablo certainly was a huge inspiration for this game! It's a shame our team was a tiny bit small for us to implement randomised levels, as this was an idea at first, but very quickly discarded due to the lack of hands and time. Thanks for the feedback :two_hearts:!
@eddrw, @diana-shuke will be satisfied to hear that you and all others found her cover art lovely! Very useful feedback regarding bigger maps and randomised levels - that's something we will certainly bring into a more developed idea of this game :paintbrush:
@deepfreeze I am glad we managed to scratch that itch :D I absolutely agree that there is a major lack of polish in the game - that's something we're hoping to solve in the next LDJam (or GGJ) as well as by further developing this idea. :rat:
@jitspoe & @luhuchiha - Projectiles per second are my favourite too :D Yup, the game lacks a lot of "juice", I'll make sure to do my research into similar games of this genre to get some inspiration/ideas. :books:
@philstrahl, Thanks for playing and sharing your ideas and tips! I'll make sure to name the executable the same name as the game, next time :D I've played quite a bit diablo myself, but clearly not enough to notice the small things such as screen-wobble on heavy hits etc. Lot's of interesting insight from your video, seeing you play, thanks for sharing! :v:
Few thoughts while playing, most likely will echo others here:
1. Since you have pickup sounds, it makes so much more apparent, that you are missing shot/hit sounds :sweat_smile:
2. With enough `projectiles per second` upgrades bought, in my experience [this song](https://youtu.be/9J9haehfQeg?t=22) song works really well (or at least a remix/remake of it) :joy:
3. Would be nice if I could purchace my `projectiles per second` by holding down the button, rather pretending to be autoclicker :wink:
4. While huge numbers of projectiles are cool, maybe it would be worth adding some resource, like **mana**, or similar, that uses up as you attack and recharges as you run?
5. The choice to have fully top-down game is interesting, since you lose most of the charm from the 3D main character model. Maybe 3rd person camera up high in the ceiling would have been better? hard to say. My point is, you are, sadly enough, not showing off your art to the fullest.
6. It seems you are doing tooth pickup check using `OnCollisionEnter()` instead of `OnTriggerEnter()`. While it works for the pickup, it also has side-effect of registering collision in the physics engine and stopping your character for a few frames. It is more noticable as there are more teeth in one area and you are trying to walk over all of them.
- More proper solution would be to have collider for collision on tooth root prefab, and a child gameobject, that would would be set to register `OnTriggerEnter` (colliding only with character layer) with a bit bigger trigger area. (Or maybe root is the trigger and child is the collider, would have to check :sweat_smile: ) That way teeth would still be affected by gravity and wouldn't fall through the floor. And the character would first enter trigger area, where you can award points, disable physics for the main object and eventually remove it.
7. The boss rat seems to get stuck if any line from boss sides are hitting wall before character (or is this `box/spherecast`). This makes it very easy to bait along the wall, make it stop moving, and just kill it. I would suggest in such case (hitting wall first / cannot find target) also do two raycasts to the sides, to see which wall is further away, and then try moving in that direction for few frames. It would look like the boss rat is smart enough to circle the player around.
All that said, great job, especially seeing this is your first Ludum Dare. Looking forward to what you make next :thumbsup:
Also, very pleasing glow effect on the projectiles :slight_smile: