#[WIP] Maelstrom
37 messages Β· Page 1 of 1 (latest)
@hoary dock I've seen you've been taking a big interest in games that have multiplayer.
https://github.com/libsdl-org/Maelstrom/tree/main
There are readmes about multiplayer. No idea how to do it though. If no interest is there I'll relase it as single player π
I'll take a look
I have rigged up a version of portmaster game launcher and it does work for networking mode with this game.
At present I could only test the server running on my laptop. I think you might also need to ship this executable to run the server on the device Maelstrom-netd
The launcher is still experimental. So any feedback would be great.
@hoary dock i do have question before starting the game.
GPTOKEYB "imgui-demo" -c imgui-demo.gptk &
./imgui-demo
gtype=$?
if [ $gtype == 0 ]; then
$GPTOKEYB "Maelstrom" -c "./maelstrom.gptk" &
./Maelstrom```
This starts gptokeyb with imgui-demo and then it starts maelstrom with gptokeyb
but gptokeyb is never closed for imgui-demo
I think that would cause double inputs
yep
Tested on my RG351V, works good but the menu navigation is not very intuitiv for me. The first screen would be fine if it would be the "Game Options" screen but in fullscreen. The whole navigating trough windows is very confusing. I think thats because I can't for example switch between the windows with dpad to the right
So by accident I started the game multiple times even though i only wanted to switch to the screen with the IP.
I think this feedback also counts for #1203733372346703922 π
About the double mapping issue, would help to use sdl2 gamecontroller api instead of gptokeyb mapping file
I'll double check this. The app I wrote closes, but not sure if gptokeyb closes too.
Yea, imgui closes but gpotkeyb remains open
I was experimenting with the tab layout and yes agree it's not intuitive.
I'll make the game options a pop up window. Which will help with navigation too.
This is my first c/c++ program so bear with π
A new version of portmaster launcher. Now supports reading markdown files and added first cli option to help launch this game π
Switch is -p for maximum number of players. this game supports between 1 and 2 network players. It will start in one or two player mode dependent on how many IP addresses you select.
Now loads previously saved ip addresses.
Navigation should be easier now too.
Works good, but I think it still needs an overhaul to make it user friendly. Like Starting a game with shoulder buttons feels rather weird.
Ideally it should start in the Game Options with a one sentence description, the need to describe what each button does should not be there because in PM and in Emulationstation A is always accept and B is always back.
You could do Press Start to start the game.
Shoulder Buttons are really problematic because they're switched around on some devices so you'd have to turn your device around to look at them
Thanks for the feedback. I will take away the instructions. They are a legacy to using he IMGUI control inputs.
Most or all of the buttons can now be remapped using the gptk file. So will take away the labels. I will document the keys I have coded. ie f1 maps to game to start, f2 to game options and f3 to save ip addresses. You can start the game or change options using the dpad and buttons. IMGUI uses space and enter keys as well.
I would try to use sdlgamecontrollerdb for keys if properly done you don't need gptokeyb (double mapping) unless you kill gpokteyb after imgui
but it's a bit of a mess having two instances of gptokeyb
Like Portmaster also does not use gptokeyb
I am not even sure I knew about that function π Will have a look and see how to use that.
SDL_GameControllerOpen would be the easiest
I re enabled sdl controllers and I have ended up mapping button like start via SDL events. If nothing else developing this has been a good background into SDL π
I have still not got my head around the sdlgamecontrollerdb method.
Can you point me at a port that uses this?
apotris π
It looks like an RGB30 branch was created and the keys re mapped. Was this to map the keys specifically to the RGB30? Which device did you match it too in gamecontrollerdb?
rgb30 is the branch we use yes
He hardcoded the keys first then i told him to use SDL_GameControllerOpen
and he did π
#π’ο½compile-help message
This iwas my proposal
Thanks. imgui is already using the SDL_GameControllerOpen. Searching the source led me to this file though https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_sdl2.cpp
Having the SDL and IMGUI equivalent names for keys will make it much easier to change the keys. So thanks for your help.
A new test version with no gptk. Thanks to @knotty timber for the feedback.
This version is now close to what I would have liked to have used on Jump n Bump the first port I worked on π
See the sh file for how it exits to pick up the networking options linked to players.
Game options menu looking much nicer now.
I would maybe limit the sfx a bit π
If you have to navigate trough all the menus to get to the game options to configure the game it gets old very fast ^^
For debug info the log.txt is much more helpful than the file and ldd output. Porter and user can't do anything with this information π
Same with license info. Nice to have but it's a formality to have. Comes back down to in theory you'd just want a fullscreen Startmenu with directly the things you want to setup and go.
Thanks again. I can put the start game and game options at the top.
Will limit the debug window to log.txt and remove the license.
Oh and of course if you enter game options it then goes into fullscreen and no way of exiting that π
You can if you've got a mouse π
You can press start at anytime still. Will add a close button though
Yeah that's the big difference between handheld and desktop design π