Coder Social home page Coder Social logo

ezioleq / noiseengine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from noisestudio/noiseengine

0.0 0.0 0.0 3.94 MB

Completely free, open-source, cross-platform, and blazingly fast asynchronous engine for creating modern games and apps

Home Page: https://noisestudio.net

License: MIT License

C# 86.20% Rust 13.80%

noiseengine's Introduction

NoiseEngine logo

Tests Issues License Milestone GitHub stars GitHub forks Discord

Completely free, open-source, cross-platform, and blazingly fast asynchronous engine for creating modern games and apps.

https://noisestudio.net/

Warning NoiseEngine is still in very early development. Frequent changes, missing docs, and instabilities may occur.
You should avoid using it for any game development before v0.1.0 is released. Contributions are welcome!

Why?

Popular game engines were created many years ago and are based on synchronous APIs which do not take full advantage of modern CPUs. While building the prototype of our own next generation procedural game in 2021 using an existing engine, we had difficulties with optimizing internal things in the engine which we used. We started looking for alternatives, but they all had the same problems, so we made the difficult decision to create our own engine - NoiseEngine.

Our golden goal is to create the most performant engine, one which enables game developers to create games which are hard to do with current generation engines. Also on AAA scale.

Voxel terrain Real-time voxel terrain demo, render distance 8192 meters/blocks - 1 Februrary 2023

Overview

Documentation

Currently (before v0.1.0) initial documentation is still being writen. It is not published on any website, but you can read it from documentation comments. You can find usage examples in tests. There is currently no user manual.

Project structure

We have a few repositories which contain parts of the entire project:

  • Current - contains the core of the engine, all APIs which you will use when building your application.
  • NoiseEngine.Cli - command line interface tools for building and shipping games and apps with NoiseEngine
  • NoiseEngine.Editor - graphical user interface that simplifies creating games and apps

You can see more details about the structure of this repository here.

Versioning

We use sementic versioning. After the first version is released (v0.1.0), the plan is to often release patch updates. At the same time we are of the opinion that the master branch should always remain backwards compatible with as much code as possible.

Technology stack

NoiseEngine uses .NET 7 and recent versions of Rust. For rendering we currently use Vulkan. Support for other graphics APIs can be added in the future.

Contribution

How can I contribute?

We welcome contributions! Without your help, we won't be able to fulfill our golden goal.

In addition, do not forget to format your Rust code with rustfmt and check it with clippy before filing a pull request:

Formatting (installation guide):

cargo fmt

Clippy (installation guide):

cargo clippy

Building and testing

To compile this project you will need .NET 7.0 SDK, as well as the latest version of Rust.

Once you have these, you can build the project by running the following command in the repository root:

dotnet build

And you can run tests by:

dotnet test

Rust compilation will be executed automatically and results will be shown in console output.

License

NoiseEngine is licensed under the MIT license.

noiseengine's People

Contributors

vixenka avatar kkard2 avatar xori7 avatar ezioleq avatar liquidev avatar

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.