cityboundforest

joined 2 years ago
MODERATOR OF
[–] [email protected] 3 points 1 year ago

Pay off mine friends and my student loans, pay for moving costs to a European country for me and my friends, pay for US citizenship denouncing for me and my friends, set aside an amount of money for myself and my friends for savings to live comfortably, pay for first month's rent for me and my friends, pay for food for a month for me and my friends, and then if there happens to be anything left, donate it to charities.

[–] [email protected] 1 points 1 year ago

I was using EndeavourOS when I ran into the wall that a lot of stuff didn't have builds on AUR that I needed (and didn't feel like compiling myself or they didn't provide source code)

[–] [email protected] 8 points 1 year ago

Just Spotify at the moment. I might look into trying to stream from Netflix without streaming from Netflix sometime while using friends' passwords for other places. Once my currently roommate but soon to not be roommate (moving back in with parents soon) doesn't renew their Dropout subscription, I'd be willing to sign up for that only because I am willing to support the people over at CollegeHumor.

 

These tracks are an assortment of tracks I made while studying modular synthesis in university and created with VCV Rack and Ableton Live. The link listed here is for my Bandcamp (as that supports me more than streams) but my music is also available on most major streaming platforms.

[–] [email protected] 1 points 1 year ago

Hello! So I ended up fixing this issue with sprite loading and figured out how to load multiple sprites in the scene. It turns out that I can't load the images and then spawn in the sprite objs in the same function because of Rust rules 🤷

Anyhow, I am having a different issue now, and I've made a new post about it here.

 

cross-posted from: https://beehaw.org/post/607297

So as a sort of follow up to this post, I got my texture atlases to work finally. However now I'm trying to work on the battle scene for my JRPG. I've run into some hurdles, but first, a small synopsis of how I conceptualize this system of a game could work.

So extrapolating all other irrelevant details, I basically have two "scenes": a battle scene and an overworld scene. Both are templates that read in data that is relevant to them (i.e. enemy and player data for the battle scene and map setup, NPC data, etc. for the overworld scene). I'm not entirely sure how to do this with Bevy, my chosen game engine, however I did come across a semi-relevant example.

Enter Dungeon Quest, a game made in Bevy and Rust albeit an older version of Bevy and has multiple scenes that are separated into Plugins. Each Plugin is then only activated when the game is in the correct state. I tried implementing this sort of paradigm for my game, however I got some kind of Schedule error that I couldn't even find in Bevy's documentation.

So my question is this: should I try reworking my code to work like Dungeon Quest, or is there a better alternative?

 

So I'm currently working with Bevy to make a game with a style similar to that of Octopath Traveler. I'm using the bevy_sprite3d crate to render sprites in the 3D space. I'm currently working on writing the code for the battle scene of my JRPG. However, whenever I try to load multiple sprites into the scene, it gives me the following error:

error[B0002]: ResMut<bevy_asset::assets::Assets<bevy_sprite::texture_atlas::TextureAtlas>> in system load_sprites conflicts with a previous ResMut<bevy_asset::assets::Assets<bevy_sprite::texture_atlas::TextureAtlas>> access. Consider removing the duplicate access.

relevant system code

fn load_sprites(mut commands: Commands, asset_server: Res<AssetServer>, sprites_in_scene: Res<SpritesInScene>, mut texture_atlases: ResMut<Assets<TextureAtlas>>, mut sprite_params: Sprite3dParams) {
    // Load first player sprite
    commands.spawn(AtlasSprite3d {
        atlas: texture_atlases.add(get_texture_atlas(&asset_server, sprites_in_scene.player_sprite1 /* u32 */, (37, 38), 19)),

        pixels_per_metre: 32.,
        partial_alpha: true,
        unlit: true,

        ..default()
    }.bundle(&mut sprite_params))
    .insert(AnimationTimer(Timer::from_seconds(3. / 60., TimerMode::Repeating)))
    .insert(Transform::from_xyz(-5., 0., 0.));

    // Load second player sprite if it exists
    if let Some(id) = sprites_in_scene.player_sprite2 {
        commands.spawn(AtlasSprite3d {
            atlas: texture_atlases.add(get_texture_atlas(&asset_server, id, (1, 1), 1)),

            pixels_per_metre: 32.,
            partial_alpha: true,
            unlit: true,

            ..default()
        }.bundle(&mut sprite_params))
        .insert(AnimationTimer(Timer::from_seconds(3. / 60., TimerMode::Repeating)))
        .insert(Transform::from_xyz(-2.5, 0., 0.));
    }

    // Load first enemy sprite
    commands.spawn(AtlasSprite3d {
        atlas: texture_atlases.add(get_texture_atlas(&asset_server, sprites_in_scene.enemy_sprite1 /* u32 */, (42, 42), 21)),

        pixels_per_metre: 32.,
        partial_alpha: true,
        unlit: true,

        ..default()
    }.bundle(&mut sprite_params))
    .insert(AnimationTimer(Timer::from_seconds(3. / 60., TimerMode::Repeating)))
    .insert(Transform::from_xyz(5., 0., 0.));

    // Load second enemy sprite if it exists
    if let Some(id) = sprites_in_scene.enemy_sprite2 {
        commands.spawn(AtlasSprite3d {
            atlas: texture_atlases.add(get_texture_atlas(&asset_server, id, (1, 1), 1)),

            pixels_per_metre: 32.,
            partial_alpha: true,
            unlit: true,

            ..default()
        }.bundle(&mut sprite_params))
        .insert(AnimationTimer(Timer::from_seconds(3. / 60., TimerMode::Repeating)))
        .insert(Transform::from_xyz(2.5, 0., 0.));
    }
}

