Giter Site home page Giter Site logo

quaver / quaver Goto Github PK

View Code? Open in Web Editor NEW
652.0 652.0 98.0 43.84 MB

The ultimate community-driven, and open-source competitive rhythm game available on Steam.

Home Page: https://quavergame.com/steam

License: Mozilla Public License 2.0

C# 100.00% Shell 0.01%
csharp dotnet game monogame multiplayer-game open-source quaver ranking rhythm-game steam xna

quaver's Introduction

Quaver

GitHub Actions Workflow Status CodeFactor license

Quaver is a community-driven and open-source competitive vertical scrolling rhythm game with two game modes and online leaderboards. It also features an in-game editor and a flexible multiplayer mode.

It is also available on Steam for Windows, Mac, and Linux—making it one of the most accessible community-driven rhythm games to date.

Building & Running

Getting started with Quaver development is extremely easy.

  • Install the .NET 6 SDK
  • Clone the Quaver repository and its submodules git -c submodule."Quaver.Server.Client".update=none clone https://github.com/Quaver/Quaver --recurse-submodules
  • Have Steam open and running
  • Build & run Quaver with dotnet run --project Quaver

Contributing

The best place to begin contributing to Quaver is through our Discord server, where all of our developers, community, and testers are located.

Any contributions can be made through opening a pull request. When contributing however, please keep in mind that there should only be one branch/pull request per feature. This means if your branch is titled my-new-feature, you shouldn't have any unrelated commits, and the same system is applied to pull requests. Please make sure to keep your pull requests short and concise.

If you are wanting to develop a feature with the goal of having it being in the Steam release, open up an issue first, so we can discuss if it is in the scope of what we are trying to accomplish.

When contributing, please remember to follow our code style, so the codebase is consistent across the board. If you have any issues with our approaches to structuring/styling our code, feel free to bring this up.

LICENSE

The Quaver game client is split up into submodules which are subject to their own individual licensing. Please see each submodule to view their respective license(s).

The code in this repository is released and licensed under the Mozilla Public License 2.0. Please see the LICENSE file for more information. In short, if you are making any modifications to this software, you must disclose the source code of the modified version of the file(s), and include the original copyright notice.

Please be aware that all game assets are released and covered by a separate license. This should be noted when using this software to create derivatives for commercial purposes. Please see the Quaver.Resources repository for further information regarding licensing.

quaver's People

Contributors

adrriii avatar aiae avatar betavn avatar bweekz avatar cuckson avatar dependabot[bot] avatar electroyan avatar emik03 avatar faluhub avatar flustix avatar greenscreen410 avatar icedynamix avatar illuminati-craz avatar jaanjah avatar lolepop avatar not-nef avatar pyroy avatar renzo904 avatar robby250 avatar sceptimis avatar staravia avatar surepy avatar swan avatar vortexcoyote avatar warp9000 avatar williamqiufeng avatar xdestx avatar yalter avatar yasha-jin avatar zexenuxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quaver's Issues

Set default values for config file & error checking.

When the user loads the game for the first time, or has items missing from their config file, we'll want to reset those default values and append them to a .cfg file.

For this we'll need to do a few things:

  • Check if all required values exist
  • Check if all the required values are of the correct type
  • Check if Songs/Skins directory exists, and if not create it.
  • Get Window X, Y
  • Get Monitor Display
  • Get Monitor X, Y
  • Get Quaver Version
  • Get Build Hash
  • Check if loaded skin exists in directory
  • Check if keybinds are correct

Automatically detect when new songs have been added to the directory.

Whenever a change has been detected in the songs directory, it should detect that and add/delete/edit and reload those changes to the beatmap cache. It should come up with some sort of ticker whenever a change is detected so the user can confirm, but this'll only be available during the song select state.

Save Config File Method

This'll be useful when someone changes any values such as keybinds, window size, etc. Essentially just take a Cfg argument and overwrite/create the quaver.cfg file.

TEST

fuc stepmania

Song Directory Convention

Swan - Today at 1:34 PM
sweet, and also for song folder convention are we going to go by "C\Quaver\Songs\Artist - Title"
do you think we need a unique identifier for each directory
takemymoney123 - Today at 1:34 PM
nah
Swan - Today at 1:34 PM
what if there's two with the song artist and title
takemymoney123 - Today at 1:34 PM
we dont need a unique identifier like osu
ok nvm maybne
Swan - Today at 1:35 PM
thats why osu does that im pretty sure
takemymoney123 - Today at 1:35 PM
yea lol
Swan - Today at 1:36 PM
maybe the key in the array of directories
1 Camellia - Backbeat Maniac
2 Chicken - Eater
3 Camellia - Backbeat Maniac
takemymoney123 - Today at 1:37 PM
yo yea i like that better
its more organized, cuz you can see which map you downloaded last

Parser for .sm files

When Parsing .sm files, you'll want to have an array/list of StepMania chart classes. We want each map to be separated and not in the same file.

Loading States

We need the following states as "Loaders"

  • After a user chooses a song in song select; before the gameplay state is loaded. (We'll load the audio & beatmap here and determine if it is actually able to be played).
  • When choosing a new skin.
  • When refreshing the beatmap cache & loaded beatmaps ingame.

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.