Godot Engine on the Steam Deck – Developing games on the go?
Once I found out about the Steam Deck’s Desktop Mode, it got even more interesting.
Steam Deck’s Gaming Mode vs Desktop Mode
You see, the Steam Deck defaults to an analog of Big Picture mode on PC. It runs full screen in “Steam Deck gaming console” mode. But underneath all that is a Linux system (runs Arch, btw), and it comes with a desktop environment as well. To access it, hold down the Steam Deck Power button, and it will give you the Power menu:
A tap on Switch to Desktop, and Steam shuts down, and a more Linux-y window manager pops up:
At this point, only Steam Deck’s touchpads work. The right touchpad controls the mouse pointer and the left button, and the left touchpad acts as the right mouse button when pressed. There doesn’t seem to be any way to enter characters with the Steam Deck alone. Well, there may be, but it’ll probably require installing packages from the Linux distribution ecosystem.
Desktop Mode needs a keyboard and mouse
If you really want to interact with this thing, you need a keyboard, and ideally a mouse. And since the Steam Deck only has a USB-C connector, you’ll need to find a way to connect your (probably) USB Type A keyboard and mouse to that.
In my case, I’m using a USB-C male to USB Type A female adapter that came with a Nexus or Pixel phone, and I’m plugging in a Logitech Touch TV Keyboard.
I used to use these to control Media Center PCs, but those have all been replaced by Chromecasts.
Let’s get Godot running. First, we’ll need to download and extract it:
Launch the extracted Godot executable:
And look, it’s running.
With this, it’s possible to create games directly on the Steam Deck. It’s not the most practical thing, but it could work in a pinch.
The main issue is powering/charging the Steam Deck while using it. It probably needs a powered USB-C hub, so it can deliver power along with supporting additional peripherals.
Here’s a tutorial on how to create breakable objects in Blender and Godot. It covers the steps needed to design and implement breakable objects, including scripting and using physics properties to make objects break apart into smaller pieces upon collision or other interactions.
Version 1.0 of the Inventory System is now available. It includes a few new additions since the closed beta: Lots of fixes found their way into this release as well:
Ever had the problem where you’re firing a bullet or some kind of projectile at high speeds, and it just goes right through the collision object, instead of hitting it? Here’s a weapon that fires a bullet at random velocities, to demonstrate the issue: The bullets impact the character in various places, rather than at …
Arguably, more fun than writing code is removing code. I was assembling a split-screen multiplayer UI. The goal behavior is to show/hide the appropriate displays for the players, depending on how many players there are. Initially, the code to update the UI was very simple, because I started with two players. In that case, you …
Godot Engine on the Steam Deck – Developing games on the go?
Once I found out about the Steam Deck’s Desktop Mode, it got even more interesting.
Steam Deck’s Gaming Mode vs Desktop Mode
You see, the Steam Deck defaults to an analog of Big Picture mode on PC. It runs full screen in “Steam Deck gaming console” mode. But underneath all that is a Linux system (runs Arch, btw), and it comes with a desktop environment as well. To access it, hold down the Steam Deck Power button, and it will give you the Power menu:
A tap on Switch to Desktop, and Steam shuts down, and a more Linux-y window manager pops up:
At this point, only Steam Deck’s touchpads work. The right touchpad controls the mouse pointer and the left button, and the left touchpad acts as the right mouse button when pressed. There doesn’t seem to be any way to enter characters with the Steam Deck alone. Well, there may be, but it’ll probably require installing packages from the Linux distribution ecosystem.
Desktop Mode needs a keyboard and mouse
If you really want to interact with this thing, you need a keyboard, and ideally a mouse. And since the Steam Deck only has a USB-C connector, you’ll need to find a way to connect your (probably) USB Type A keyboard and mouse to that.
In my case, I’m using a USB-C male to USB Type A female adapter that came with a Nexus or Pixel phone, and I’m plugging in a Logitech Touch TV Keyboard.
I used to use these to control Media Center PCs, but those have all been replaced by Chromecasts.
Let’s get Godot running. First, we’ll need to download and extract it:
Launch the extracted Godot executable:
And look, it’s running.
With this, it’s possible to create games directly on the Steam Deck. It’s not the most practical thing, but it could work in a pinch.
The main issue is powering/charging the Steam Deck while using it. It probably needs a powered USB-C hub, so it can deliver power along with supporting additional peripherals.
It would be more useful to interact with it remotely.
Related Posts
Making breakable objects in Godot
Here’s a tutorial on how to create breakable objects in Blender and Godot. It covers the steps needed to design and implement breakable objects, including scripting and using physics properties to make objects break apart into smaller pieces upon collision or other interactions.
Inventory System v1.0 available
Version 1.0 of the Inventory System is now available. It includes a few new additions since the closed beta: Lots of fixes found their way into this release as well:
Projectiles going through collision objects
Ever had the problem where you’re firing a bullet or some kind of projectile at high speeds, and it just goes right through the collision object, instead of hitting it? Here’s a weapon that fires a bullet at random velocities, to demonstrate the issue: The bullets impact the character in various places, rather than at …
A GDScript refactoring exercise
Arguably, more fun than writing code is removing code. I was assembling a split-screen multiplayer UI. The goal behavior is to show/hide the appropriate displays for the players, depending on how many players there are. Initially, the code to update the UI was very simple, because I started with two players. In that case, you …