// The signature for get_texture_atlas:
fn get_texture_atlas(asset_server: &Res<AssetServer>, id: u32, tile_size: (u32, u32), row_num: usize) -> TextureAtlas

Am I doing this wrong? Is there a better way to load multiple texture atlases for the different entities in my battle scene? Thanks in advance!

[–] [email protected] 1 points 1 year ago

For the past few days, I've actually been working through the Bevy Chess example and updating it to Bevy 0.10.1 on my fork of it here. Pretty much the only thing the tutorial lacks is embedding images, mostly because I don't remember how to do that with GitHub's markdown 😅.

I do think I'll use Bevy now that I have a better understanding of how the ECS system works, but thank you for the recommendation!

[–] [email protected] 1 points 1 year ago

Re PeerTube, as a creator, is it worth it to try an find an instance that suits my content right now?

[–] [email protected] 1 points 1 year ago (1 children)

As someone who is already in debt because of a bad month with work, I'm not sure if I'm able to put out for a VPS. And as for the "server" thing, what I meant was I don't have a computer I can dedicate to near 100% uptime for running the instances I'd want to.

[–] [email protected] 4 points 1 year ago

I do hope that Tumblr gets on ActivityPub soon because I do love the idea of interacting with Tumblr posts here on beehaw or on Mastodon, or whatever other thing uses the protocol.

[–] [email protected] 2 points 1 year ago (3 children)

I would start using Owncast however, a) my current lease at my apartment prohibits me running a server (because internet is included in the rent), and b) I don't have any kind of computer to run a server on for Owncast.

[–] [email protected] 5 points 1 year ago

Singleplayer games have no reason to require an internet connection to be able to play the game.

[–] [email protected] 3 points 1 year ago

That does make me wonder if there's an option in Lemmy to add tags to posts.

[–] [email protected] 1 points 1 year ago

I did not need to be called out at 11:37 at night

 

cross-posted from: https://beehaw.org/post/490551

So I'm currently looking to move my game design project(s) over to Rust because I do truly like the language (albeit being frustrated when I tried using it the last time, but I think that was because I let things get complicated without blackboxing them). However, I'm looking for a good framework or engine before diving in with OpenGL/Vulkan and getting my hands dirty with that system (which is what I was using initially).

For the record, one of my games is going to be in the style of Octopath Traveler and the other I'm looking at either doing the same or doing a voxel game. Game 1 is a JRPG and Game 2 is gonna be a combo Tactics/Puzzle game.

I've bounced back and forth a bit with both game engines in Rust but also just implementations for this project in general (Game 1, that is). I've moved from C to C++ to Unreal Engine to Rust back to C, then to C++ then now back to Rust again. Within Rust specifically, like I said, I did use I believe it was glium and egui to for my OpenGL calls and GUI respectively, but this time around, I've looked at specifically Bevy and Fyrox, but I'm not too settled on either. Fyrox seems like a lot to deal with for the projects I'm going for (which is one of the reasons I switched off of Unreal Engine), but Bevy is a little bit difficult to get a handle on with my project (Game 1).

Does anyone have any advice for me on how to go about this? Thanks in advance!

10
Rust and Game Dev (beehaw.org)
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 

So I'm currently looking to move my game design project(s) over to Rust because I do truly like the language (albeit being frustrated when I tried using it the last time, but I think that was because I let things get complicated without blackboxing them). However, I'm looking for a good framework or engine before diving in with OpenGL/Vulkan and getting my hands dirty with that system (which is what I was using initially).

For the record, one of my games is going to be in the style of Octopath Traveler and the other I'm looking at either doing the same or doing a voxel game. Game 1 is a JRPG and Game 2 is gonna be a combo Tactics/Puzzle game.

I've bounced back and forth a bit with both game engines in Rust but also just implementations for this project in general (Game 1, that is). I've moved from C to C++ to Unreal Engine to Rust back to C, then to C++ then now back to Rust again. Within Rust specifically, like I said, I did use I believe it was glium and egui to for my OpenGL calls and GUI respectively, but this time around, I've looked at specifically Bevy and Fyrox, but I'm not too settled on either. Fyrox seems like a lot to deal with for the projects I'm going for (which is one of the reasons I switched off of Unreal Engine), but Bevy is a little bit difficult to get a handle on with my project (Game 1).

Does anyone have any advice for me on how to go about this? Thanks in advance!

Edit: Per this comment, I do agree that it's a good idea to find something to work with and stick with it to make something good. I like Bevy and its modular plugin system but outside of the tutorials (which are quite small and focused) and examples from plugins, I don't really know how the engine works. I also don't really have any idea how to combine these plugins (e.g. I have a plugin for embedding assets in my executable, a plugin for animating sprites from a sprite sheet, a plugin for loading 2D sprites into a 3D scene, etc.) into what I want to do. I'll try to do some more reading, but if anyone has a better option, let me know.

 
 
view more: next ›