Skip to content

teezzan/Velaptor

 
 

Repository files navigation


Velaptor

Contributor Covenant

Twitter URL

!! NOTICE !!

This library is still under development and is not at v1.0.0 yet!! All of the major features are there though 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. This is why using a framework that takes care of all of the lower level, more complicated things to creating a game can help!! Things such as playing sound, loading graphics, managing content, multi-platform, and dealing with input are just some of the things that a game framework can provide. 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 v5.0. There are plans for this library to continually be updated as we approach .NET 6.0 and beyond.

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 the usability of the how API needs to be simple and easy.

Flexible Content Loading System

Velaptor has the ability to load texture atlas image and JSON data for texture atlas type rendering as well as single image content and sound content. The content loading system is flexible and has an API that has 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 reuse and performance reasons. If the same content is loaded from disk after it has already been loaded, the same image content will be used for rendering. This is the same for sounds and texture atlas data. Custom content loading will not come with caching and will have to be added.

🔧Maintainers

We currently have the following maintainers:

📄Documentation

  • Goto the Table Of Contents for instructions on various things such as the 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.

Simple Overview:

  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 of [thing you're working on]"
  4. Once you've pushed a commit, open a draft pull request. Do this before you actually 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, don't be afraid to ask.

Practices

  • The code base is highly tested using unit testing and a high level of code coverage is maintained. When contributing, make sure to add or adjust the unit tests appropriately regarding your changes.
  • 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.

Further Resources

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

Licensing And Governance

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.9%
  • GLSL 0.1%