diasurgical / diasurgical/DevilutionX
[Feature Request] Couch co-op multiplayer
- Dominant language
- C++
- Stars
- 9.7k
- Forks
- 1k
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 7
Description
Would be awesome if we could play devilutionX as local multiplayer.
I have a roadmap here that I will try to implement (the items completed are on a branch not yet merged to DevilutionX):
- [x] ~Abstract gamepad (axis/sticks #1236 keyboard and buttons)~
- [x] ~Assign player index to gamepads (#2958)~
- [x] ~Allows simple joysticks (2 axis and 8 buttons, instead of gamepads) (#2965)~
- [x] ~Modify handler classes to allow multiple players (#1285)~
- [x] Adapt game loop to handle multiple players
- [x] Modify game render to use players' centroid as center instead of player 1 position
- [x] Modify UI to show multiple HUDs
- [ ] Modify multiplayer logic so a device with couch co-op can play with another device (maybe with couch co-op enabled too).
- [x] Fix coop players do not deal damage to monsters
- [x] Fix coop players cannot open doors
- [x] Fix spells sometimes are casted multiple times
- [x] Fix player 1 cannot use belt items
- [x] Fix player 3 join breaks the UI
- [x] Allow users to open quest panel, book panel and map (maybe rollback to select + d-pad)
- [x] Draw attribute points button on each panel (maybe overlapping the level field)
Contributor guide
Assessment
This issue has not been assessed yet.