Some questions about exporting for the Steam Deck

0 favourites
  • 3 posts
From the Asset Store
Vintage steam pixels for your UI! 125 unique assets in a single pack!
  • Hi,

    I’m preparing to get my game onto Steam (its page is complete and has been approved) and I’d like to try getting it onto Steam Deck too. I’ve just added full UI navigation using a gamepad, but have a few assumptions and questions. In return, I promise to document the whole process here!

    1. I’m going to use the official SteamWorks addon that uses WebView2 and I understand that this should just work on Linux/Steam Deck via Proton.
    2. Ideally, I’d like Windows/Linux users to have the game launched in a window so they can use the standard minimise/maximise/close window controls, then add full screen/exit full screen buttons to my game’s UI but not sure how Steam Deck would handle this?
    3. Is there any way to detect that the game’s running on a Steam Deck? If so, I would automatically enter full screen when the game stats.
    4. Next question – if a game’s running in full screen on a Steam Deck, how do users expect to quit the game? Is there some native function of the Steam Deck that does this without having to add anything to the game? Or should I add a button that calls Browser -> Close? (Of course, Windows users wouldn’t need this as they could use the window’s X button.
    5. Regarding pause – I understand that the Steam Deck’s “Steam” button will pause the game and display the Steam menu, but I want my own pause menu (where users can quit the current level and change settings). Currently this is mapped to the ESC on keyboards – am I right in thinking that by default, the Menu/Start button on the Steam Deck is mapped to ESC (in which case I wouldn’t need to explicitly map a controller button to my pause function)?
    6. Finally, does anyone know whether tapping one of the Steam Decks trackpads can be detected by Construct’s Gamepad or Touch plugins? Reason I ask is that I’ve found touchpads more sensitive than buttons.

    Tagged:

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Piggybacking on this as Im also interested in the Touchpad Stuff -- curious if theres a method to access the left and right touchpad inputs?

    Ill try to answer what i can of the other questions:

    1. Technically yes. I've actually found the Greengrinds plugin to have better support for Steam API tho. construct.net/en/make-games/addons/244/greengrinds

    2. Steam Deck has an interface to close games. (use the steam button to bring up a menu, then hit "Close Game"). Most games typically have a "Quit Game" option on the main menu though. I think its preferred especially if people want to go full screen. Games always launch full screen if youre in the Game mode (not desktop mode). So typically games with a "Full Screen" option will just.. do nothing when you enable/disable it. Still good to have for people playing on desktop or in desktop mode of steam deck.

    3. Yeah I know greengrinds for sure has an "Is on SteamDeck" event condition. I think the official plugin does as well.

    4. I think Browser-Close is best. tie that to an in-game Quit button and youre good!

    5. Steam Deck has its own unique button for bringing up steam menus / overlays. So just use whatever button you feel is best -- it wont conflict with default steam deck inputs! I think you WILL need to map the gamepad start button to do what you want it to do. Basically if you connect a Xbox / Playstation controller and setup your game to work for the gamepad, the gamepad settings should carry over to the steamdeck 1:1. So you can basically use a gamepad to test steam deck functionality.

    6. this is what im stuck on too. ill try some stuff this week and let you know if i learn anything, but happy to get any info if anyone else has the knowledge already available 😃

  • bwnate - thanks for all this!

    My game's just been approved for release (just a bit nervous about hitting the "Publish" button!

    1. I might switch to that to get the Steam overlay working!
    2. I've implemented using either the F key or the Select/Menu gamepad button to toggle full screen*
    3. The official plugin has this too.
    4. I might add a "quit game" button and hide it on mobile but adding buttons to my existing UI isn't that straightforward - a) I'd need to make room somewhere to display it, and b) I need to update the gamepad menu navigation code.
    5. The problem I have is that the gamepads I have are PS1 clones with Back/View and Start/Menu buttons - but they don't have the XBox or Playstation buttons which I understand launch the Steam overlay (in the same way that the Steam button does on the Steam deck). In C3 - Gamepad - On Button Pressed, there's no entry for this button - do you (or anyone else) happen to know what button index it is? (I know Back/View is 8 and Start/Menu is 9). My initial submission failed due to lack of full gamepad support, so I just changed it to "no support" to get the game passed, but I'd really like to get it all working properly. I also know I'm supposed to show gamepad glyphs in the UI, handle gamepad connection/disconnection & pause the game when the overlay is displayed - but one step at a time I guess!
    6. Any updates on this?
Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)