The game is being rewrited at game-rewrite
branch using lunge, that is the actual one at the time.
BeatTheNotes (with no spaces) is an open-source cross-platform rhythm game with rich capabilities of enhancing your gameplay expireince.
The game will have modules (extensions) support, which allows anyone who knows C# at the basic level create an add-on to the game or even to the game editor. See more in the Modding section.
In fact, it is a 'reincarnation' of my university course work Notemania.
BeatTheNotes is fully written in C# using MonoGame Framework.
BeatTheNotes will be available in Windows, Linux, OS X and Android systems.
- Windows
- Linux
- OS X
- Android
To be able to build the DesktopGL project you need Visual Studio 2015 or higher and MonoGame Framework 3.6 or higher.
Please note, that the game uses .NET Framework 4.6.1, and the SoundTouch library uses the .NET Standard 2.0. You may need to install both of them.
If you want to build Android project, you'll need to get Visual Studio with Android Tools (Xamarin for Android).
First of all, you need to clone the repo:
git clone https://github.com/lunacys/BeatTheNotes.git
Next, open the BeatTheNotes.sln
file and select the required solution configuration - Debug
or Release
.
Before you can go building the game, you should update the submodules:
cd BeatTheNotes
git submodule update --init
Next copy x86
and x64
folders to {root directory}/BeatTheNotes.DesktopGL
.
Now you can build and run the game.
Please note that this repo doesn't contain any maps to play, you can get some from the BeatTheNotes.Dist
repo. You need the Maps
folder. Just place it into your run directory where executable file is placed, for example:
{root directory}/BeatTheNotes.DesktopGL/bin/AnyCPU/Debug
BeatTheNotes.Framework
- Game framework (In fact, just a game library)BeatTheNotes.Shared
- Shared code for all platformsBeatTheNotes.DesktopGL
- Windows, Linux and OS X versionCurrently is removed.BeatTheNotes.Android
- Android version.SoundTouch
- Music Varispeed. Not used in Android version
Following dependencies are used in the projects as NuGet packages:
MonoGame
- Main frameworkMonoGame.Extended
- Screens, Viewport adapters, etcNewton.Json
- JSON Searialization/DeserializationNAudio
- Audio, Music. Not used in Android version
Currently all the game resources are in work. They will be available as soon as possible.
Plans on game resorces:
PLEASE NOTE: Modding API is not ready yet.
To be fair, we didn't even start creating it. We plan to add modding support it after completing all the main milestones, but only if this will not take a lot of time.
These game aspects you can mod (write an extension to the main game):
- Gameplay Modificators - add new modificators which will slightly change the gameplay exprireince.
- Game Modes - a brand new game mode, where you can anything you want. Even make an RTS. But please don't forget that the game is a rhythm game.
- Beatmap Editor - if you create a new game mode you will want to create a beatmap editor extension to support editing things within the built-in editor.
- BeatmapReader/BeatmapWriter/BeatmapProcessor - those ones are also really important to extend to create a complicated game mode.
- Skins - it's a good idea to rework some art or sound stuff in your game mode, so I'm sure you'll find it useful.
tl;dr: there is no way to do it now.
Every extension should be written in C# using the game API. More info you can find on the Game Wiki (not now).
All the game source code is under MIT license except for SoundTouch which is under LGPL v2.1 license.
Check LICENSE.txt file for more information.