Starting a new 2d platformer with ECS

  Рет қаралды 52,099

chris biscardi

chris biscardi

Күн бұрын

Пікірлер: 43
@anonymousnyancat3231
@anonymousnyancat3231 2 жыл бұрын
Awesome work. Learned about a lot of awesome crates; I've wasted so much time rolling my own bevy asset loader for projects....
@Metruzanca
@Metruzanca Жыл бұрын
This is a great intro! Knowing that LDTK exists now is massively useful.
@chrisbiscardi
@chrisbiscardi Жыл бұрын
LDTK is great, and bevy_ecs_ldtk has been keeping up to date with every Bevy release too.
@RootsterAnon
@RootsterAnon 6 ай бұрын
@@chrisbiscardi what is more supported Tiled or LDTK? I have found some examples that use Tiled as level editor and then we create and load levels in compile time.
@chrisbiscardi
@chrisbiscardi 6 ай бұрын
@@RootsterAnon generally I consider ldtk to be better supported as there's a bevy_ecs_ldtk which is a crate that maintains an integration. There isn't really a similar crate for Tiled, although there is some example code in the bevy_ecs_tilemap repo examples to use and I am using that code myself in my current project
@valentinussofa4135
@valentinussofa4135 2 жыл бұрын
Very recommended KZbin account for rust learner. 👍
@Speykious
@Speykious 2 жыл бұрын
"[...] and I have some experience *finishing* games with the engine, not just starting them." Dude why you call me out like that ;-;
@ikaridev7419
@ikaridev7419 2 жыл бұрын
how tf does this only have 400 views!? PS. cool
@ralfwright
@ralfwright 2 жыл бұрын
Wait what. Yeah how??!?!?
@ralfwright
@ralfwright 2 жыл бұрын
Bad luck maybe??
@Thisone95
@Thisone95 2 жыл бұрын
Cool video. Also this video and your shapecasting video form a 2 video recommendation loop for me.
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
Interesting, it does for me too. Unfortunately I don't think I have control over the final recommendations after the videos end. Only the cards that appear before that. So not sure how it got into a loop! 😅 There is a playlist if you're interested in more of this project though - kzbin.info/aero/PLWtPciJ1UMuAoCq8NAw8J-n387U4QHFBW
@ivailobosev
@ivailobosev 2 жыл бұрын
Really great skills. Love your rust videos. I know you are building a platformer and not a rpg, but can you please take some time to explain a bit about mouse/controller input and specifically how to rotate character based on mouse (controller stick) position?
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
I recorded some audio on the gamepad controls today. Hoping for a thursday video release for that video
@nickgennady
@nickgennady 2 жыл бұрын
It’s all 2D vector math. Joystick would just be normalized 2D direction. The joystick is basically giving you direction already. Mouse is bit more tricky. You need to get direction from mouse to player. Something like (MousePosotion - PlayerPosition).normalized. Than just rotate sprite to look in that direction. Not sure exactly how you want to render sprite but it would just be converting vector to angle if you want to use 1 sprite for all directions. Vector to angle is basically dot product and cross product. There examples online. It may be worth looking at Godot and Unity 2D tutorial videos to learn the math.
@MonLes-xt7gc
@MonLes-xt7gc Жыл бұрын
So cool
@baggern
@baggern 2 жыл бұрын
a fellow nushell user? 🤩
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
yup! love it!
@fotisgimian4258
@fotisgimian4258 2 жыл бұрын
Honest question but how do you get by without comprehensive git completions? I love nushell too but this is keeping me in PowerShell for now 😀
@Prajwal____
@Prajwal____ 2 жыл бұрын
But where is bevy ui? Is bevy a framework?
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
Bevy currently doesn't have an editor UI built-in like godot/unity/etc. There are some community attempts to create one (such as github.com/jakobhellermann/bevy_editor_pls) but nothing official yet. It's definitely on the roadmap though. You will have to write Rust to use Bevy today
@pilotashish
@pilotashish 2 жыл бұрын
which window manager are you using in the video?
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
It's yabai on macos github.com/koekeishiya/yabai
@oykunj3630
@oykunj3630 2 жыл бұрын
Can bevy be used to make a game that runs inside a browser with a sever backend?
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
yes, Bevy has examples in the repo that compile to wasm and run in the browser and there are people who have made network-connected games that run this way.
@Phosphoros47
@Phosphoros47 2 жыл бұрын
Thanks for the video! ❤ what window manager do you use?
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
I use yabai on macos, I talk about it here: kzbin.info/www/bejne/l6GoiaCAhZqrrtk
@Phosphoros47
@Phosphoros47 2 жыл бұрын
Thank you so much!!!
@OxAA00
@OxAA00 2 жыл бұрын
Super interesting I have been working on a 2D platformer with bevy, too. I find it very hard to implement a good fsm in an ecs environment though. What are your experiences with bevy so far?
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
I like Bevy quite a bit. I think that the "ECS for everything" approach has generally panned out well for the games that I've built so far. I'm about to implement more complicated movement controls for the platformer, specifically relating to jumping/coyote time/etc so there will definitely be a video about that when it's done.
@OxAA00
@OxAA00 2 жыл бұрын
@@chrisbiscardi Cool! I was going to implement coyote time next but my experience with rust/bevy is not top notch so I currently have a very brittle state machine. Looking forward to your approach. :)
@doguguwww
@doguguwww Жыл бұрын
Awesome!!
@Kfoo-dj4md
@Kfoo-dj4md 2 жыл бұрын
You mentioned that you want to use rapier, but I see you are using heron in the source code, are you replacing it with heron? If yes, could you please explain why?
@Kfoo-dj4md
@Kfoo-dj4md 2 жыл бұрын
Nvm, just checked the library and it’s powered by rapier
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
@@Kfoo-dj4md yeah it is, but I'm also going to remove heron for a couple of reasons and switch to the official bevy_rapier plugin. Mostly because I need ccd in one of my games and also because I need to adjust gravity for better jumps halfway through the jump and heron makes that hard
@kaviisuri9997
@kaviisuri9997 2 жыл бұрын
could you create a video explaining your setup (terminal emulator, shell, code-editor etc? it looks awesome. Cool video!
@chrisbiscardi
@chrisbiscardi 2 жыл бұрын
Yeah I'll put it on my list to make
@burrowta
@burrowta 2 жыл бұрын
@@chrisbiscardi interested in this too, specifically what VS Code theme is that? Looks really clean
@spesterwecial
@spesterwecial Жыл бұрын
Chiming in wondering which tiling window manager tool you’re using 😊
@spesterwecial
@spesterwecial Жыл бұрын
Welp, then I found that answered in another thread. 🚀
@error.418
@error.418 Жыл бұрын
@@spesterwecial What was the answer? Edit: it's yabai
@burrowta
@burrowta 2 жыл бұрын
Good content but I found it hard to follow along with the dialogue whilst there was video being played back that was only slightly relevant. Maybe this format isn't for me, but it would be good if you had presented something to talk to for added context
@principleshipcoleoid8095
@principleshipcoleoid8095 Жыл бұрын
bevy_esc_ldtk examples just baffle me. I only see where they actually made the player entity grab the Sprite, why other entities have ANY sort of visibility is black magic for me.
Should you use heron or bevy rapier?
19:10
chris biscardi
Рет қаралды 11 М.
Switching Game Engines... Twice? - Devlog #7
10:55
TIMBER
Рет қаралды 87 М.
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
Spam Email Classification  Using Naive Bayes - Machine  Learning Project
23:44
12 months with the Bevy Game Engine - This Year in Bevy 2024
9:23
chris biscardi
Рет қаралды 9 М.
Rapier Physics Engine Showcase: Rust Physics Engine for Bevy
10:13
Logic Projects
Рет қаралды 17 М.
Making a Flappy Bird Game with Bevy & Rust in under 10 Minutes
10:00
LDtk - Powerful 2D Level Editor from Dead Cells Creator
12:15
Gamefromscratch
Рет қаралды 33 М.
Networking in Bevy/Rust: Bevy Renet Showcase
13:24
Logic Projects
Рет қаралды 17 М.
Bevy Engine 0.15 with Required Components, Entity Picking, and more
7:27
Unity DOTS vs Bevy - A Performance Comparison #rust #bevyengine #unity
6:00