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] 7 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.

[–] [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 playing through Pokemon Violet and I am enjoying. However, I've noticed something during my playthrough semi-recently that I've noticed whenever I play any Pokemon game: the level progression. Now in Pokemon Violet, it's open-world and also up to the player as to what path they take and what order they complete certain events in.

In any case, I've been following IGN's guide on the game and have completed (in this order) Cortondo Gym (Bug), Open Sky Titan (Flying), Team Star's Giacomo (Dark), Artazon Gym (Grass), Stony Cliff Titan (Rock), and Levincia Gym (Electric). The guide recommends that I go up against Team Star's Mela (Fire) next, so I'm currently working on leveling up a team of Water-type Pokemon. Most of them average at about level 20. The guide however recommends that I be at level 27 with my Pokemon. I'm trying my hardest but every time I load up the game, I'm hit with the constant feel that I have to go level up and I can't go do the next thing in game. It feels stifling, and this isn't the first time I've felt this while playing a Pokemon game. While doing a Nuzlocke challenge, I decided that I would literally invent a rule that says I could hack in Rare Candies to level up my Pokemon if grinding gets too boring and annoying.

Has anyone else felt this? I want to love one of my favorite franchises and keep playing the games, but I also don't want to boot them up and feel like I'm dragging a rock in a sack down the road.

 

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

Hmm, it looks like people have "live" sites up that are at least reachable and they aren't streaming currently. Did I misread how Owncast works, or is there something else going on here with these sites?

As for running it during my stream (once I move out of my current apartment), I could have my laptop running Owncast possibly.

[–] [email protected] 0 points 1 year ago (2 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] 3 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 (4 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] 2 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

Undertake and Persona 5 will remain my top two for a while, and in that order.

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

You missed the stage where you don't want to openly identify as autistic because of the stigma surrounding both autism itself as well as self-diagnosis

 

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!

6
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 ›