Play game
Cavernivores's itch.io pageResults
Criteria | Rank | Score* | Raw Score |
Fun | #7 | 4.105 | 4.105 |
Controls | #18 | 3.500 | 3.500 |
Audio | #21 | 3.395 | 3.395 |
Overall | #25 | 3.583 | 3.583 |
Graphics | #26 | 3.658 | 3.658 |
Originality | #43 | 3.447 | 3.447 |
Theme | #46 | 3.395 | 3.395 |
Ranked from 38 ratings. Score is adjusted from raw score by the median number of ratings per game in the jam.
Godot Version
Godot 3.2
Source
no
Game Description
A prelude of the wars between humans (human race) and cavernivores (humanoids settling underground) - Desperately hope someone other than me is able to beat this game! You are strongly advised to download offline version to play for the sake of performance.
Discord Username
Vanson (Hong Kong 香港🇭🇰) #8364
Participation Level (GWJ)
This is my first time participating in the Godot Wild Jam
Jam Time
This is my first game jam
Leave a comment
Log in with itch.io to leave a comment.
Comments
Damn, a 3D game with AI, procedural levels, a boss and a online Highscore? You did amazing for your first game jam!
If you want to continue this game or make a similar one in the future, I think you could improve the controls by allowing to aim with the mouse or with the arrow keys. It's not bad per se to aim with the same movement keys, but in this type of game having the abilty to move and shoot/attack in separate directions allows for more and better options for the player, you can balance it if you want by reducing the speed while shooting/attacking or moving backwards
Thanks for your support!
Your suggestion are all valid and I will definitely work into it in the near future!
Here is the storyline of this game as a prelude:
There were a intelligent humanoid race created out of human biological test curiosity. They fluorished, until human race decided to pick up the fight over the Earth stagnant resources, and they lost unprepared over human armed with tactical nukes. The remaining humanoids scattered under the Earth crust, relying on the geothermal energy and other animals living next to lava, to live. They built cavern mazes for the sake of defending against human attacks. Some traits of humanoid families were on the other hand manipulated by humans and loyal to human forces. They fuel suicidal covert ops mission with their own manpower due to their personal strength and agility advantages. They are notoriously recognized as genocidal Cavernivores.
This prelude describes you as a brainwashed protagonist assigned to storm a cave of humanoid slaves, attempting to stop a potential revolt.
Mouse aiming / Mobile touch joystick aiming / XBox Joypad stick aiming, sounds very great! Hit-and-run mechanism was also initially a skill I wished to add as a Sword Upgrade and pretty much the rest of the weapons (double sword skill is actually a workaround) Then I need to revamp my animation logic by AnimationTree (otherwise I cannot separate body and leg animations) but I don't have time to do for the jam yet. :D
That was really great. The game has multiple weapons, health/ammo pickups, differing enemies, sounds for every interaction. It feels like a complete, polished game!
Thanks for your support!
I just successfully fixed its highscore system! When you beat the game, your heroic name shall appear at the highscore board - ranking by how quickly you defeat the boss!
In an actual Roguelike perspective, the game was far from being complete:
- Much treasure hunting needs to be added, but in my game there are only Golden aura pickups available
- Much more enemy varieties need to be added -> bats, dragons, soldiers with actual armor equipments
- Even weapons should be more extensive -> how about a family of guns , pistols, SMGs, rifles, snipers, bombs - and how about picking up a whip as well as swords - make it feel more like Indiana Jones
- Different runtime character states like: Stunned, Poisoned, Sleepy, etc.
- Corridor traps!
First off, I want to congratulate you on what you have done during this jam. It’s really impressive what you have done in that time frame, especially alone.
Now I would like to add my feedback to everyone else’s as I beat the game on my third attempt. I found out there is not much reason to fight anything but the boss. Really all I did was run around in each level, explore it fully to make sure I didn’t miss anything and then leave through the portal. I didn’t fight anything before the last level. There was simply no point to it. I didn’t need to kill them for ammo as the yellow loot gave plenty of it (and there are smaller enemies during the last level for emergency ammo) nor for health pack as I could usually dodge them easily.
I don’t know if it was due to me playing in the browser (though I did not feel any lag nor freeze) but the AI looked a bit “slow”. As in the enemies would often keep running past me if I sidestepped them. This is probably the main reason why I could ignore everything, I only had to move on the other side of the corridors to not be bothered (albeit I did get blocked and almost surrounded a few times).
I think that would be my only critic: there is a way to take the fun out of the game (ignoring everything until the boss) that feels quite competitive (less risk for pretty much the same reward). I believe the scoreboard very much reflects that as well. The higher score are ranked after the lower score because of the time. The more score you have, the more you killed and the more time you had to spend.
I can’t say I have a good solution though. The easier fix I can think off is making the AI react sooner which would slow down the game (and I believe I read there were performance issues).
Edit: Okay that was a huge wall of text. Didn’t realize that sooner so I’d like to repeat that your game is very much impressive and well done, especially for a game jam. My comment is indeed on the longer end and mainly focused on the one negative aspect I found (or at least what I would consider as a negative aspect) but it really does not mean I think your game is bad, far from it. From your game’s form it appears this is your first jam as well, all the more reason to be proud of what you have accomplished.
Thanks for your support!
Yes you're right! The enemies AI feeing a bit slow is both my intention and a workaround. The AI sensitivity in fact represented by how frequently an enemy updates its path to the player by running A* pathfinding. If enemies always run the A* pathfinding, then the enemies will always stick to the player without any rest. That'd be a real difficult mode.
But the main reason is that the NavMesh A* pathfinding is a CPU killer and I didn't know of any way to optimize. The larger the map is generated x more enemies on map, the more likely the game is going to get laggy. Thus I did 3 things:
- Make map generation smaller in room / corridor sizes
- Make AI pathfinding less frequent
- But I am able to discriminate different AI's reaction time (green guys react slower, red guys / boss react still fast enough to catch up with the player) Attempt to keep the boss intelligent enough.
Also If playing in browser feels laggy - maybe download offline version and try again - usually performs better!
Oh wait - you mean - you are able to beat the boss with like 2-3 tries? Man that's awesome! You're a legend! You've nailed it. In order to optimize the defeating time as well as conserving precious hitpoints, one should skip unnecessary fights as demonstrated in my walkthrough video.
And there's one roguelike thing I have missed putting in - the presence of corridor traps, spikes, rope plants, poisonous mushrooms, speed mushrooms, locked exits, teleportations, sentry cannons - which should be able to enforce speedrunning players into some battles - prevent players to run freely while allowing 3rd-party methods to execute the enemies. This would preserve some fun for pro players.
A a big con for Roguelike games is there's no way to conclude the officially fastest speedrunning time other than by luck - the same applies to Minesweeper speedrunning. My solution is to hold time-limited competition events with Fixed Seed Numbers so I have Fixed Proc Gen Maps for fair judgement
Now that you mention it, it’s true I have mainly seen the green guys seem lost. Having different reactions times depending on the enemy’s difficulty level is quite interesting.
Now I have heard of an idea that might be useful to you for the pathfinding (though I never tried it myself in Godot so I don’t know how practical it is here) but there is that idea where you cut the map into a “metamap” representing the various corridors and their connections in the map (if that speaks to you, imagine a graph where each corridor is a node while the arcs between the nodes are the connections between the corridors. Then you’d have to run A* on the main graph to know what is the next node you should go and compute your precise destination with A* in that node.
I don’t know if I’m clear enough in my explanations. Trying to reformulate:
I believe this mainly helps with long distance computations of A* which might apply to your game. Again, I don’t really know what impact on the performances this really would have but that may be worth a shot.
As for your trap idea, I reckon that probably should be a good solution to stop people from ignoring everything like me. If you have to stop for traps, you can easily get closed in by the following AI and thus have to fight at least a bit.
All in all, maybe I will try to download the game to see if I feel any difference from playing in browser. And maybe check if I can beat my score as well. Although I have to say, I got a bit lucky in finding a good strategy during my first try (I tried fighting during the first two floors but then tried to see as much of the game as I could so I ignored the AI and explored every floor). Doing that again when knowing the controls better as well as what to expect from the game made winning way easier.
Apparently I cannot write anything without making a wall of text currently, sorry about that. Especially considering I could probably sum everything up in three or four sentences instead of making ten paragraphs every time.
I love the rougelike element of it with random upgrades! It goes smoothly from stage to stage while rising in difficuly. Seeing the arrow uppgrades decimate an army in one shot is so satisfying. Awesome job!
Thanks for your support!
I just successfully fixed its highscore system! When you beat the game, your heroic name shall appear at the highscore board - ranking by how quickly you defeat the boss!
This game has such a completed feel to it! I have so many questions and things I want to ask, but I see that you have given such detailed comments below, that I need to study those first.
Solid gameplay! Loved the procedural generation, and I wish you all the best in finding a way to hide the "next level portal" somehow better. Still, to be honest, I really liked being able to cheat my way through some floors :D
Well done!
Thanks for your support!
Feel free to ask me when feeling difficulty beating my game! So far only 1 friend and me have beaten this game. Will you be the 3rd hero? spoilers: 8 floors total
Although the exit spawn bug was never my intention, I must mention this inspiration of my game:
https://www.newgrounds.com/portal/view/690180
Our games share the same issue - the exits may spawn just 2 squares next to my starting point 😂 thus allowing me to break my speedrun records - unlocking more Newgrounds badges
I loved it <3 tbh I can't stop playing it :D super addicting
Thanks for your support!
If you are able to defeat the boss, your heroic name may appear on the highscore, ranking by how quickly you finish the game!
But there might be a bug while submitting high scores to my server. In that case, remember to take me a screenshot, then I will help you enter the name into server!
If you feel desperate defeating it, look at the below comments to discover any walkthrough / spoiler!
wow will do :)
This is really well done, especially for a solo jam game.
The graphics were really good. I loved all the animations, everything looked so smooth. The controls were good, although at some points I wished there was a way to aim more precisely.
The audio was the only thing that bugged me. It sounds a little muffled, and the background music didn't repeat seamlessly (there's about a half-second delay before it starts again).
All in all, really great effort!
Thanks for your support!
About the audio muffling - it might be caused by the game performance hit spike during enemy respawnings and NavMesh pathfindings tasks. You might wish to download & play offline version, performance will get better than browser play.
I may make the player able to shoot wherever he points to, that way the game will still be compatible with desktop/console/mobile envs, hopefully support 360 degree joystick to allow fine grained shoot aiming, and the game becomes more playable!
Really fun game, you really accomplished a lot in just one jam. The combat felt nice and responsive, except aiming with the gun and bow was pretty stilted, it would have been nice to have the aiming seperate from the movement.
Thanks for your support!
The movement and aiming control is actually one of my biggest concerns, I spent so much time on it still not getting it executed correctly, you hit the pain point!
I may make the player able to shoot wherever he points to, that way the game will still be compatible with desktop/console/mobile envs, hopefully support 360 degree joystick to allow fine grained shoot aiming, and the game becomes more playable!
On the other hand, I may rather start investigating how to replace the current animation system with AnimationTree support - thus creating some Hit and Run ninja style attacks!
Good hit feedback, nice that you can hit several opponents with the sword to get the most out of it.
Sometimes it's a bit hard to know if you will hit enemies in close combat and you're a master of hitting the air.
Had fun playing a really nice game
Thanks for your support!
I intend to make the hit feedback as strong as possible. In order to know if the hitting is valid I could think of a few ways below:
- add tint blinking effects to the body who got hit
- show HP bar for enemies who got hit
- may even popup damage numbers dealt on top of every hit
Nice game! The gameplay is quite fun and the artstyle is pretty cool imo! I was playing on the downloaded windows version and had some performance snags whenever an enemy spawned. I'm including an error log in case it helps!
Thanks for your support!
It seems it’s due to the performance spike when creating new enemy Actor instance - quite a lot of resources are being loaded; Thanks so much for your error report! I have just got my Parallels VM set up for testing in Windows environment. Will update you when I have any more findings!
Really nailed the sounds when hitting enemies, gives the right amount of satisfaction hahaha!!!! I found that controls are somewhat rough especially when surrounded by multiple foes, but I found it really fun!
Congratulations :)
Thanks for your support!
Totally agree with you. That applies to my gameplay as well. When I was surrounded, I find it hard seeing my body so pretty much gave up resisting. This is not a design intention rather like a design flaw I could foresee since game development starts. I could think of a few ways to improve the situation:
- increase player’s capsule physics collided radius by a little bit
- add new skills for player to push back the enemies / sweep clear
- add new skills for player to immediately retreat to another spawning point of the map / go back up floors
- allow zooming in the camera when surrounded
Super swish. Feels great, looks great and I love that it keeps high scores! :) The shiny look to all the characters is an odd touch that lends well to the general aesthetic.
Thanks for your support!
If you fortunately beat this game, the game may upload your highscore to my server. But there might be some bug - if that is the case, don't hesitate to take me a screenshot - and I will help you mark your heroic highscore.
The shiny look is I set Specular => Toon to all SpatialMaterial and set Roughness >>> 0 , to obtain shiny hairs :D
That was amazing! The combat is really fun, though it's hard to make small adjustments to your alignment, but that also makes it a bit more challenging so it's not that bad.
Are the maps procedurally generated? They're really cool. All in all a genuinely enjoyable game and one of the best of this jam.
Thanks for your support!
Agree to you, actually I have made 2 separate days tuning the character movement logic in order to improve the alignment (I mainly refer to Animal Crossing : New Horizons) but IMO the result is still not the best for an action-packed game. If I add joystick support then it might allow 360 degree movement then can aim all the directions. Wouldn't that be awesome to shoot SMGs while fine tuning shooting angles like sweeping over the grounds?
I even intended to add 1 more sword skill upgrade to act more like a ninja - Hit and Run simultaneously - but in order to do that I have to replace my Animation logic with AnimationTree which I know nothing of yet.
Yes, the maps are procedurally generated! Still finding ways to improve NavMesh A* pathfinding performance though. (CPU killer)
I enjoyed the animation of the characters and, in my opinion, you nailed the juice for the feeling of shooting/hitting the enemies and killing them. My only complaint is that in some cases I managed to go through a floor very quickly without killing anyone, just finding the "end-level teleport" in the second room after the start. Really good job anyway!
Thanks for your support!
Yes, making powerful hitting effects gives me pleasure. Tried my best to make the animation feel like The Matrix fights! May add some more unlockable special skills / tetsu like - rolling, skipping, grabbing, etc.
Purple aura spawning just nearby starting point is never my intention, rather like a bug here. Need to find some way to fix this e.g. prevent any special spawns to be too near the starting pt.
Those kind of skills would make the fights much more interesting, great idea! You could also opt to add a minimap or something like that, to help with the levels navigation.
ah, mini maps with fogs of war , yes I should be able to include this! Thanks it’s a very good idea for roguelike!
I played this more then I think I should have... LOL
It's really fun and challenging, I watched your walk-through and learned how good the bow upgrade is at taking out rows of enemies so I gave that a good 5-8 tries... I lost track... Well I gave it one good last try... for now... I may come back. But after kiting the boss around for like 15 minutes I was taken out by a green guys arrow... :(
Wow thanks for your support! So many tries you have taken! Hope you enjoyed. When you have beaten the boss sometime remember to take me a screenshot. I will help you post ur heroic name on the highscore leaderboard - ranking by how quick you defeat the boss.
IMPORTANT NOTES: There seems to be a bug in which after defeating the boss (STAGE 8 PINK LADY), your name is not recorded on the Highscore. So whenever you beat the game, don't bother to take a screenshot and send to me! Then I will help you add your highscore on the server just in case. Thanks!
MORE IMPORTANT NOTES: Because I cannot reproduce this bug, I don't know how to fix it.
Wow, this is much improved since I playtested it during the jam! I really dig it. The variety of weapons is interesting and fun. The sound and music are good. I like the narrative bits that come in on each floor. This is pretty impressive!
The only thing is that there is a pretty drastic difficulty spike once the new enemy types start coming in, and I'm not sure how to play "better" in order to defeat them. It was a lot of shot, dodge, shot, retreat.
In any case, congrats on finishing! Every game is a miracle. :-)
Wow thanks for your support! I agree with you, even I cannot complete the game every time. I have posted a walkthrough on the bottom of the page.
I have originally planned to have various enemies that will allow me to elaborate more on the storyline and make the difficulty not drastically spike:
- bats << weak, unarmed (Modelled, Rigged, Animated, but not textured)
- zombies << weak, unarmed (Modelled, Rigged, Animated, but not textured)
- dragons << strong, big size, unarmed / claw attack (Modelled, Rigged, Animated, but not textured)
- scientist << weak, melee attack / electro-baton
- riot guards << strong hp, ranged attack, guarded with helmet (50% damage dodge)
- soldiers with shield << medium hp, melee or ranged attack, automatically blocks every attack in front of his shield (10% bullet reflection back to the shooter)
- giant soldiers << heavy hp, big size (mutated) heavily guarded with shield (10% bullet reflection back to the shooter), unarmed attack, able to dash, able to grab victims
- Antagonist #1 (Capino) << strong hp, ranged only, sniper, very fast movement, cowardish, his name is merely mentioned when you clear the boss stage of this game jam edition.
IMPORTANT HINTS:
- By killing unarmed enemies you will be able to obtain First Aids
- By killing stronger unarmed enemies you will be able to obtain First Aids with a better supply!
- Same logic applies to other weapon item supply.
- Instead of rushing to the Purple aura, remember to search for Golden upgrades that will start appearing over Stage 3 ~ 7. Otherwise beating the boss would be almost impossible.
GOLDEN UPGRADE SPOILERS:
- Sword upgrade: Enable double swords, allow securing Green / Orange enemy kills quickly
- Bow upgrade: Enable arrow to pass through enemies, inflicting anyone in range (first three victims share more damage), allow killing massive enemy queue / Green / Orange enemies behind Boss / Red enemies
- Steyr AUG upgrade: Doubles the shooting speed, allow pinpointing Boss / Red enemies to inflict massive damage quickly
- Golden First Aid: Recovers you 1/3 health and grants you 1.5x movement speed * 1.5x unarmed punching speed
The animations are great. The game was lagging so much during fights. The 8 direction controls made the figthing harder, but overall the game was good.
Thanks for your support!
playing by downloading offline version may perform better than browser play
the performance issue catch is believed to be due to:
1. the physical ragdoll death effects that makes the game laggy, more lags when more enemies die at the same time -> performance hit
2. the bigger the map has been generated, the longer A* paths generated for every enemy -> performance hit
in order to fix the above 2, the game should:
1. allow users to toggle physical ragdoll death effects in a settings page. When physical ragdoll death effects are off, the dead bodies play their pre-defined death animations.
2. investigate how to treat A* path vector as grid units (thus decreasing calculation burden) there is actually a tutorial I remembered bundled with Godot that accomplishes Grid-based A* pathfinding.
If I am able to fix (1) and (2) , I can then literally double the map generation size (i.e. 10-20 rooms) and concurrent enemy count (I.e. a swarm of 20-30 enemy crowd would still be CPU-friendly).
Thanks!
if u are able to beat this game , ur name will appear at the title screen online highscore board!
I've been following the progress of your game during the jam, it has been fun to watch, now it is fun to play ! Although i'm totally unable to finish it, uh.
Thanks for your support!
in order to beat this u need weapon upgrades.
There are secret weapon upgrades scattered on the map since between Stage 3 ~ Stage 7
I am uploading my walkthrough to Youtube
Walkthrough (WARNING : SPOILERS):
Thinking off - I should tweak:
1. Add 3 difficulty levels
2. Show enemy hitpoints bar
3. Show instructions about those colored auras
Then the game will be having a clearer instructions more beatable.