Making an FPS game with Bevy and Rust!
Ғылым және технология
I made a First Person Shooter completely from scratch in Bevy with Rust and an ECS system!
Give video editing feedback in the comments because I've been trying a new style of editing in this video if you've noticed :).
Code: github.com/Biped-Potato/bevy_...
Join my discord!:
/ discord
Software used:
Bevy: bevyengine.org
VScode:code.visualstudio.com
Blender:www.blender.org
Adobe premiere pro: visualstudio.microsoft.com/
OBS studio: obsproject.com/
Audacity: www.audacityteam.org/
If you liked this video here are some youtubers who i like to watch and am inspired by:
Dani: / danidev
Makes entertaining and fun videos is making an fps called karlson!
Cherno: / thechernopr. .
Really good videos and tutorials about graphics programming mostly.
PolyMars: / polymars .
Enjoys learning lots of frameworks which is his main focus.
Barji: kzread.info/dron/z3l.html...
Has a lot of interesting gamedev challenges on his youtube.
Пікірлер: 61
Video editing feedback below
@FileStriker7
Жыл бұрын
I really liked that you put the effort in to add sound effects, but I think the timing is a bit off. E.g. at 0:19 the effect could come a bit earlier. At around 7:00 you added screaming in the background. For my taste it was a bit to long, and the cut off a bit odd.
@bipedpotato
Жыл бұрын
@@FileStriker7 lol I definitely keep that in mind
@blatrump
9 ай бұрын
In 2:11 there is a sound gap error, I doubt that is intentional. The music feelds randomly added, when you start explaining, because there was no background before.
@bipedpotato
9 ай бұрын
Honestly looking back at this video i do agree, the sound effects were supposed to be an attempt to increase viewer engagement but they did more harm than good in an explanationy sort of video that definitely doesn’t target a younger viewerbase.
This was great to see. Eventually I want to make a simple game in Bevy. It was also nice to see Blender. The editing was fine and your narrative was compelling. Great job!
@bipedpotato
Жыл бұрын
Thanks so much man that means a lot!
cargo fix only really does bandaid fixes. like if you have unusded variables it will only add an underscore to the start of the variable's name to tell the compiler to ignore it, when it's better to delete the variable in most cases
1:42 gamedev aside. Holy you're actually good at gridshot (look it up im too lazy to explain). I can tell you're a pro gamer
Great work man. Cool to see videos like this
Bro, the death animation is so funny. Don´t ever change it. Great video!
cool stuff dude! video editing was great although there's sort of a weird mix in your creative style between a more academic, talk-through style explanation video and an entertainment-focused showcase. like the little joke sound effects fit better for a sort of goofier showcase video but then simultaneously you've created a very linear, well-explained explanation video, almost like a school project - a chiller style I really enjoy! I think you should try to lean into one of these two styles more - either academic or silly - as a mix of the two is sort of confusing sometimes
@bipedpotato
Жыл бұрын
Thanks man yeah i should definitely find out which style is right for me.
Well done sir.
awesome stuff!
awesome!
Nicely done! I tried cloning the github project and running cargo run, but after installing the dependencies and compiling it just says "Running `target/debug/fps_game`" without showing any kind of game window?
I think you will add more suspense if you make the camera closer to the gun and tilt the gun angle CCW say 20 degrees on the horizontal
Interesting video nonetheless, but I kinda expected this to be talking through the code/journey with figuring out ECS, it didn't really feel like much of the video was about ECS/bevy/rust, they're just kinda mentioned as an easter egg
@bipedpotato
11 ай бұрын
Yeah i guess i could sort of emphasize that more but i think it might seem a bit repetitive since there is only so much we can talk about with ECS once you get into it.
I'd pay AAA prices for this one
@bipedpotato
Жыл бұрын
Lol thanks bro
This was great, but I was kind of hoping/expecting you to do a summary at the end of what your experience was like using Bevy + rust, and if you would continue to use it for other games.
@bipedpotato
9 ай бұрын
yeah i probably should have stayed more on point, thanks!
Nice work tho!
Any problems with the physics when you slide against walls, walk up stairs or walk slopes (while sliding walls)?
@bipedpotato
4 ай бұрын
physics isnt the main focus of this video so I dont really know as using one mesh for collision with a library you didn’t write is probably not a good implementation
Nice video! Certainly a great MVP for a bevy FPS game :) Can you tell us a bit on how you added the different colliders for the enemy? Is there a way to set it up through Blender so it will be turned into Rapier colliders when loading the GLTF models/ initializing the entities in Bevy? Or is this a manual step where you need to specify the dimensions etc. for each of the limbs?
@bipedpotato
Жыл бұрын
So i navigated through the bevy hierarchy and added cuboid colliders to the bone entities for the head,body,legs etc. However one thing to consuder is that i cannot find a way to procedurally move the bones without animation ovveriding them which is annoying.
Very cool, definitely subbed. I would love it if you showed some code and the experience of coding in rust+bevy.
@bipedpotato
8 ай бұрын
i was going to add the link in the description but i was too lazy so here it is and i also added it to the description for future viewers lol, github.com/Biped-Potato/bevy_fps_game
@ilaik
8 ай бұрын
@@bipedpotato i mean in the vid, you could show the code itself. A bit more technical
I really don't get how multiplayer ECS works. after a while of researching, I've only gotten vague answers with little to no detail.
Pretty damn good video, any chance you're willing to share a repo of the code base to help other learns?
@bipedpotato
8 ай бұрын
github.com/Biped-Potato/bevy_fps_game sorry for the late response but i've been pretty down lately
Lol actually goated
nice video.. ahee :3!
yoo this is sick, been looking to make an FPS myself. what resources did you use to help you make this? theres not a whole lot out there for bevy + FPS development, so some pointers would be nice!
@bipedpotato
11 ай бұрын
So i didn't really need much to do this because in my head i had always understood how a first person shooter works internally. Something that really helped was the raycasting feature in bevy rapier 3d as well as the mesh colliders you could create with some hacky programming that handled all the physics for me. I usually dont make 3d games so bevy rapier was a great help.
@blamechickenman7434
11 ай бұрын
@@bipedpotato cheers, ill look into how a first person shooter works. and of course look further into bevy rapier, only issue is the rapier code on their website is outdated. found a github repo for an fps controller so will look into that further. thanks again.
Great video, I like it! Found by Googling some Bevy FPS examples
@bipedpotato
Жыл бұрын
Thanks so much man
Is there a way you can raycast in bevy?
@bipedpotato
9 ай бұрын
Use bevy rapier or bevy mod picking
@IamPyu-v
9 ай бұрын
@@bipedpotato thanks!
will you release the source code for the game?
@bipedpotato
Жыл бұрын
Prob not
cool video! it would be great if you could post a github link to the code, im working on an fps game myself and I'd love to look and see if I could learn any new tricks!
@bipedpotato
Жыл бұрын
So the code in this video is very unconventional and i wouldn’t recommend implementing it the way i did. I think that the concepts are relatively simple though and should be easy to implement in a more conventionally correct way by yourself.
@williamine
Жыл бұрын
@@bipedpotato thats fair. I'm super new to game development and I wanted to try my hand at a simple little fps trainer to start off with but since im super inexperienced with game development as well as bevy I've been having a little trouble wrapping my head around some concepts (adding a viewmodel into the main scene and rendering it on top of the world is a little confusing to me). since there are (as far as I can tell) quite literally 0 FPS examples to poke around at, I'd love to take a look at what you've done to solve some of the problems I'm facing and just to get a bit of a better understanding of how someone else would develop 3d games in bevy. if it's a total mess and not something you want associated with you publicly I totally understand, just figured it would be worth a shot :p
@nickhagen2006
Жыл бұрын
@@williamine hey, im somewhat familiar with game development, but im kinda new to Rust, been doing the impossible by building a online shooter in autoit ( lol yeah what a waste), im writing rust for some weeks now, just finished my first project, ( runtime interpreter for custom object-based-script syntax) wich be perfect for game modding etcand im looking to link them all to a game engine, but who knows some team mates to work with could be cool. you should be able to checkout my game on my channel , ( just saying its all coded even the models so it aint much for graphics lol no tools) Anyways if you like to get in touch hit me up ! cheers !
great video I would say add some background music. A lot of devlog channels have background music to give it a vibe. Dani and PolyMars have background music.
@bipedpotato
Жыл бұрын
Yeah i used to use music but people said it was better without whicch might just be because it was too loud. Maybe ill add quieter background music in future videos.
awesome video, but please stop throwing in random sounds, it's extremely annoying
@sagizm0nd
7 ай бұрын
*bop* *bip* *notification sound*
give it recoil bro 😂
@bipedpotato
4 ай бұрын
Maybe
Almost everyone know how to use blender, where you learned it? Can you estimate your blender skill from 0 to 10.
@bipedpotato
Жыл бұрын
Probably 4 im really not very good at it because i dont mainly 3d model
@bipedpotato
Жыл бұрын
I learned it from watching yt