Easy to use game engine

Overview

arcana

crates docs actions MIT/Apache loc

Arcana is a game engine built with focus on ease of use without compromising on level of control.

Getting started

Starting writing a game is as simple as calling single function: arcana::game2 or arcana::game3,
depending on what number of dimensions new game needs.
From there add systems, load prefabs or otherwise populate game world.

Then start writing prefab implementations and input controls, implement custom rendering logic when required.

Examples

Tanks

Playable example can be found in examples/tanks.

Tanks example

License

Licensed under either of

at your option.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Donate

Become a patron

Comments
  • Update rapier2d requirement from 0.11 to 0.13

    Update rapier2d requirement from 0.11 to 0.13

    Updates the requirements on rapier2d to permit the latest version.

    Changelog

    Sourced from rapier2d's changelog.

    v0.13.0 (31 May 2022)

    Fixed

    • Fix incorrect sensor events being generated after collider removal.
    • Fix bug where the CCD thickness wasn’t initialized properly.
    • Fix bug where the contact compliance would result in undesired tunneling, despite CCD being enabled.

    Modified

    • Add a wake_up: bool argument to the ImpulseJointSet::insert and MultibodyJointSet::insert to automatically wake-up the rigid-bodies attached to the inserted joint.
    • The methods ImpulseJointSet::remove/remove_joints_attached_to_rigid_body, MultibodyJointSet::remove/remove_joints_attached_to_rigid_body and MultibodyjointSet::remove_multibody_articulations no longer require the bodies and islands arguments.
    • Make the instant dependency optional, behind a profiler cargo feature.
    • Rename STATIC to FIXED in the ActiveCollisionTypes flags.
    • Rename ImpulseJointSet::joints_with to ::attached_joints. Add the joint’s handle to the closure arguments.
    • Make the default debug-render less noisy out-of-the-box by only rendering joints, rigid-bodies, and colliders by default.

    Added

    • Debug-renderer: add rendering of contacts, solver contacts, and collider AABBs
    • Add MultibodyJointSet::attached_joints to return all the multibody joints attached to a given rigid-body.

    v0.12.0 (30 Apr. 2022)

    Fixed

    • Fix the simulation when the parallel feature is enabled.
    • Fix bug where damping would not be applied properly to some bodies.
    • Fix panics caused by various situations (contact or joints) involving rigid-bodies with locked translations/rotations.
    • Fix bug where collider modifications (like changes of collision groups, or shape) would not wake-up their attached rigid-body, or would not have any effect on pre-existing contacts.
    • Fix the automatic update of a rigid-body’s mass properties after changing one of its attached colliders.
    • Fix the broad-phase becoming potentially invalid after a change of collision groups.

    Modified

    • Switch to nalgebra 0.31.
    • Switch to parry 0.9.
    • Rename JointHandle to ImpulseJointHandle.
    • Rename RigidBodyMassPropsFlags to LockedAxes.
    • Rename RigidBody::apply_force, ::apply_torque, ::apply_force_at_point to ::add_force, ::add_torque, and ::add_force_at_point to better reflect the fact that they are not cleared at the end of the timestep.
    • Rename RigidBodyType::Static to RigidBodyType::Fixed to avoid confusion with the static keyword.
    • All method referring to static rigid-bodies now use fixed instead of static.
    • Rename RigidBodyBuilder::new_static, new_kinematic_velocity_based, new_kinematic_velocity_based to RigidBodyBuilder::fixed, kinematic_velocity_based, kinematic_velocity_based.
    • The ContactEvent and IntersectionEvent have been replaced by a single enum CollisionEvent in order to simplify the user’s event handling.
    • The ActiveEvents::CONTACT_EVENTS and ActiveEvents::INTERSECTION_EVENTS flags have been replaced by a single flag ActiveEvents::COLLISION_EVENTS.
    • Joint motors no longer have a VelocityBased model. The new choices are AccelerationBased and ForceBased

    ... (truncated)

    Commits
    • cd03eb4 Merge pull request #338 from dimforge/release-v0.13.0
    • c8c0f46 Release v0.13.0
    • febd7fb Merge pull request #337 from dimforge/event-removed-fix
    • 362b9f2 Fix incorrect sensor events being generated after collider removal
    • 77aa1dd Merge pull request #336 from dimforge/debug-render-tweaks
    • 63a6889 Adjust the defaults for the debug-renderer + add a JOINTS compound bitflag
    • de44fda Merge pull request #335 from dimforge/optional-instant
    • 10ca347 Make theinstant dependency optional, behind a profiler cargo feature
    • fb1bfc7 Merge pull request #334 from dimforge/fixes
    • 0640f5e Fix parallel build
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Update parry3d requirement from 0.7 to 0.9

    Update parry3d requirement from 0.7 to 0.9

    Updates the requirements on parry3d to permit the latest version.

    Changelog

    Sourced from parry3d's changelog.

    v0.9.0 (30 Apr. 2022)

    Modified

    • Remove &self argument from Compound::decompose_trimesh.
    • Switch to cust 0.3 (for partial CUDA support).
    • Rename RoundShape::base_shape to RoundShape::inner_shape.

    Added

    • Allow custom balancing strategies for the QBVH construction. Some strategies are allowed to generate new leaves during the splitting process.
    • Allow using point projection on heightfields from a CUDA kernel.
    • Add the simultaneous traversal of two QBVHs.
    • Add computation of MassProperties for a TriMesh.
    • Add .to_outline methods to compute the outline of a 3D shape (useful for debug-rendering).
    • Add method to apply a scaling factor to some shapes. Shapes not supporting non-uniform scaling (like balls) will return a convex approximation of the scaled result.
    • Add methods to split (into up to two parts) a Cuboid, Segment, or TriMesh with an axis-aligned plane.
    • Add the computation of the intersection mesh between two TriMesh, or between a Cuboid and a TriMesh.

    v0.8.0 (2 Jan. 2022)

    Modified

    • Until now, the orientation of the polygon computed by 2D convex hull computation parry2d::transformation::convex_hull and parry2d::transformation::convex_hull_idx wasn't specified (and was generally in clockwise order). Now, this orientation is explicitly specified in the documentation and is set to counter-clockwise order (which is coherent with orientation expected by, e.g., the ConvexPolygon type).

    Added

    • Add parry::utils::obb which computes a (possibly sub-optimal) OBB for a set of points.
    • Add Polyline::project_local_point_assuming_solid_interior_ccw which projects a point on the polyline contour, and is able to detect if that points is located inside of the polyline, assuming that the polyline is closed and oriented counter-clock-wise.
    • Add (3D only) TriMesh::compute_pseudo_normals. If this is called, and if the trimesh respects some constraints (oriented with outward normals, manifold almost everywhere, etc.) any subsequent point queries with the solid argument set to true will properly set the PointProjection::is_inside to true when the point lies in the interior of the trimesh.
    • Added the implementation of the ear-clipping and Hertel-Mehlhorn algorithm that can be used for 2D triangulation and convex decomposition.
    • Add the ability to use a subset of Parry’s features in a no-std context. If the new cuda cargo feature of Parry is enabled, all features compatible with no-std can be used inside of a CUDA kernel written in Rust thanks to the rust-cuda ecosystem.

    Fixed

    • Fix the orientation of the polygons generated by the 2D convex polygon decomposition (they are now always oriented counter-clockwise as expected by the ConvexPolygon type).
    • Fix the intersection test between a 2D ball and a 2D compound shape.

    v0.7.1

    Added

    • Add the method AABB::volume to compute the volume of an AABB.

    ... (truncated)

    Commits
    • ac8dcf0 Release v0.9.0
    • 3abd8cf CI: add missing cuda environment variable
    • c08229a Fix Cuda f64 build
    • 9abf8c2 Fix duplicate import
    • 85d70ce Fix no-std build.
    • 52d6731 Fix warnings.
    • aec1ffd Add round shapes outlines
    • f4573fd Add methods to scale shapes
    • c60c57d Rename RoundShape::base_shape -> RoundShape::inner_shape
    • 2a4da0b Add methods to set the scale of a heightfield
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Update egui requirement from 0.17 to 0.18

    Update egui requirement from 0.17 to 0.18

    Updates the requirements on egui to permit the latest version.

    Release notes

    Sourced from egui's releases.

    0.17.0 - Improved font selection and image handling

    egui highlights:

    • Use any-sized font
    • Define custom text styles
    • Easy image loading using new crate egui_extras

    eframe highlights:

    • glow is now the default renderer on both native on web
    • follow OS light/dark mode preference

    Full changelog: https://github.com/emilk/egui/blob/master/CHANGELOG.md

    Changelog

    Sourced from egui's changelog.

    0.17.0 - 2022-02-22 - Improved font selection and image handling

    Added ⭐

    • Much improved font selection (#1154):
      • You can now select any font size and family using RichText::size amd RichText::family and the new FontId.
      • Easily change text styles with Style::text_styles.
      • Added Ui::text_style_height.
      • Added TextStyle::resolve.
      • Made the v-align and scale of user fonts tweakable (#1241).
    • Plot:
      • Added Plot::x_axis_formatter and Plot::y_axis_formatter for custom axis labels (#1130).
      • Added Plot::allow_boxed_zoom(), Plot::boxed_zoom_pointer() for boxed zooming on plots (#1188).
      • Added plot pointer coordinates with Plot::coordinates_formatter (#1235).
      • Added linked axis support for plots via plot::LinkedAxisGroup (#1184).
    • Context::load_texture to convert an image into a texture which can be displayed using e.g. ui.image(texture, size) (#1110).
    • Ui::input_mut to modify how subsequent widgets see the InputState and a convenience method InputState::consume_key for shortcuts or hotkeys (#1212).
    • Added Ui::add_visible and Ui::add_visible_ui.
    • Added CollapsingHeader::icon to override the default open/close icon using a custom function. (1147).
    • Added ui.data(), ctx.data(), ctx.options() and ctx.tessellation_options() (#1175).
    • Added Response::on_hover_text_at_pointer as a convenience akin to Response::on_hover_text (1179).
    • Opt-in dependency on tracing crate for logging warnings (#1192).
    • Added ui.weak(text).
    • Added Slider::step_by (1225).
    • Added Context::move_to_top and Context::top_most_layer for managing the layer on the top (#1242).
    • Support a subset of macOS' emacs input field keybindings in TextEdit (#1243).
    • Added ability to scroll an UI into view without specifying an alignment (1247).
    • Added Ui::scroll_to_rect (1252).

    Changed 🔧

    • ⚠️ Context::input and Ui::input now locks a mutex. This can lead to a dead-lock is used in an if let binding!
      • if let Some(pos) = ui.input().pointer.latest_pos() and similar must now be rewritten on two lines.
      • Search for this problem in your code using the regex if let .*input.
    • Better contrast in the default light mode style (#1238).
    • Renamed CtxRef to Context (#1050).
    • Context can now be cloned and stored between frames (#1050).
    • Renamed Ui::visible to Ui::is_visible.
    • Split Event::Text into Event::Text and Event::Paste (#1058).
    • Replaced Style::body_text_style with more generic Style::text_styles (#1154).
    • TextStyle is no longer Copy (#1154).
    • Replaced TextEdit::text_style with TextEdit::font (#1154).
    • Plot::highlight now takes a bool argument (#1159).
    • ScrollArea::show now returns a ScrollAreaOutput, so you might need to add .inner after the call to it (#1166).
    • Replaced corner_radius: f32 with rounding: Rounding, allowing per-corner rounding settings (#1206).
    • Replaced Frame's margin: Vec2 with margin: Margin, allowing for different margins on opposing sides (#1219).
    • Renamed Plot::custom_label_func to Plot::label_formatter (#1235).
    • Areas::layer_id_at ignores non-interatable layers (i.e. Tooltips) (#1240).
    • ScrollAreas will not shrink below a certain minimum size, set by min_scrolled_width/min_scrolled_height (1255).
    • For integrations:
      • Output has now been renamed PlatformOutput and Context::run now returns the new FullOutput (#1292).
      • FontImage has been replaced by TexturesDelta (found in FullOutput), describing what textures were loaded and freed each frame (#1110).

    ... (truncated)

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Update parry2d requirement from 0.7 to 0.9

    Update parry2d requirement from 0.7 to 0.9

    Updates the requirements on parry2d to permit the latest version.

    Changelog

    Sourced from parry2d's changelog.

    v0.9.0 (30 Apr. 2022)

    Modified

    • Remove &self argument from Compound::decompose_trimesh.
    • Switch to cust 0.3 (for partial CUDA support).
    • Rename RoundShape::base_shape to RoundShape::inner_shape.

    Added

    • Allow custom balancing strategies for the QBVH construction. Some strategies are allowed to generate new leaves during the splitting process.
    • Allow using point projection on heightfields from a CUDA kernel.
    • Add the simultaneous traversal of two QBVHs.
    • Add computation of MassProperties for a TriMesh.
    • Add .to_outline methods to compute the outline of a 3D shape (useful for debug-rendering).
    • Add method to apply a scaling factor to some shapes. Shapes not supporting non-uniform scaling (like balls) will return a convex approximation of the scaled result.
    • Add methods to split (into up to two parts) a Cuboid, Segment, or TriMesh with an axis-aligned plane.
    • Add the computation of the intersection mesh between two TriMesh, or between a Cuboid and a TriMesh.

    v0.8.0 (2 Jan. 2022)

    Modified

    • Until now, the orientation of the polygon computed by 2D convex hull computation parry2d::transformation::convex_hull and parry2d::transformation::convex_hull_idx wasn't specified (and was generally in clockwise order). Now, this orientation is explicitly specified in the documentation and is set to counter-clockwise order (which is coherent with orientation expected by, e.g., the ConvexPolygon type).

    Added

    • Add parry::utils::obb which computes a (possibly sub-optimal) OBB for a set of points.
    • Add Polyline::project_local_point_assuming_solid_interior_ccw which projects a point on the polyline contour, and is able to detect if that points is located inside of the polyline, assuming that the polyline is closed and oriented counter-clock-wise.
    • Add (3D only) TriMesh::compute_pseudo_normals. If this is called, and if the trimesh respects some constraints (oriented with outward normals, manifold almost everywhere, etc.) any subsequent point queries with the solid argument set to true will properly set the PointProjection::is_inside to true when the point lies in the interior of the trimesh.
    • Added the implementation of the ear-clipping and Hertel-Mehlhorn algorithm that can be used for 2D triangulation and convex decomposition.
    • Add the ability to use a subset of Parry’s features in a no-std context. If the new cuda cargo feature of Parry is enabled, all features compatible with no-std can be used inside of a CUDA kernel written in Rust thanks to the rust-cuda ecosystem.

    Fixed

    • Fix the orientation of the polygons generated by the 2D convex polygon decomposition (they are now always oriented counter-clockwise as expected by the ConvexPolygon type).
    • Fix the intersection test between a 2D ball and a 2D compound shape.

    v0.7.1

    Added

    • Add the method AABB::volume to compute the volume of an AABB.

    ... (truncated)

    Commits
    • ac8dcf0 Release v0.9.0
    • 3abd8cf CI: add missing cuda environment variable
    • c08229a Fix Cuda f64 build
    • 9abf8c2 Fix duplicate import
    • 85d70ce Fix no-std build.
    • 52d6731 Fix warnings.
    • aec1ffd Add round shapes outlines
    • f4573fd Add methods to scale shapes
    • c60c57d Rename RoundShape::base_shape -> RoundShape::inner_shape
    • 2a4da0b Add methods to set the scale of a heightfield
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Update egui-winit requirement from 0.17 to 0.18

    Update egui-winit requirement from 0.17 to 0.18

    Updates the requirements on egui-winit to permit the latest version.

    Release notes

    Sourced from egui-winit's releases.

    0.18.0 - Shape::Callback, Table, and better text contrast

    Highlights:

    • Embed 3D inside egui
    • Better text contrast in bright mode
    • Added egui_extras::Table

    rerun

    Changelog

    Sourced from egui-winit's changelog.

    0.18.0 - 2022-04-30

    Added ⭐

    • Added Shape::Callback for backend-specific painting, with an example (#1351).
    • Added Frame::canvas (#1362).
    • Context::request_repaint will now wake up UI thread, if integrations has called Context::set_request_repaint_callback (#1366).
    • Added Plot::allow_scroll, Plot::allow_zoom no longer affects scrolling (#1382).
    • Added Ui::push_id to resolve id clashes (#1374).
    • Added ComboBox::icon (#1405).
    • Added Ui::scroll_with_delta.
    • Added Frame::outer_margin.
    • Added Painter::hline and Painter::vline.
    • Added Link and ui.link (#1506).
    • Added triple-click support; triple-clicking a TextEdit field will select the whole paragraph (#1512).
    • Added Plot::x_grid_spacer and Plot::y_grid_spacer for custom grid spacing (#1180).
    • Added Ui::spinner() shortcut method (#1494).
    • Added CursorIcons for resizing columns, rows, and the eight cardinal directions.
    • Added Ui::toggle_value.
    • Added ability to add any widgets to the header of a collapsing region (#1538).

    Changed 🔧

    • MSRV (Minimum Supported Rust Version) is now 1.60.0 (#1467).
    • ClippedMesh has been replaced with ClippedPrimitive (#1351).
    • Renamed Frame::margin to Frame::inner_margin.
    • Renamed AlphaImage to FontImage to discourage any other use for it (#1412).
    • Warnings will pe painted on screen when there is an Id clash for Grid, Plot or ScrollArea (#1452).
    • Checkbox and RadioButton with an empty label ("") will now take up much less space (#1456).
    • Replaced Memory::top_most_layer with more flexible Memory::layer_ids.
    • Renamed the feature convert_bytemuck to bytemuck (#1467).
    • Renamed the feature serialize to serde (#1467).
    • Renamed Painter::sub_region to Painter::with_clip_rect.

    Fixed 🐛

    • Fixed ComboBoxes always being rendered left-aligned (#1304).
    • Fixed ui code that could lead to a deadlock (#1380).
    • Text is darker and more readable in bright mode (#1412).
    • Fix a lot of broken/missing doclinks (#1419).
    • Fixed Ui::add_visible sometimes leaving the Ui in a disabled state (#1436).
    • Add line breaking rules for Japanese text (#1498).

    Deprecated ☢️

    • Deprecated CollapsingHeader::selectable (#1538).

    Removed 🔥

    • Removed the single_threaded/multi_threaded flags - egui is now always thread-safe (#1390).

    Contributors 🙏

    ... (truncated)

    Commits
    • dc26890 Release 0.18.0 - Shape::Callback, Table, and better text contrast
    • 9394e7e Publish new web demo
    • f0e6332 Fix cargo deny (#1549)
    • d24599f Revert tts version to 0.20
    • 45b0a07 Clean up changelogs and add contributors section
    • b41fb58 Add doclinks to egui_extras::RetainedImage
    • ec57683 Update some crates
    • 00471f2 Update cint 0.2 -> 0.3
    • ed4fe43 Update tts 0.20 -> 0.21
    • 30aeb2a Update webbrowser 0.6 -> 0.7
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Update ordered-float requirement from 2.1 to 3.0

    Update ordered-float requirement from 2.1 to 3.0

    Updates the requirements on ordered-float to permit the latest version.

    Release notes

    Sourced from ordered-float's releases.

    v3.0.0

    • Breaking change: Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat to fix type inference errors (#91).
    • Breaking change: Update optional schemars dependency to version 0.8.
    • Add NotNan::as_f32 method (#109).
    Commits
    • 96db24e Update README
    • e4b7c07 Version 3.0.0
    • a849e73 Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat
    • 61975f1 Add lossy conversion for NotNan\<f64> to NotNan\<f32> (#109)
    • 158a3ae Explains needless mut borrow
    • ba12cb5 Adds clippy and fmt check to CI
    • ed9dcd4 Bumps up schemars to the latest version (0.8.8)
    • 77b1457 Removes two needless borrows
    • 6d2f2d2 Version 2.10.0
    • fd3583f impl arbitrary::Arbitrary for NotNan and OrderedFloat.
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump actions/checkout from 2 to 3

    Bump actions/checkout from 2 to 3

    Bumps actions/checkout from 2 to 3.

    Release notes

    Sourced from actions/checkout's releases.

    v3.0.0

    • Updated to the node16 runtime by default
      • This requires a minimum Actions Runner version of v2.285.0 to run, which is by default available in GHES 3.4 or later.

    v2.4.2

    What's Changed

    Full Changelog: https://github.com/actions/checkout/compare/v2...v2.4.2

    v2.4.1

    • Fixed an issue where checkout failed to run in container jobs due to the new git setting safe.directory

    v2.4.0

    • Convert SSH URLs like org-<ORG_ID>@github.com: to https://github.com/ - pr

    v2.3.5

    Update dependencies

    v2.3.4

    v2.3.3

    v2.3.2

    Add Third Party License Information to Dist Files

    v2.3.1

    Fix default branch resolution for .wiki and when using SSH

    v2.3.0

    Fallback to the default branch

    v2.2.0

    Fetch all history for all tags and branches when fetch-depth=0

    v2.1.1

    Changes to support GHES (here and here)

    v2.1.0

    ... (truncated)

    Changelog

    Sourced from actions/checkout's changelog.

    Changelog

    v3.0.2

    v3.0.1

    v3.0.0

    v2.3.1

    v2.3.0

    v2.2.0

    v2.1.1

    • Changes to support GHES (here and here)

    v2.1.0

    v2.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Bump actions/checkout from 2 to 3.1.0

    Bump actions/checkout from 2 to 3.1.0

    Bumps actions/checkout from 2 to 3.1.0.

    Release notes

    Sourced from actions/checkout's releases.

    v3.1.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/checkout/compare/v3.0.2...v3.1.0

    v3.0.2

    What's Changed

    Full Changelog: https://github.com/actions/checkout/compare/v3...v3.0.2

    v3.0.1

    v3.0.0

    • Updated to the node16 runtime by default
      • This requires a minimum Actions Runner version of v2.285.0 to run, which is by default available in GHES 3.4 or later.

    v2.4.2

    What's Changed

    Full Changelog: https://github.com/actions/checkout/compare/v2...v2.4.2

    v2.4.1

    • Fixed an issue where checkout failed to run in container jobs due to the new git setting safe.directory

    v2.4.0

    • Convert SSH URLs like org-<ORG_ID>@github.com: to https://github.com/ - pr

    v2.3.5

    Update dependencies

    v2.3.4

    v2.3.3

    ... (truncated)

    Changelog

    Sourced from actions/checkout's changelog.

    v3.1.0

    v3.0.2

    v3.0.1

    v3.0.0

    v2.3.1

    v2.3.0

    v2.2.0

    v2.1.1

    • Changes to support GHES (here and here)

    v2.1.0

    v2.0.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
Releases(v0.0.0-astral)
Owner
Zakarum
Zakarum
Victorem - easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust.

Victorem Easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust. Example Cargo.toml [dependencies] vict

Victor Winbringer 27 Jan 7, 2023
Minecraft-esque voxel engine prototype made with the bevy game engine. Pending bevy 0.6 release to undergo a full rewrite.

vx_bevy A voxel engine prototype made using the Bevy game engine. Goals and features Very basic worldgen Animated chunk loading (ala cube world) Optim

Lucas Arriesse 125 Dec 31, 2022
2-player game made with Rust and "ggez" engine, based on "Conway's Game of Life"

fight-for-your-life A 2-player game based on the "Conway's Game of Life", made with Rust and the game engine "ggez". Create shapes on the grid that wi

Petros 3 Oct 25, 2021
2d Endless Runner Game made with Bevy Game Engine

Cute-runner A 2d Endless Runner Game made with Bevy Game Engine. Table of contents Project Infos Usage Screenshots Disclaimer Project Infos Date: Sept

JoaoMarinho 2 Jul 15, 2022
A game of snake written in Rust using the Bevy game engine, targeting WebGL2

Snake using the Bevy Game Engine Prerequisites cargo install cargo-make Build and serve WASM version Set your local ip address in Makefile.toml (loca

Michael Dorst 0 Dec 26, 2021
A game made in one week for the Bevy engine's first game jam

¿Quien es el MechaBurro? An entry for the first Bevy game jam following the theme of "Unfair Advantage." It was made in one week using the wonderful B

mike 20 Dec 23, 2022
A Client/Server game networking plugin using QUIC, for the Bevy game engine.

Bevy Quinnet A Client/Server game networking plugin using QUIC, for the Bevy game engine. Bevy Quinnet QUIC as a game networking protocol Features Roa

Gilles Henaux 65 Feb 20, 2023
Solana Game Server is a decentralized game server running on Solana, designed for game developers

Solana Game Server* is the first decentralized Game Server (aka web3 game server) designed for game devs. (Think web3 SDK for game developers as a ser

Tardigrade Life Sciences, Inc 16 Dec 1, 2022
Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like.

bevy_cleancut Random utility stuff for bevy for my personal use. You're welcome to use it, too, if you like. Stuff It's all in the prelude: use bevy_c

Nathan Stocks 3 Aug 15, 2024
A refreshingly simple data-driven game engine built in Rust

What is Bevy? Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever! WARNING Bevy is still in the ve

Bevy Engine 21.1k Jan 4, 2023
A modern 3D/2D game engine that uses wgpu.

Harmony A modern 3D/2D game engine that uses wgpu and is designed to work out of the box with minimal effort. It uses legion for handling game/renderi

John 152 Dec 24, 2022
RTS game/engine in Rust and WebGPU

What is this? A real time strategy game/engine written with Rust and WebGPU. Eventually it will be able to run in a web browser thanks to WebGPU. This

Thomas SIMON 258 Dec 25, 2022
unrust - A pure rust based (webgl 2.0 / native) game engine

unrust A pure rust based (webgl 2.0 / native) game engine Current Version : 0.1.1 This project is under heavily development, all api are very unstable

null 368 Jan 3, 2023
Basic first-person fly camera for the Bevy game engine

bevy_flycam A basic first-person fly camera for Bevy 0.4 Controls WASD to move horizontally SPACE to ascend LSHIFT to descend ESC to grab/release curs

Spencer Burris 85 Dec 23, 2022
A no-frills Tetris implementation written in Rust with the Piston game engine, and Rodio for music.

rustris A no-frills Tetris implementation written in Rust with the Piston game engine, and Rodio for music. (C) 2020 Ben Cantrick. This code is distri

Ben Cantrick 17 Aug 18, 2022
Inspector plugin for the bevy game engine

bevy-inspector-egui This crate provides the ability to annotate structs with a #[derive(Inspectable)], which opens a debug interface using egui where

Jakob Hellermann 517 Dec 31, 2022
Crossterm plugin for the bevy game engine

What is bevy_crossterm? bevy_crossterm is a Bevy plugin that uses crossterm as a renderer. It provides custom components and events which allow users

null 79 Nov 2, 2022
Concise Reference Book for the Bevy Game Engine

Unofficial Bevy Cheat Book Click here to read the book! Concise reference to programming in the Bevy game engine. Covers useful syntax, features, prog

null 947 Jan 8, 2023
Proof-of-concept of getting OpenXR rendering support for Bevy game engine using gfx-rs abstractions

Introduction Proof-of-concept of getting OpenXR rendering support for Bevy game engine using gfx-rs abstractions. (hand interaction with boxes missing

Mika 52 Nov 14, 2022