Code Monkey home page Code Monkey logo

bve-reborn / bve-reborn-archive Goto Github PK

View Code? Open in Web Editor NEW
3.0 6.0 0.0 1.5 MB

Mirror of https://gitlab.bvereborn.com/bve-reborn/bve-reborn-archive. Remake of OpenBVE to a Modern Architecture

Home Page: https://bvereborn.com

License: GNU Lesser General Public License v2.1

CMake 1.59% C++ 85.88% Shell 0.04% Batchfile 0.02% Python 6.68% C# 1.53% CSS 3.27% HTML 0.34% Rust 0.65%
openbve graphics threading game windows mac linux nova nova-renderer c-plus-plus

bve-reborn-archive's Introduction

BVE-Reborn

Discord Build Status Release Status Repo-State Status Version

BVE-Reborn is a remake of the train simulator OpenBVE that focuses on visual quality and performance, as well as code quality and flexibility.

While progress is strong, there is still a lot of work to do in order to get a working demo.

BVE uses Rust for all code, which allows the code to be robust and safe from crashes while being just as fast as C/C++.

Building from Source

Binaries will be provided when there is a release, but for now, only developers can make use of BVE-Reborn. If you are a developer the following is how you build from source.

Rust toolchain

You need to install the 2020-06-22 nightly toolchain of rust:

rustup install nightly-2020-06-22

Then you may run the main build process:

cargo build  # Debug Build
cargo build --release  # Release build

Running it requires data files, so contact me directly on the discord if you want to try building it.

bve-reborn-archive's People

Contributors

benunderscore avatar cwfitzgerald avatar kevincybura avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

bve-reborn-archive's Issues

Funicular railway support...

The following link is YouTube footage of a funicular railway: https://www.youtube.com/watch?v=2-jreSblE_c

Generally in Open BVE currently a "flat" track is assumed and graident changes are made with pitch commands..

Would it be possible to have an engine tweak that lets you define a 'ruling' pitch for something like a funicular, making intermediate pitch changes relative? This could possible be done by allowing the nominal 'z-' direction to be redefined perhaps?.

If this sort of change could be locally applied to sections of a route file, it may also be also possible to simulate something like - https://www.youtube.com/watch?v=7pXSSLZpdW4 but that would need a new route file format..

Wishlist: Enhanchment: Dual-head rendering...

Currently Open BVE has a single render pathway, Whilst for most applications this is for performance reasons highly desirable, for others it is a limitation.

Some use cases for having more than one render pathway have been identified.

Currently Open BVE renders either a cab view, or various tracked external views dependent on user choice, on a single display device.

  1. In some applications such as the London Transport Museum 'cab' simulations, it would be advantageous to have more than one output screen, representing views from different cab windows.

  2. Proffesional simulators , tend to have multiple screens, in addition to those in the simulator for "instructor" and third party viewing of the simulation.

  3. A 'composited' texture in the cab-view which could be enabled to simulate an on-train CCTV system, (like that on modern metro stock).

I'm not sure if any of these use cases could be easily supported in the forked version you are developing.

Kiosk, Unattended mode...

Currently OpenBVE assumes that it is being run directly by a user.

Whilst for it's uses to date, this is reasonable, for other uses it would be reasonable to have a 'kiosk' mode that could be enabled for uses cases where a single route would be loaded/rendered and run many times.

The London Transport Musum useage of OpenBVE would for example benefit from "kisok/cabinet" mode.

An AI driver is already present in OpenBVE, albiet it needs routes/trains to support it.

"Kisosk" mode, would also need:

  • Resest time-outs. The route resets , invokes the AI mode or enters a demonstration mode after a certain definable timeout.
  • "Operator" PIN to enter a maintenance mode, (which is effectively the non kiosk mode of the progam)
    and so on.. (will add more to this if I think of things)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.