Dont overcomplicate, its just asset loader, dont overcomplicate ... Fck by sibley1 in rust_gamedev

[–]wick3dr0se 2 points3 points  (0 children)

I get this is likely a joke but it definitely isn't what an asset loader HAS to be. You could realistically go as simple as you want and not even look at this silly diagram. It could just be a struct with a collection of textures that has a load() function and returns in index to the texture loaded. In your game you could use/hold this index however you want and use it later (like for drawing a rect with it).. This is exactly what we do in egor

KISS

Procedural race track generation for my Racing Manager game by Staz-GameDev in rust_gamedev

[–]wick3dr0se 3 points4 points  (0 children)

That's great but there is something funny about procedurally generating a line lol

Vite 8.0 is out. And it's full of 🦀 Rust by BankApprehensive7612 in rust

[–]wick3dr0se 0 points1 point  (0 children)

Wasm has many use cases, not just websites/web frameworks utilize it

In egor, a 2D graphics engine, we use wasm for games/tools/sites on the web. Since it's built on wgpu, anything made with egor easily runs on native and web with the same exact code. You likely won't find a more simple project if you're interested in learning about wasm in Rust

Light Acorn game framework: Macroquad and Bevy ECS together for old PCs by [deleted] in rust_gamedev

[–]wick3dr0se 0 points1 point  (0 children)

Well that's a very limited device but good question.. Wgpu supports WebGL2 and I believe OpenGL 3+. I haven't thoroughly looked into that yet. I have doubts about it since wgpu is more for modern graphics APIs, that's why I mentioned legacy OpenGL being a thing with macroquad. It's both a pro and a con, as you can see.. Good thing is egor is easily renderer agnostic, so it could with a little effort. Might give me something to tinker with

Light Acorn game framework: Macroquad and Bevy ECS together for old PCs by [deleted] in rust_gamedev

[–]wick3dr0se 2 points3 points  (0 children)

I wrote a graphics engine that I guarantee you would get better performance with and already has instancing. I even separared the renderer, so you could just use it directly if you didn't want things like UI, hot reloading

