Sign in

Brian Jesse

@brianjesse.com
1.6K followers 1K following 118 posts

Founder of Grey Matter Games (Ex - Epic Games, Psyonix, Wolfram|Alpha) #rustlang #bevyengine #selfhosted #gamedev #indiedev

PostsRepliesMedia
Brian Jesse @brianjesse.com · 15/08/2026
010
Brian Jesse @brianjesse.com · 05/07/2026
The summer playtest for our computer centric automation game, Computronium, is now live! Head over to our Steam page and request access! store.steampowered.com/app/3632770/... #indiedev #gamedev #game 🎮
4323
Brian Jesse @brianjesse.com · 04/05/2026
I added biomes and texture blending to my terrain generation. There's full support for PBR, and the biomes have indivdually configurable noise and textures. The physics on the CPU is also synchronized with the terrain visuals in a the vertex shader on the GPU. 🎮 #game #gamedev #indiedev
091
Brian Jesse @brianjesse.com · 30/04/2026
Rainbow planet 🎮 #game #gamedev #indiedev
A debug shader applied to an in-progress terrain generation system. The mountains are multi-colored like the rainbow.
0101
Brian Jesse @brianjesse.com · 16/04/2026
Horizontal scaling go brrrr 🎮 #game #indiedev
041
Brian Jesse @brianjesse.com · 13/04/2026
Midnight synthwave vibes 🎮 #game #indiedev
A robot stands in dunes of ash, a blue sun hangs low in the sky, purple haze streaks around the horizion giving way to clearer stars above and a pink glow on the boundary between earth and sky.
0102
Brian Jesse @brianjesse.com · 08/04/2026
Finally starting to look like an automation game. 🎮 #game #indiedev
0102
Brian Jesse @brianjesse.com · 06/04/2026
I added LODs to my infinite procedural terrain generation this weekend. I'm pretty happy with the result. It now looks like a proper desert. 🎮 #indiedev #game
072
Brian Jesse @brianjesse.com · 30/03/2026
@eyeblinktwice.bsky.social just launched their demo of Time To Wake Up! Check it out and give them a review! store.steampowered.com/app/2509870/... #game #steam #demo #videogame #indiegame #indiedev #gamedev 🎮
093
Brian Jesse @brianjesse.com · 26/03/2026
Our friends at @moonmonster.bsky.social are less than a week away from launching Space Control! Head over to Meta or Steam and wishlist it! www.meta.com/en-gb/experi... store.steampowered.com/app/1759150/... 🎮 #game #vr #videogame #gamedev #indiegame
0133
Brian Jesse @brianjesse.com · 21/03/2026
I'm experimenting with ANSI art in Moebius, made a scribble and thought it looked a bit like an orange, so I continued to make that so. Manually dithering is surprisingly easy and fun. #art #pixelart #gamedev #indiedev #indegame #gamedev 🎮
An orange made from ANSI characters in a program called Moebius. The orange has shading made from semi-randomly placed darker pixels.
0133
Brian Jesse @brianjesse.com · 19/03/2026
MoonMonster studios is launching their VR game soon and only need a few more wishlists on Meta to get featured! Head over there and help them out! www.meta.com/en-gb/experi... There's a demo available on Steam too! store.steampowered.com/app/1759150/... 🎮 #game #vr #videogame #gamedev #indiegame
0136
Brian Jesse @brianjesse.com · 12/01/2026
You will like my indie game if you played these games: - Factorio - Satisfactory - Dyson Sphere Program - Shapez - PC Building Simulator Wishlist: store.steampowered.com/app/3632770/... #indiegame #game #videogame #indiedev #gamedev #indiegamedev #gamedevelopment 🎮
0100
Brian Jesse @brianjesse.com · 15/12/2025
Fun with the new stair implementation. #indiegame #game #indiedev #gamedev #indiegamedev 🎮
An in-game screenshot of an game in development. A collection of platforms and stairs make up a crude pyramid amongst the sands of a procedurally generated desert. A lone player stands atop the pyramid.
092
Brian Jesse @brianjesse.com · 14/12/2025
We now have a replicated laser pointer! #indiegame #game #indiedev #gamedev #indiegamedev 🎮
0132
Brian Jesse @brianjesse.com · 13/12/2025
Here's a look at the current state of our multiplayer implementation. We have replicated build previews! #indiegame #game #indiedev #gamedev #indiegamedev 🎮
092
Brian Jesse @brianjesse.com · 02/12/2025
We upgraded some of the network at @flgamehub.bsky.social for @oscargodspear.bsky.social and it turned into an unexpected lesson on how to terminate ethernet cables.
A group of people gathered around a desk being instructed on how to terminate ethernet cables.An alternate view of a group of people gathered around a desk being instructed on how to terminate ethernet cables. One of them is staring mischievously at the camera.
030
Brian Jesse @brianjesse.com · 25/11/2025
A look at some of the current progress for our computer themed automation game Computronium. We now have a player model, a preview ghost, a console, and a new server rack mk2. #indiegame #indedev #gamedev #indiegamedev 🎮 Discord: discord.gg/c2fXaTUK7h Steam: store.steampowered.com/app/3632770/...
2123
Brian Jesse @brianjesse.com · 24/03/2025
Animations are now working for the spawn platform in Computronium! #indiegame #indedev #gamedev #indiegamedev 🎮
0164
Brian Jesse @brianjesse.com · 19/03/2025
Spawn platform progress! #gamedev #indiedev #indiegame #indiegamedev 🎮
A screenshot of an in-progress spawn platform that looks like a rocket capsule suspended over four legs. It has two large windows and some charring from reentry on the windows.
0133
Brian Jesse @brianjesse.com · 18/03/2025
An early look at the spawn platform, I'm going to be working on getting the animations hooked up next! #indiedev #gamedev #indiegamedev #indiegame 🎮
In-game screenshot of a spawn platform that looks like a rocket capsule suspended on legs. It has large windows on each side.
083
Brian Jesse @brianjesse.com · 13/03/2025
Walls, foundations, racks, and servers all together now. #gamedev #indiedev #indiegamedev #indiegame 🎮
An in-game screenshot of a long row of servers on racks stretching into the distance.
0124
Brian Jesse @brianjesse.com · 12/03/2025
A sneak peek at the in progress walls in our game Computronium. It's starting to look like a real space! #gamedev #indiedev #indiegame #indiegamedev 🎮
An in game screenshot of the interior of a player created space with foundations and walls.
082
Brian Jesse @brianjesse.com · 11/03/2025
And now servers can be placed and removed from rack slots with full replication! #gamedev #indiedev #indiegamedev #indiegame
193
Brian Jesse @brianjesse.com · 10/03/2025
Some progress getting servers to slot into racks. It's all coming together! #indiedev #gamedev #3dmodelling #indiegame #indiegamedev
An in game render of a server rack with servers on shelves. The rack is made of wood and the servers have wooden chassis.
064
Brian Jesse @brianjesse.com · 09/03/2025
Here's the mark 1 server chassis for Computronium. This also has a used and DIY quality to it. We were inspired by 70s era HiFi equipment and the Atari. #gamedev #indiedev #3dmodelling
A 3d model of a rackmount server that has a wooden chassis and a used "hand me down" look.
0114
Brian Jesse @brianjesse.com · 08/03/2025
Just added camera collision to Computronium! It's a really simple, but robust solution. The clipping at extreme angles still needs some work, but I didn't like the jittering in corners when I used a normal offset. Join our Discord to be part of our first networked playtest! discord.gg/c2fXaTUK7h
030
Brian Jesse @brianjesse.com · 05/03/2025
Here's the Mark 1 server rack for Computronium. It's a very ”hacked together" aesthetic that I hope a lot of self hosting enthusiasts might enjoy. #gamedev #indiedev
A 3d model of a server rack that has wooden planks in place of shelves.
093
Brian Jesse @brianjesse.com · 04/03/2025
Grey Matter Games is working on our first title, Computronium - an automation game like Factorio or Satisfactory with an emphasis on computer hardware and networks. Build data centers, manufacture integrated circuits, and deal with threats to your network. Join our Discord: discord.gg/c2fXaTUK7h
The Computronium logo, in a stylized retro future text over a colorful chromatic depiction of a silicon wafer. The logo is over an image of a row of empty server racks on a tiled floor beneath a starry sky.
1100
Brian Jesse @brianjesse.com · 31/12/2024
010
Brian Jesse @brianjesse.com · 20/12/2024
These are our goofballs.
Goofy catsA cat resting on a chair
120
Brian Jesse @brianjesse.com · 19/12/2024
The `matches!` macro in #rustlang gives you full pattern matching capabilities without having to write a single case match statement! You can even provide an optional guard condition!
if !matches!(server_state.get(), ServerStates::Disconnected) {
    return;
}
030
Brian Jesse @brianjesse.com · 18/12/2024
I recently learned that you can use the debug print syntax in #rustlang template strings while keeping variable references inline instead of as subsequent arguments!
info!("Spawn third person camera for {:?} on frame: {:?}", client_id, frame);
// eqivalent
info!("Spawn third person camera for {client_id:?} on frame: {frame:?}");
4101
Brian Jesse @brianjesse.com · 11/12/2024
The `run_if` run condition in #bevyengine does not short-circuit if previous conditions do not pass. If you want to avoid checking future conditions, use the `and_then` condition to chain multiple together. #gamedev #rustlang
app.add_systems(FixedUpdate, enter_gameplay_system
    .run_if(in_state(LauncherStates::Connecting)
        .and_then(any_with_component::<PlayerComponent>)
        .and_then(any_with_component::<AvatarComponent>)
        .and_then(any_with_component::<ThirdPersonCameraComponent>)
    )
);
0110
Brian Jesse @brianjesse.com · 05/12/2024
The `cfg_attr` attribute in #rustlang can take additional arguments that will all be applied if the first argument passes.
// both of these separately:
#![cfg_attr(debug_assertions, feature(core_intrinsics))]
#![cfg_attr(debug_assertions, allow(internal_features))]

