Skip to content

BeatUp Engine v1.1

Choose a tag to compare

@bishpop bishpop released this 20 Oct 11:23
· 8 commits to main since this release
665c2bb

BeatUp Engine

A lightweight C++ rhythm game engine, chart editor and patcher built around classic 6-key + Space gameplay, accurate timing and a mapper-friendly workflow.

Latest release: v1.1 · Windows 10/11 x64 · single portable .exe · free to play

Download · Website & user manual · All releases


What's new in v1.1

v1.1 is about charting faster: an assistant that listens to your song, drag & drop, a built-in metronome and a long list of editing conveniences — plus an optional diagnostics mode for hunting down performance problems.

Chart Assistant

The assistant analyses your song and proposes an editable chart draft. It is a starting point, not a finished chart: everything lands in the normal editor, where you check, move and delete as usual.

  • Automatic BPM detection when you import music. Candidates show up in the import dialog; a BPM you type yourself is never overwritten.
  • Silencer file names are understood. artist - title_bpm_startMadi_totalMadi provides the exact BPM, the start MADI and the chart length. The first Space sits in MADI start MADI + 1.
  • A draft that follows the song, not random beats:
    • quiet gaps stay empty,
    • calmer parts become 1/8 patterns,
    • loud, busy parts (choruses) become continuous 1/16 streams.
  • Spaces always on the first beat of a MADI, every second MADI, restarting after breaks. Space + Finish is placed at long breaks and as the last Space.
  • Draft notes are normal notes with a tint. One Undo step per generation. Accept removes the tint, Discard removes untouched draft notes, Select selects them for further editing. Regenerating only replaces draft notes you have not touched; your own notes are never overwritten.
  • Chart on: Mix / Vocals / Instruments. For the best result with vocals or instruments, load your own stem file (an isolated vocal or instrumental track from e.g. UVR or Demucs, same length as the song). Without a stem, the engine estimates the separation from the stereo mix.
  • Intelligent charting checkbox directly in the import dialog — the draft is created right after loading. Ctrl+Alt+G opens the assistant at any time.
  • Live settings: density (share of full 1/16 sections), finest rhythm (1/4 · 1/8 · 1/16), Space interval and phase, Finish marks, lane choice by sound, timing shift, variation seed.

Good to know: vocal/instrument separation without a stem is an approximation (centre vs. side of the stereo image, harmonic vs. percussive). Instruments works noticeably better than vocals. Always review the draft in the editor.

Drag & drop

Drop files straight into the editor:

File What happens
Music (.ogg .mp3 .wav .flac .m4a .opus .aac) BPM analysis and the import dialog, as with Import audio
.slk / .ssc chart Imported if music is loaded — otherwise a reminder to load the music file first
.bu project Always loads (audio and chart are both inside)

Built-in metronome

The metronome click is generated by the engine itself — no sound files needed. The first beat of every MADI is accented. Toggle with F4.

Engine Diagnostics (optional)

Off by default. Enable it in Options › General › Diagnostics mode. With it on:

Key Action
F10 Overlay: off → compact → detailed
Shift+F10 Export a report (.txt + per-frame .csv)
Ctrl+F10 Reset measurements
Alt+F10 Move the overlay to another corner

What is measured:

  • Frame times — average, median, p95/p99, 1 % low, hitch counts and the slowest frames, split into events / update / render / present / wait.
  • Audio — backend, device, buffer size and estimated audio stalls (the audio clock falling behind the system clock).
  • Input — delay from the OS to the engine and from input to the presented frame.
  • System — SDL renderer and driver, display mode, memory (working set, private bytes, trend as a leak hint) and CPU load.

The report ends with plain-language findings and contains hardware information only — no names, file paths or chart contents — so it is safe to attach to a bug report. It is saved to the reports folder in the data folder (Options has an Open reports folder button).

