Bevy Hunter
- 4 Devlogs
- 11 Total hours
a top down shooter, that can load thousands of birds
a top down shooter, that can load thousands of birds
I now have a name for the shooter: Bevy Hunter (because of the engine), yk
But at this point I would call it more an experiment rather than an game.
The biggest change is:
The birds are spawned on a random position in a circle around the player.
To show of the performance of bevy I added a max bird counter and you can adjust the counter with the scroll wheel. Like the name says, you can adjust how much birds are rendered.
And I also added some small things like
With that setup I get like 500 FPS without birds and 40 - 80 FPS with 100k birds. But it is also depends on the zoom.
You can see that in the video.
I think there will eventually some small changes. But I’m happy with my current game
Finally there are enemies!
But here is everything I did:
I thought of a good theme for the game and now the enemies are birds (because of bevy, yk) and you are the hunter. And it isn’t top down anymore and the gun follows the mouse and not the player.
I deleted the old map and just changed the background color. It is just cooler I think.
You can zoom out. That’s important for later when there are more enemies
I removed the complete collision system rapier2d. It is just to heavy for the enemy and bullet collision and I don’t have walls anymore
There logic is very simple. The code just searches the direction to the player and then it goes in that direction.
I saw others do it not with distance_squared() but with distance() but that squares roots of a number and thats to heavy.
Without it, I can spawn more enemies.
In the video you can see the enemy counter in the left bottom corner, btw.
Ok that was everything, I think.
Bye Twin!
2nd Devlog and I understand Bevy halfway.
And I have 20 Tabs opened with some examples.
Here are all changes:
At first I was on the newest version of Bevy (0.20) but there is no event system and less tutorials than on bevy 0.15 so I just use the older version.
There are just placeholders from kenney.nl but they work fine.
I wanted a movement like in SAS: Zombie Assault (an old flash game). That means you move with WASD and aim with the mouse.
And you can also already shoot with left mouse button. For that I used the bevy event system. That means when I press left mouse button it sends an event and if that event sends it shoots.
That sounds way to over complicated but it is important for weapon switching later.
I also tried a weapon switch system.
I made Walls with rapier2D.
It was at first a bit complicated because every objects need an rigidbody and in Godot only Physics objects needed that and to control the player I must control a KinematicCharacterController instead of the transform but idk why.
The camera is a bit slower than the player and that looks cool
I want to build a top down shooter in bevy.
Now you maybe ask:
Bevy is a game engine build in rust without a gui.
Now you think:
Bevy has an ECS (Entity Component System), that allows you to spawn 200k enemies without lags.
And I think it looks hard to code (and it is hard)
My current progress is a moving rectangle.
Ok bye Twin!