Underground 2 Revived
Chrome과 Firefox에서 Need for Speed Underground 2를 WebGPU로 두고 팬 프로젝트입니다
Cuphead 캠페인을 ROUNDS 캐릭터로 플레이한다 패자는 카드를 뽑고 승리 시 덱이 초기화돼 모든 카드가 적용된다
Play Cuphead's campaign as your ROUNDS character: the loser picks a card, the deck resets when you win, every card works on Cuphead's…
게임C# · PythonGitHub @neednotapply온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Roundhead: real ROUNDS players in Cuphead's levels. A Cuphead x ROUNDS mod (BepInEx), live on Melty.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Play Cuphead's whole campaign as your ROUNDS blob.
Play it on Melty: melty.gg/m/roundhead. One click, using your own Steam copies of Cuphead and ROUNDS. The trailer is on that page; a smaller preview is in media/listing.
Requires your own Cuphead and ROUNDS (the mod-compatible "old-rounds-for-mods" branch Thunderstore supports), both on Steam. Roundhead plays Cuphead's save slot 1 (slots 2 and 3 are left as they are); its cards are saved beside it in %LOCALAPPDATA%\CupRounds\saves, never inside Cuphead's save.
Player 1 has ROUNDS's keyboard and mouse layout; gamepads work for both players.
| Keyboard + mouse | Gamepad | |
|---|---|---|
| Move | A / D (or Cuphead's keys) | left stick |
| Jump | W or Space (hold for higher) | Cuphead's Jump |
| Drop through a platform | S + jump | down + Jump |
| Aim | mouse (crosshair) | right stick |
| Shoot | left mouse (ROUNDS guns fire per click unless cards make them fast) | right trigger or Shoot |
| Block / parry | right mouse, Cuphead's Dash or EX | left trigger, Dash or EX |
| In plane levels | WASD fly, Space parries, Dash or Lock shrinks, right mouse or EX blocks | as in Cuphead; EX blocks |
| Card pick | A / D or the mouse, Space or click to take | left / right, Jump |
| World map and menus | WASD, Space | as in Cuphead |
| Card pack (shop) | P | Lock |
CupRoundsLauncher.exe: the launcher Melty starts (Thunderstore browser, the FACES editor, Play). Your faces are kept in %LOCALAPPDATA%\CupRounds\faces.txt, the editor's pictures in %LOCALAPPDATA%\CupRounds\faces.cuphead/BepInEx/plugins/CupRounds/CupRounds.Cuphead.dll: BepInEx plugin for Cuphead (sends the level and input to ROUNDS, draws ROUNDS's picture, card picks and saves).rounds/BepInEx/plugins/CupRounds.CardEngine/CupRounds.CardEngine.dll: BepInEx plugin for ROUNDS (runs ROUNDS's sandbox with Cuphead's level, the players and the pick screen), talking to Cuphead over shared memory and localhost.You need Windows, the .NET SDK (8 works; the projects target net35, net472 and net48), Python 3, Git Bash for the dev scripts, and your own Cuphead and ROUNDS on Steam. Nothing from either game is in this repository, and nothing should be added.
Unpack BepInEx 5.4.23.2 (BepInEx_win_x64_5.4.23.2.zip from the BepInEx GitHub releases) into ~/cuprounds-work/dl/bepinex. A different work folder can be set with CUPROUNDS_WORK.
Put the license texts the package ships into ~/cuprounds-work/dl. The BepInEx download contains none of them, so take each from its project's repository:
| File | From |
|---|---|
BepInEx-LICENSE.txt | github.com/BepInEx/BepInEx, LICENSE (MIT) |
UnityDoorstop-LICENSE.txt | github.com/NeighTools/UnityDoorstop, LICENSE (LGPL-2.1) |
HarmonyX-LICENSE.txt | github.com/BepInEx/HarmonyX, LICENSE (MIT) |
MonoMod-LICENSE.txt | github.com/MonoMod/MonoMod, LICENSE (MIT) |
Mono.Cecil-LICENSE.txt | github.com/jbevain/cecil, LICENSE.txt (MIT) |
The first two are required. The packager warns about the last three when they are missing.
If your games are not in D:\SteamLibrary\steamapps\common, give their folders to the build as the CupheadDir and RoundsDir environment variables. In PowerShell that is $env:CupheadDir = 'E:\Steam\steamapps\common\Cuphead', and in Git Bash export CupheadDir='E:\Steam\steamapps\common\Cuphead'. The dev scripts set both from CUPHEAD_DIR and ROUNDS_DIR. ROUNDS must be on the old-rounds-for-mods branch.
Decompile your own copies once, for the preflight's hook checks. Install the decompiler with dotnet tool install -g ilspycmd, then run it on each game's Assembly-CSharp.dll:
ilspycmd -p -o ~/cuprounds-decomp/cuphead "<Cuphead>/Cuphead_Data/Managed/Assembly-CSharp.dll"
ilspycmd -p -o ~/cuprounds-decomp/rounds "<ROUNDS>/Rounds_Data/Managed/Assembly-CSharp.dll"
This decompiled code is for checking on your machine only. Never commit it.
The design sheets in sheets/ are the source of truth, and src/Shared/Generated is made from them. Run python -I tools/sheets.py gen after editing a sheet, and python -I tools/sheets.py preflight --code before every build. It must print .
NOTES.md holds the design and testing notes. devtools has the scripts that run the mod on the real games with test bots and that filmed the listing media.
Roundhead is MIT licensed. Its package bundles BepInEx 5.4.23.2 (MIT, with HarmonyX, MonoMod and Mono.Cecil, all MIT) and UnityDoorstop 4.3.0 (LGPL-2.1, shipped unmodified as version.dll). Neither is in this repository; their licenses go in the package's third-party-notices folder. Cuphead and ROUNDS are not included: Cuphead is by Studio MDHR Entertainment Inc., ROUNDS is by Landfall Games, and the mod needs your own copies of both. Card mods are by their Thunderstore authors. Made with AI assistance (Claude) for Melty.
cleanpython -I tools/package.py 0.1.6 runs the preflight, builds all three projects and writes dist/Roundhead-0.1.6.zip, the package Melty installs.
To release it, attach that zip to a GitHub release tagged with the version (v0.1.6). melty.json at the repository root is the Melty install recipe; it names the package Roundhead-*.zip, so Melty takes the tested zip from each release instead of building from source, which needs your own games.
To play the staged build without Melty, copy dist/stage/proxy-cuphead/version.dll into your Cuphead folder and dist/stage/proxy-rounds/version.dll into your ROUNDS folder, then start dist/stage/managed/CupRoundsLauncher.exe. Remove the two version.dll files afterwards. devtools/devloader.sh does the copying for the dev install.