# UltraStar

UltraStar is a clone of SingStar, a music video game by Polish developer Patryk "Covus5" Cebula. UltraStar lets one or several players score points by singing along to a song or music video and match the pitch of the original song. UltraStar displays lyrics as well as the correct notes similar to a piano roll. On top of the correct notes UltraStar displays the pitch recorded from the players. UltraStar allows several people to play simultaneously by connecting several microphones possibly to several sound cards. To add a song to UltraStar, a file with notes and lyrics is required, together with an audio file. Optionally a cover image, a backdrop image and a video may be added to each song. UltraStar comes preloaded with a short sample from Nine Inch Nails hit "Discipline" from The Slip album.

## License

UltraStar is released under Freeware License. Very old versions were available under GNU General Public License and most game forks were initially based on the old code.

## Shop

New version of the game introduces Song Shop, where users after free registration can download free songs and buy points. Free songs include:
| L.p. | Artist | Title | Language | All countries | Add date |
| 1 | Nine Inch Nails | "Discipline" | English | Yes | 24.02.2010 |
| 2 | Dead Smiling Pirates | "I 18" | English | Yes | 24.02.2010 |
| 3 | Antarhes | "Different Way" | English | Yes | 24.02.2010 |
| 4 | Viola | "Cute Destroyer" | English | Yes | 24.02.2010 |
| 5 | Magdalen Graal | "Behind You" | English | Yes | 24.02.2010 |
| 6 | Hungry Lucy | "Just Imagine" | English | Yes | 11.05.2012 |
| 7 | Hungry Lucy | "Balloon Girl" | English | Yes | 11.05.2012 |
| 8 | Devyn Rose, formerly known as Tanya T6 | "Fly Away" | English | Yes | 11.05.2012 |
| 9 | Josh Woodward | "Heritage Place" | English | Yes | 11.05.2012 |
| 10 | Josh Woodward | "Go" | English | Yes | 11.05.2012 |

## Ports

The original UltraStar is programmed in Kylix/Delphi and made for Microsoft Windows operating-system. There are also ports available in C++ for other operating-systems such as Linux, BSD and other UNIX platforms.

## UltraStar Deluxe

UltraStar Deluxe was started as a modification of UltraStar. Whiteshark initially offered to collaborate with Corvus5, but this offer was declined. Instead Whiteshark started to add some features on his own with the help of Mota. The first release is known as X-Mas mod, due to a release date around Christmas time. This attracted the attention of other developers that were willing to help. The team grew and the source code departed more and more from the original. Smaller features are often implemented in both projects allowing them to benefit from one another. Though the projects' implementations of such features often differ. UltraStar Deluxe is different in three key ways from UltraStar. Significant effort has been put into improving reliability by repairing bugs. The second difference is the visual appearance. Sparkling stars and various other effects have been added in addition to skin support. Many effects are also based on SingStar on PS3, Vocaluxe and Performous. Many new features have been implemented:
* More audio and video formats are supported, such as DivX, XviD, FLV, Avi and WMV.
* Singing screen with golden notes, line bonus and popups
* Lua scriptable Party mode with various game types. This includes support for lua plugins that allow further extension of such game types.
* Improved song management and selection with the ability to search for songs and use playlists
* More detailed statistics screen
* 6 player support on one or split over two screens
* Jukebox mode to listen music
* "Battle of the Bands" party tournament mode
* Webcam support
* The game now runs on Windows XP up to Windows 10, OS X up to El Capitan and many Linux distributions
* Duet singing of songs
* New keyboard shortcuts
* Improved song editor
* Improved overall speed and lowered memory requirements - you can now easily play the game with 5000 songs loaded on a system with 1 GB of RAM
* Smart search feature for song selection and playlist creation
* Switched from SDL1.2 to SDL2, updated many other dependent libraries
* Better Unicode support for multilingual characters in lyrics
UltraStar Deluxe is written in Object Pascal, and compiles with Delphi, Free Pascal and Lazarus.
As of version 1.0.1 UltraStar Deluxe runs on Linux via Wine.
As of version 1.1 UltraStar Deluxe runs on Linux and Mac OS X natively.
After the v1.1 release many developers left the team to work on the new and very similar karaoke games Performous and Vocaluxe. This caused development to cease. Some (new) developers started the UltraStar Deluxe World Party mod and the Challenge & Medley mod. These projects started as forks from UltraStar Deluxe 1.1 sourcecode and eventually developed many new features and bugfixes.
As of version 1.3 UltraStar Deluxe uses SDL2, ffmpeg 2.8, compiles with freepascal 3 and runs natively on all current versions of Windows, Linux and OS X. This version merged the various forks of the game and was intended to revive free/libre open source development of the game.
The version "2017.08.0" released at 2017-08-08 adds support for ffmpeg up to 3.3. It is the first version which is marked as a stable release after the version 1.1 release from 2010 and after the revival of the project.
The latest stable version is the "2020.4.0".