// is the same as:
#![cfg_attr(
    debug_assertions,
    feature(core_intrinsics),
    allow(internal_features),
)]
020
Brian Jesse @brianjesse.com · 04/12/2024
If you change settings on Startpage you can save them as a bookmarklet or as a parameter in a custom search engine that you add to your browser, and then you don't need cookies on the site at all!
Screenshot of saving startpage.com's settings without a cookie.
000
Brian Jesse @brianjesse.com · 04/12/2024
If you have singleton data that's only used by a single system in the #bevyengine you don't always have to create a new struct and resource. You can use a Local which will persist between system invocations. This can be really handy for debounce timers! #gamedev #rustlang
pub fn window_fullscreen_system(
    time: Res<Time>,
    mut windows: Query<&mut Window>,
    mut action_event_reader: EventReader<FullscreenAction>,
    mut debounce_local: Local<Timer>,
) {
    let Ok(mut window) = windows.get_single_mut() else {
        error!("{} more than one window present", line!());
        return;
    };

    if !debounce_local.finished() {
        debounce_local.tick(time.delta());
        return;
    }

    if action_event_reader.is_empty() {
        return;
    }
    action_event_reader.clear();

    debounce_local.reset();
    debounce_local.set_mode(TimerMode::Once);
    debounce_local.set_duration(Duration::from_secs(DEBOUNCE_TIME_SECONDS));

    if window.mode == WindowMode::Windowed {
        window.mode = WindowMode::BorderlessFullscreen;
        return;
    }

    window.mode = WindowMode::Windowed;
}
0152
Brian Jesse @brianjesse.com · 04/12/2024
Hi, can I be added please? We're working on a multiplayer automation game!
A screenshot of an early prototype of an automation game
010
Brian Jesse @brianjesse.com · 03/12/2024
The guard pattern can be achieved really easily and cleanly in #rustlang using the let-else syntax. If you're trying to be a never-nester it definitely beats a bunch of if-lets.
let Ok(player) = player_query.get_single() else {
    fail!("Unable to get a single controlled player");
    return;
};
030
Brian Jesse @brianjesse.com · 02/12/2024
Skip the splash screen with literally any input. #bevyengine
040