diasurgical / diasurgical/DevilutionX

[Feature Request] Couch co-op multiplayer

Open
#1,237 31 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.