CarNivore by Cpt Slimers
CarNivore is a submission for Ludum Dare 41. Grow and evolve your car to become the apex predator!
| Windows | https://cpt-slimers.itch.io/car-nivore |
| macOS | https://cpt-slimers.itch.io/car-nivore |
| Linux | https://cpt-slimers.itch.io/car-nivore |
| Original URL | https://ldjam.com/events/ludum-dare/41/carnivore |
Ratings
| Overall | 1087th | 2.816⭐ | 21🧑⚖️ |
| Fun | 1055th | 2.684⭐ | 21🧑⚖️ |
| Innovation | 965th | 2.868⭐ | 21🧑⚖️ |
| Theme | 896th | 3.132⭐ | 21🧑⚖️ |
| Graphics | 1068th | 2.184⭐ | 21🧑⚖️ |
| Humor | 672th | 2.735⭐ | 19🧑⚖️ |
| Mood | 1044th | 2.588⭐ | 19🧑⚖️ |
| Given | 28🗳️ | 2🗨️ |
Beyond that, I think this game would greatly benefit from zooming the camera out based on player speed. Like Sonic The Hedgehog, a major complaint was that because you were going so fast, you couldn't see what was ahead of you and would hit obstacles. This was helped in later games(Sonic Mania) by moving the camera so it was easier to spot obstacles coming, In this same kind of effort, it would help if as I got faster I could see more of the level so have a better Idea of where I was going. Either with a manual camera zoom or an automatic one like this:
```
//Here's an example of how I'd do a camera zoom based on speed
float defaultOrthoSize = 5;
float orthoMaxIncrease = 10;//defaultOrthoSize + orthoMaxIncrease is the max zoom
float forwardVelocity = 0;//This is the current velocity
float maxForwardVelocity = 10;//This is the max velocity
float targetOrthoSize = 0;//this is added to the defaultOrthoSize, should be a range from 0 to orthoMaxIncrease
//This is used to scale the speed at which the camera zooms
//don't make this too high or crashing into a wall will make the camera zoom in super fast.
//Basically at a speed of 1, when crashing into a wall and going from max Velocity to 0
//The camera will take 1 second to zoom back to defaultOrthoSize
//Making this 2 would make it take 0.5 seconds
//And making this 0.5f would make it take 2 seconds.
float zoomSpeed = 1;
void Update(){
// Some logic that updates the forwardVelocity would go here
//how close to max speed are they going?
//Clamped so that we don't over zoom
float percentageOfMaxSpeed = Mathf.Clamp((forwardVelocity/maxForwardVelocity),0,1);
//Determine how much over defaultOrthoSize we're zooming out based on the percentOfMaxSpeed
targetOrthoSize = defaultOrthoSize + (percentageOfMaxSpeed*orthoMaxIncrease);
//Smoothly scale the zoom to match the target scale.
Camera.main.orthographicSize = Mathf.MoveTowards(Camera.main.orthographicSize, targetOrthoSize, zoomSpeed * Time.deltaTime);
}
//In theory this works but try it out and see how it feels.
```
Hopefully this helps!
Some kind of indicator for the nest would be awesome. Is really easy to get lost with all the map spinning.
Keep on!