Editor workflow

  • Paste selects the pasted notes and releases the old selection, so a copy can be moved, mirrored or copied again right away.
  • Ctrl+D Duplicate — copy placed right behind the selection and selected; press repeatedly to repeat a pattern.
  • Ctrl+X Cut · Ctrl+I Invert selection.
  • Ctrl+↑/↓ Move selected notes by one beat (Shift = one MADI). Blocked if another note is in the way or the chart ends.
  • Home / End jump to the start / end of the chart.
  • Right-click › Select: this MADI · from here to the end · all arrows · all spaces · invert. Right-click › Move selection.
  • Selection size and MADI range are shown in the corner of the chart.
  • Autosave every 2 minutes after changes (audio included) to the autosave folder. File › Restore Autosave brings it back; Ctrl+S never overwrites the autosave file.

Timing

Notes placed by the assistant take the editor's sync offset into account, so they land on the right 1/16. If a song still feels uniformly early or late, use the Timing shift buttons in the assistant window.


Getting started

  1. Download BeatUpEngine-v1.1-Windows-x64.zip from the latest release and extract it anywhere.
  2. Run BeatUpEngine.exe. Everything (graphics, fonts, sounds) is built in.
  3. In the editor choose File › Import audio or drop a music file into the window. Check the BPM, enter the start MADI if it is not in the file name, and tick Intelligent charting if you want a draft.
  4. Edit, press F5 / Space to play, Ctrl+Shift+S to save a .bu project, Ctrl+Shift+E to export .slk.

Windows or your antivirus shows a warning? The program is not code-signed (certificates are expensive), and new programs that few people have downloaded are often flagged. In SmartScreen click More info › Run anyway. If an antivirus quarantined the file, restore it and add an exception for the BeatUp Engine folder only. Only download from this repository's releases or the official website.

Everyday controls

Key Action
F1 F2 F3 Game · Editor · Split view
F4 Metronome
F5 / Space Play / Pause
F6 Auto-play
F7 Stop / reset
F10 Diagnostics overlay (if enabled)
F11 Fullscreen
Ctrl+S Options (sound settings)
Ctrl+Shift+S Save .bu project
Ctrl+Shift+E / Ctrl+Shift+V Export .slk / .ssc
Ctrl+Alt+G Chart Assistant
Alt+←/→ Snap 1/4 · 1/8 · 1/16
↑/↓ · Shift+↑/↓ Jump one beat · one MADI
Ctrl+←/→ Playback speed
Ctrl+B Bookmark
Ctrl+C Ctrl+V Ctrl+X Ctrl+D Ctrl+I Copy · Paste · Cut · Duplicate · Invert selection
Ctrl+↑/↓ Move selected notes
Ctrl+W / Ctrl+E Mirror horizontally / vertically

Editor columns: 7 · 4 · 1 · 9 · 6 · 3 · SP · F. Number keys 1–8 follow the columns; enable Numpad Charting in Options to place notes with the keys you play with.

Earlier releases

  • v1.0.1 — Play your chart mode, music stored inside .bu projects, one Options window, optional Patcher, everything built into a single .exe, BeatUp Night theme.
  • v1.0 — new ranks (S+ to F) and result card, compact score bar, snap hotkeys, Numpad Charting, bookmarks inside projects.
  • v0.6 – v0.2 — Theme Editor, Split View, Receptor Bar, Challenger Mode, .bu projects, patch management, waveform, undo/redo and more.

See the releases page for the full notes of each version.

Credits

Made by BeatUp charters, for BeatUp charters.

Thanks to everyone who tested builds, reported bugs and shared ideas: Wonderful93, nvme, SCrispy, miki, nongginga.

Built with C++ and SDL2, Dear ImGui, miniaudio and stb_vorbis. The tempo and onset analysis behind the Chart Assistant is adapted from ArrowVortex's tempo detection (which in turn contains code derived from aubio).


BeatUp Engine is an independent fan project and is not affiliated with Audition Online or its publishers.