Skip to content

Support arbitrary instrument combos (4 drummers, etc.) #11

Description

@ihatecompvir

Allow selecting non-standard instrument combinations such as 4 drums or 3 guitars, much like Guitar Hero allowed you to do.

Checklist of what needs to be done before this can be closed out (the code for the following items is not in RB3E source yet)
✅ Change the logic of track assignment so the game won't crash when a duplicate instrument is selected
✅ Modify the part select screen logic so it doesn't "grey out" instruments when they have been selected by another player
✅ Genericize overshell slots so any instrument could go there, allowing you to connect e.g. 4 drumsets
❌ Remove the logic that checks for if the instrument slot is open in the gathering before joining a session
❌ Probably more I am forgetting

Activity

  1. self-assigned this
    on Aug 12, 2023
  2. ihatecompvir commented on Nov 27, 2023

    @ihatecompvir
    CollaboratorAuthor

    An update on this for those who are curious since I did tease this a while ago in the RBE Discord, yet there has been no release or commit for it:

    The game creates an array of GameGemList for each instrument type and populates them with the notes from the MIDI. When you use duplicate instruments and have like 4 guitarists or whatever, all players will be pointing to the same GameGemList for guitar. As you can imagine, this creates issues, as the first player to hit a note will be the only person capable of hitting it - all other players will just register an overstrum. The main blocker here is figuring out if there is any such way to create 4 unique duplicates of each GameGemList and then make it use the duplicates. This will require some rewriting of some core systems and will need a lot more time for me to come up with a good solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions