AB

ABC Game Engine

Hacker News

ABC Game Engine

Hey HN! I have a background in Unity. Recently, I switched to Rust, but when I tried building a small game in Bevy it was difficult to pick up multithreaded entity components coming from a single-threaded game engine. ABC Game Engine aims to make it easier for users coming from Unity to pick up game development in Rust. Here's a simple example of a player controller in ABC Game Engine: struct PlayerController { speed: f32, jump_force: f32, } impl System for PlayerController { fn run(&mut self, entities_and_components: &mut EntitiesAndComponents) { let player_entity; let (player_x, player_y) = { let player_entities = entities_and_components .get_entities_with_component::<Player>() .cloned() .collect::<Vec<Entity>>(); player_entity = player_entities[0]; let (transform,) = entities_and_components.get_components::<(Transform,)>(player_entity); (transform.x, transform.y) }; let delta_time: f32; let mut normalized_dir = [0.0 as f32; 2]; { delta_time = entities_and_components .get_resource::<DeltaTime>() .expect("Failed to get DeltaTime resource") .get_delta_time() as f32; let physics_info = entities_and_components .get_resource::<RapierPhysicsInfo>() .expect("Failed to get PhysicsInfo resource"); let input = entities_and_components.get_resource::<Input>().unwrap(); if input.get_key_state(KeyCode::A) == KeyState::Held { normalized_dir[0] -= 1.0; } if input.get_key_state(KeyCode::D) == KeyState::Held { normalized_dir[0] += 1.0; } let intersection = physics_info.cast_ray( &Ray::new( vector![player_x as f32, player_y as f32 - 5.01].into(), vector![0.0, -1.0], ), Real::MAX, true, QueryFilter::default(), ); if input.get_key_state(KeyCode::Space) == KeyState::Pressed && intersection.is_some() { let intersection = intersection.unwrap(); if intersection.1 < 0.01 { normalized_dir[1] = 1.0; } } } if let (Some(_), Some(_), Some(rigid_body)) = entities_and_components .try_get_components_mut::<(Player, Transform, RigidBody)>(player_entity) { rigid_body.apply_impulse( vector![ normalized_dir[0] * self.speed * delta_time, normalized_dir[1] * self.jump_force, ], true, ); } } }

Share card

Actual performance

1points
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Hacker NewsStrong engagement from HN community · Strong signals: game engine, io · Missing: https docs, excited, just released
63%63% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
Product HuntOn track for Day 1 leaderboard · Strong signals: user, new, single · Missing: mac, agents, macos
53%53% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
TrustMRRLess likely to generate early MRR · Strong signals: users · Missing: mobile apps, ios, personal
50%50% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
Indie HackersIH features products with proven revenue · Missing: supports, reddit linkedin, podcasting
43%43% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Strong signals: users · Missing: plus, platform, intuitive
42%42% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
19%19% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
3%3% predicted probability of success on BetaList, based on ML models trained on real launch data.

Incorrect prediction on native model

Similar products

To
Toy – A thin C++ game engine74%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Toy – A thin C++ game engine

Hacker News180
I
I wrote my own RTS game engine in C73%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

I wrote my own RTS game engine in C

Hacker News1,102
Te
Tectonic Game Engine73%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Tectonic Game Engine

Hacker News1
Ti
TinyEngine – Game Engine for Microcontrollers69%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

TinyEngine – Game Engine for Microcontrollers

Hacker News1
A
A UIKit Game Engine73%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

A UIKit Game Engine

Hacker News33
Rogue Engine
Rogue Engine59%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

HTML5 Game Engine

Indie Hackers1games
A
A Faux3D Game Engine I made in my spare time77%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

A Faux3D Game Engine I made in my spare time

Hacker News19
Co
Coffee2D – A simple HTML5 game engine75%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Coffee2D – A simple HTML5 game engine

Hacker News14
Gp
Gpt4-o is the new game engine59%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Gpt4-o is the new game engine

Hacker News5
Ga
Game Engine Using LLVM and Ruby (XPlat Including WASM)76%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Game Engine Using LLVM and Ruby (XPlat Including WASM)

Hacker News11