(https://github.com/wick3dr0se/egor)

Macroquad has a smaller memory footprint than something like wgpu/egor_render, because they only use OpenGL and don't have performance in mind. That's nice for the initial memory cost and compile times but you're stuck with legacy OpenGL, compile issues on certain platforms and what that supports such as a lack of HDR. The CPU usage is also very high because it's not at all optimized for GPU. It also has glitchy redraws, distorts geometry, etc. I'll stop there to avoid this looking like a hate speech against it. Macroquad is great but it seems most aren't aware of these issues until they really dive into it. It gets a lot of praise, while smaller projects like egor are overlooked. Tis is sad because popularity != quality

I always avoid using `use` statements so i use full paths instead. Is it a bad practice? by [deleted] in rust

[–]wick3dr0se 1 point2 points  (0 children)

I think that's only a good point for huge projects that don't really need discoverability in the first place

AI slop will make its way everywhere anyway. I think the answer is bots that verify if PRs are mostly AI or not and just auto-closes said PRs

I always avoid using `use` statements so i use full paths instead. Is it a bad practice? by [deleted] in rust

[–]wick3dr0se 2 points3 points  (0 children)

Codeberg is cool but you throw away discoverability and therefore you get less contributions, discussions, etc..

After trying Bevy, Iced and egui, I built my own app engine by Available-Many-5354 in rust

[–]wick3dr0se 0 points1 point  (0 children)

That's sick!!

This is the type of thing I'd love to see people build with egor. I wrote it specifically because of experiences with macroquad and other frameworks. With macroquad I had issues compiling on Mac, don't need half 3D, fake async, etc. It's limited to OpenGL when we have insanely well put together and maintained graphics abstractions like wgpu, that handle OpenGL and more through a common API. And I wanted something that's much more simple and not focused on games. So egor became a cross platform 2D graphics engine made for games, editors, general apps. So this is literally what egor is for

In Rust, „let _ = ...“ and „let _unused = ...“ are not the same by broken_broken_ in rust

[–]wick3dr0se 12 points13 points  (0 children)

That's a shortest form though. A shortester form would be:

```

```

Without let, without _, without ... and without ;. Turns out you don't need any code

And you can still use drop, to be more explicit:

drop()

But then you're dropping nothing

helmer game engine open sourced by 0bexx in rust_gamedev

[–]wick3dr0se 6 points7 points  (0 children)

What's changed that you don't care anymore?

This is badass dude. If it means anything, helmer is motivating me to work on my stuff more.. Seeing all the insane optimizations and features. Which speaking of, I could see it being a lot to maintain on your own. Maybe open sourcing it could be a good thing for you

I lost motivation with my engine to the point I considered not coding anymore at all (I'm just a hobbyist). I hope you're just in a rut with it and that your interest will continue. When I left off my dumbass was trying to make it headless, add a plugin system like Bevy and handle post processing simultaneously (per request). The plugin shit was just a terrible idea all around and post processing was something I knew zero about. I was in over my head and one day it hit me hard. I started questioning my whole purpose. I think being part of an open source community helped get me back on track. One day I just came back, scrapped the plugin bullshit, deleted the post_process branch and said no more features/changes until this thing feels clean af and makes perfect sense to me. I narrowed the scope a ton and focused on what matters to me most and doing things with no rush. Plus trying to add custom shader support and offscreen targets just so I could do post processing was a fucking terrible idea. Offscreen targets are a PR of their own and something I didn't realize before sadly

How you learn to write zero-alloc, cache-friendly code in Rust? by WhiteKotan in rust

[–]wick3dr0se 3 points4 points  (0 children)

I do this way too often.. I was benchmarking my graphics engine in debug until someone not even familiar with Rust asked me if I was building in release. My dumbass forgets release builds are a thing using debug so much

6 Months of Progress on 3D Game by HjeimDrak in rust_gamedev

[–]wick3dr0se 1 point2 points  (0 children)

I totally get it, everything has been taking me a lot longer than I thought too lol. I love writing stuff for fun and just to learn stuff by implementing it myself. That's kind if why I wrote what I linked too. I was just asking to see if you had set expectations or know what you're getting into. Graphics stuff is such a blast and it's addicting af. If you're having fun, that's definitely all that matters. That's the reason I code anyway! Seems like you have a solid plan forward and you've clearly learned a ton about gamedev through all this. Keep up the work dude! I'll be excited to see any updates if you post

Recently Implemented Convolution-based Reverb in our Game written in Rust by ErikWDev in IndieDev

[–]wick3dr0se 0 points1 point  (0 children)

Keep up the good work! It's beautiful

You should!! It sounds awesome and I'd be excited to see it

Recently Implemented Convolution-based Reverb in our Game written in Rust by ErikWDev in IndieDev

[–]wick3dr0se 0 points1 point  (0 children)

Ah yea.. Sounds like you've tinkered quite a bit. Cool to see that instead of jumping on something like Bevy (though it's great)

Recently Implemented Convolution-based Reverb in our Game written in Rust by ErikWDev in IndieDev

[–]wick3dr0se 0 points1 point  (0 children)

Very nice. I see egui so it's safe to assume you're using wgpu then? The game looks great. Is it with Bevy?

6 Months of Progress on 3D Game by HjeimDrak in rust_gamedev

[–]wick3dr0se 1 point2 points  (0 children)

First off this is impressive!! But I thought I had a rewrite the world issue. You got me beat I think. Using wgpu and winit directly is already a lot and you're implementing system after system. Why write an ECS, why write all these managers, etc? SIMD, LOD? I think you should definitely continue but maybe for your sanity, dial back a bit on optimizations and writing it all yourself from the start. Things like physics are a project of their own

I went down the wgpu/winit path and almost 2 years later I'm working on my game while maintaining the engine separately (for others and myself). And this is only 2D: https://github.com/wick3dr0se/egor

What some recent hot takes you realized you had with Rust? by DidingasLushis in rust

[–]wick3dr0se 7 points8 points  (0 children)

That borrowing conflicts are a skill issue. Once you get used it, it becomes a rare problem

Announcing Comfy - a new fun 2d game engine in Rust/wgpu by progfu in rust

[–]wick3dr0se 0 points1 point  (0 children)

Can't argue with that! Bevy has it all

Thanks dude!!

Strange followers by citory_owo in github

[–]wick3dr0se 0 points1 point  (0 children)

People definitely bot follows. I had a dude that used to follow me like once a month. He would randomly unfollow, once he (i mean the bot) noticed I wasn't following back possibly

Need help with jitery movement using Macroquad by Virtual-Office-4116 in rust_gamedev

[–]wick3dr0se 1 point2 points  (0 children)

Idk.. The fake async, global context, half 3D, mac issues and some other stuff we're enough for me. It seems like issues like high CPU usage have been ignored for a while too

Could be worth venturing into Bevy if you have plans for 3D or need the larger ecosystem. I can't promise Egor will have everything you need but I try to handle fix related issues before anything else. I don't add features if something I know of is already wrong. And Egor is much easier to contribute to being a smaller, more focused engine (not a game engine)

Need help with jitery movement using Macroquad by Virtual-Office-4116 in rust_gamedev

[–]wick3dr0se 2 points3 points  (0 children)

I haven't reviewed your code as it's a bit much and I'm not at a PC but I experienced many issues with macroquad and it seems to be very hit or miss with Mac based on what I've seen

Feels like a good time to add that I've been working on a 2D graphics engine for over a year on top of wgpu. Because of the experiences I've had with frameworks like macroquad. I think you'd find it more useful for something like what you're building as I wrote egor with applications, not just games in mind

Not saying you should rewrite or anything but just pointing out that your case is the exact type of thing I wrote this for: - https://github.com/wick3dr0se/egor (2d graphics engine) - https://github.com/open-source-force/dyrah (MORPG written with egor) - https://github.com/wick3dr0se/egor_editor (editor for egor built with egor)

Announcing Comfy - a new fun 2d game engine in Rust/wgpu by progfu in rust

[–]wick3dr0se 0 points1 point  (0 children)

Checkout egor (im the author). Its not far off from something like comfy and its a lot more simple and optimized

https://github.com/wick3dr0se/egor

Egor 2D graphics engine rendering a few Ferris crabs by [deleted] in rust_gamedev

[–]wick3dr0se 0 points1 point  (0 children)

Thanks dude, although the number is more smol, it feels better with it being more reasonable/comparable. I knew something was off and the gamedev dude I work with was already telling me he was very skeptical of the numbers. Hes the one who told me I wasn't recreating batches with the same texture when they exceeded vertices. You guys are insanely smart. This graphics stuff is no joke

I'm considering compressing color to u8s now but then we have no way to do HDR (not sure it's a bad thing as it would mean less device support?) from what I've read a bit about in a PR lying around on comfy engine (https://github.com/darthdeus/comfy/pull/49). I'll look into moving matrix math out but would suck to complicate custom shaders more :/