colbyhall/newport

Newport Engine is a modular 2D and 3D game engine built in Rust for Rust

It is designed to be easily extendable and easy to use

About

. . The project is early on in development. Every API is extremely volatile as the engine is worked on more.

Goals

  • Independent - Build with minimal dependencies
  • Modular - Use modules to build building blocks that are combined for engine features.
  • Performant - Iteration times are very important for work flows. Not only game runtime but editor time must be performant
  • Cohesive - Keep tools and interaction with tools in Rust for simplicity

Dependencies

Dependencies that couldn't be given up.

  • hassle-rs
  • ash
  • serde
  • ron

Inspiration

This project is heavily inspired by those that came before it. This including AAA engines like the Naughty Dog Engine or other Rust engines such as Bevy.

Issues

Collection of the latest Issues

colbyhall

colbyhall

enhancement
Comment Icon0

Summary

First Person Movement is a core feature to this game. It needs to feel fluid, reactive, and predictable. It should handle walking, nav walking, falling, and the ability to integrate with other custom logic such as a grappling hook.

Goals

  • Grounded Movement (Ability to stand on moving objects)
  • Gamepad and M & KB Input
  • Interaction with dynamic physics objects
  • Jumping

Task

  • #3
  • Camera movement
  • PhysicsManager::move_rigid_body
  • Sliding across floors.
  • Step Up and Step Down
  • Jumping
colbyhall

colbyhall

enhancement
Comment Icon0

Summary

Integrate the rapier physics engine. This requires a light abstraction over everything rapier to seamlessly fit into the Newport ECS.

Goals

  • Colliders
    • Collider Component
    • Shapes
      • Cube
      • Capsule
      • Sphere
      • Convex Hull
  • Rigidbodies
    • RigidBody Component
    • Proper Mass Handling
  • Querying
    • Ray Casting
    • Shape Casting
    • Overlap Test
    • Point Projection
  • Channels
  • Filters
colbyhall

colbyhall

question
Comment Icon0

Elevator Pitch Platformer Puzzle based off of controlling velocity in unique means

Synopsis Maybe something underwater as the density of water could add on to the gameplay.

Game Loop First Person movement platforming using unique gadgets and world props. Constantly trying to progress forward through new challenges of movement given provided building blocks.

Features

  • #4
  • Parkour
  • Zip Lining
  • Grapple Hooks
  • Monkey Bars
  • Surf/Snow Boarding???

Scope

  • Single developer
  • 3D might be too expensive and time consuming to achieve
  • Story that is abstract but impactful

Information - Updated Jul 18, 2022

Stars: 4
Forks: 0
Issues: 3

Repositories & Extras

Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code:

Some images of the test scenes are shown below, but you can find more

Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code:

Rust crate providing cross-platform information about the notebook batteries

battery provides a cross-platform unified API to a notebook batteries state

Rust crate providing cross-platform information about the notebook batteries

Rust crate to parse PBRT v3 scenes files

Rust crate to parse PBRT's Rust version

Rust crate to parse PBRT v3 scenes files

Rust crate for logging to LogDNA

Bug reports and pull requests are welcome on GitHub at

Rust crate for logging to LogDNA

Rust crate to generate, manipulate and traverse trees

Socarel is a catalan word composed by soca (trunk) and rel (root)

Rust crate to generate, manipulate and traverse trees

Rust crate where we implement vectorized versions of fast pseudo-random number generators

vec_rand once you have rust nightly installed (nightly is needed to use inline assembly), just clone the repo and run RUSTFLAGS='-C target-cpu=native' cargo bench

Rust crate where we implement vectorized versions of fast pseudo-random number generators

Rust crate to support Atmel's SAM3X8E microcontroller

The SAM3X8E is used on the Arduino Due board

Rust crate to support Atmel's SAM3X8E microcontroller

Rust crate that provides a DBus API for interacting with logind, which is useful for...

Rust crate that provides a DBus API for interacting with logind, which is useful for doing things such as inhibiting suspension

Rust crate that provides a DBus API for interacting with logind, which is useful for...
Facebook Instagram Twitter GitHub Dribbble
Privacy