## Performous

Performous is an open-source rhythm/performance platform that contains singing, guitar/bass playing, drumming and dancing all in one game. The project began as rewrite of the UltraStar singing game in October 2006 (first commit on 15-10-2006 11:52 AM UTC), using C++ and targeting Linux. Adding more elements to the game was planned for several years and in 2009 first band game features were added and published on Assembly game development competition. A few months later work on the dance game feature began and even though it is not yet complete, the feature is already available on the development version of the game.
The project was originally known as UltraStar-NG, but the name was changed in version 0.3 in anticipation of adding other instruments and to avoid confusion as the game is not a fork of UltraStar. Also, since version 0.3 the graphics rendering is based on OpenGL for high performance even on slower machines, with full effects, as long as any OpenGL support is available. Various background video formats are supported using FFmpeg.

### Singing game

This part of the game is essentially karaoke, but with scoring and realtime feedback. The gameplay is similar to SingStar: the game analyzes each singer's pitch and gives scores based on how precisely the song was performed. As a reference, the lyrics, the notes and the singer's pitch are displayed on screen as the song plays.
Performous does not attempt to clone SingStar but rather has unique features such as scrolling notes and precise singing pitch display as a wave drawn on screen. These allow players to sing without interruptions and to correct their singing pitch to hit the notes precisely.
Performous does pitch detection with fast Fourier transform (FFT) combined with a sophisticated post-processing algorithm. This system is able to operate well in extremely noisy environments, even when using very cheap microphones.
On Linux the game autodetects any connected SingStar microphones and uses them automatically. On other platforms and with other types of microphones (e.g. webcams or analog microphones connected to sound cards) a best-effort detection is done.
Songs need to be supplied in UltraStar or Frets on Fire format. Performous comes with a tool named 'ss_extract', for converting SingStar DVDs into UltraStar format.

### Band game

The gameplay is similar to Guitar Hero or Rock Band: a guitar controller is used and the player will need to match the notes.
For guitar and bass the game tries to figure out the intention of the player rather than just comparing the nearest available chord, making it easier to play fast passages. Hammer-ons and pull-offs (HOPOs) also consider player's intention. If the player intends to pick a note in a regular fashion but happens to HOPO it by accident a moment before, the pick will undo the HOPO and no mistake happens. These little gameplay tweaks in favor of the player make the game much more enjoyable as playing correctly will no longer produce mistakes when the timing is slightly off or when the player chooses not to use the HOPO feature. Timing accuracy is still considered in the scoring so that hitting all notes does not always give the maximum score.
Performous detects any connected Guitar Hero or Rock Band controllers automatically. Additionally, a PC keyboard can be used as a guitar controller. Songs need to be in Frets on Fire format.

### Dance game

The gameplay is similar to Dance Dance Revolution or StepMania: the dancer will have to match the steps displayed on screen on a dancing mat as precisely as possible. Songs need to be in StepMania format.

### Assembly Summer 2009

'Performous Band', a stripped-down version of the game, containing only the band game (guitar, bass and drums) took part in the game development competition. The game was displayed with a pre-recorded presentation video, but there were significant audio-video synchronization issues with the video even though the game itself had no such issues. Due to copyright issues and the lack of freely usable songs at the time, part of the demonstration was done with the music completely muted. The game finished on the 12th place with 642 points.

### Releases

On 2014-11-01, Performous released its 1.0 version containing a new engine based on SDL2, the ability to create playlists, and a lot of bug fixes.
On 2016-01-23, Performous released its 1.1 version containing mostly bug fixes.
On 2022-03-27, Performous released its 1.2 version.
On 2023-09-01, Performous released its 1.3 version.
On 2023-11-24, Performous released its 1.3.1 version.