Code Monkey home page Code Monkey logo

velaptor's Introduction


Velaptor

GitHub Workflow Status Nuget (with prereleases)

GitHub Workflow Status GitHub issues by-label

Discord Twitter URL

!! NOTICE !!

This library is still under development and is not at v1.0.0 yet!! However, all of the major features are available, so we encourage you to use it and report back any issues and improvements you may have. That is what open source is all about. 🥳

📖 About Velaptor

Velaptor is a 2D game development framework written in modern C# that strives to be simple and easy to use. Game development can be difficult which is why Velaptor was developed. It takes care of all of the lower level, more complicated things for creating a game like playing sound, loading graphics, managing content, multi-platform, and dealing with input, just to name a few. This way you can just concentrate on developing your game or multi-media application.

✨Features

Cross-Platform

We strive for Velaptor to be a cross platform library by running under .NET v6.0+.

Easy To Use

One of the goals of this library is to make sure that the it is easy to use. Everything from naming, documentation and usability of the API will be first class citizens.

Flexible Content Loading System

Velaptor has the ability to load texture atlas data for texture atlas type rendering as well as single image and sound content. The content loading system is flexible and has an API with the ability to be extended to load custom content for your media applications and games.

Content Caching

Loaded content such as images and sounds are cached for performance reasons. If the same content is attempting to be loaded from its source after it has already been loaded, that same content will be used from memory instead of being reloaded. You can also load content by building your own content loader.

Feature Demo Application

CompleteVideo.mp4

🔧Maintainers

We currently have the following maintainers:

📄Documentation

  • Go to the Table Of Contents for instructions on various topics such as:
    • Branching
    • Release Process
    • Environment Setup
    • and more . . .

🙏🏼Contributing

Velaptor encourages and uses Early Pull Requests. Please don't wait until you're finished with your work before creating a PR.

  1. Fork the repository.
  2. Create a feature branch following the feature branch section in the documentation here.
  3. Add an empty commit to the new feature branch to start your work off.
    • Use this git command: git commit --allow-empty -m "start work for issue #<issue-number-here>".
    • Example: git commit --allow-empty -m "start work for issue #123".
  4. Once you've pushed a commit, open a draft pull request. Do this before you start working.
  5. Make your commits in small, incremental steps with clear descriptions.
  6. All unit tests must pass before a PR will be completed.
  7. Make sure that the code follows the the coding standards.
    • Pay attention to the warnings in Visual Studio!!
    • Refer to the .editorconfig files in the code base for rules.
  8. Tag a maintainer when you're done and ask for a review!

If you have any questions, please reach out to a project maintainer.

Practices

  • The code base is highly tested by using unit tests while maintaining a high level of code coverage. Manual testing is performed using the included testing application built specifically for manually testing the library. When contributing, make sure to add or adjust the unit tests appropriately regarding your changes and perform manual testing.
  • We use a combination of StyleCop and Microsoft.CodeAnalysis.NetAnalyzers libraries for maintaining coding standards.
    • We understand that there are some exceptions to the rule and not all coding standards fit every situation. In these scenarios, contact a maintainer and lets discuss it!! Warnings can always be suppressed if need be.
  • We use semantic versioning 2.0 for versioning.
  • Branching model below.

Further Resources

  • The sample project named VelaptorTesting can be found in the Testing Folder
    • This is a sample project for the purpose of performing manual testing of the library as well as understanding how to use it.
  • CASL is used for audio.
  • Powered by Silk.NET.

Licensing And Governance

Contributor Covenant GitHub

Velaptor is distributed under the very permissive MIT license and all dependencies are distributed under MIT-compatible licenses. This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.

velaptor's People

Contributors

calvinwilkinson avatar kselena avatar kinsondigitaladmin avatar kshitiz-mhto avatar quinnrdavis 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.