• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

GameMaker on Raspberry Pi

R

Ranch Dubois

Guest
I'm a fifteen-year-old on a mission to make a game. I have left the first part of my planning stage and I am starting to build my game in an engine called Construct 2. However, games made with Construct 2 are terribly obscure and seem to sometimes be janky whereas this does not seem to be the case with GameMaker. Furthermore, I play and love Rivals of Aether, which was made using GameMaker.

My project involves more than building a game, as I aim to make my own kind of "plug and play" console for it. I want the console to use a Raspberry Pi, but information on whether or not GameMaker runs on a Raspberry Pi seems to be nonexistent. If someone could inform me as to whether or not games made using GameMaker run on a Raspberry Pi and could explain the process of getting a game to run on it, that would be greatly appreciated. Thank you in advance.
 

2Dcube

Member
Ambitious!
Mike from YoYoGames used to get some Game Maker games working on Raspberry pi, and I think it should be possible for others too. I'm not sure if there is information about it but you might find something if you google (hopefully Mike wrote about it on the YoYo Blog)...
 
You can make games for Linux so I guess it would work, but i have no idea if the work with a PI and what kind if performance you can get out of it though.
You can also make HTML5 games in GM if that is a acceptable alternative.
 

Lukan

Gay Wizard Freak
The Ubuntu/Linux export won't run on a rpi because it's not made for ARM architecture, it's made for x86-64 architecture.
@Mike had some progress a few years ago on this, but it kinda died and got thrown under the rug with the PSP export, lol.
 
...but it kinda died and got thrown under the rug with the PSP export, lol.
:p

HTML5 should work if you run a browser on the pi? I am by no means a expert on the subject but I can't see why it wouldn't work. I would expect performance to be a problem tho.
 
D

dannyjenn

Guest
I don't own a Raspberry Pi, but, as others have said, I don't see why HTML5 GameMaker games wouldn't run on it.

However, I think the poster was asking about whether GameMaker can export games which run natively on the Pi. To which, the answer seems to be no. At least not currently, and I have no idea whether YoYoGames is officially planning on ever adding that feature.
 
R

Ranch Dubois

Guest
Thank you all for your contributions. In the case that I am unable to run a GameMaker game on a Raspberry Pi, does anyone know a different kind of computer that I could put into my console?
 
K

Kurtis

Guest
Thank you all for your contributions. In the case that I am unable to run a GameMaker game on a Raspberry Pi, does anyone know a different kind of computer that I could put into my console?
You can export for Raspberry Pi if your operating system is Windows 10 IOT and export your project as a UWP.

The only downside is that Windows 10 IOT renders in software and isn't hardware accelerated (at this stage), meaning framerate might not be good depending on the game.
 

rIKmAN

Member
Thank you all for your contributions. In the case that I am unable to run a GameMaker game on a Raspberry Pi, does anyone know a different kind of computer that I could put into my console?
You could look at some of small form factor Mini ITX motherboards , might be a little cost prohibitive though when compared to a Pi when you add in peripherals.
 

Electros

Member
You can export for Raspberry Pi if your operating system is Windows 10 IOT and export your project as a UWP.

The only downside is that Windows 10 IOT renders in software and isn't hardware accelerated (at this stage), meaning framerate might not be good depending on the game.
Yeah, I deployed one of my puzzle games as a UWP export, but the framerate was atrocious and barely playable:

https://twitter.com/AToPlayLtd/status/989155250916519937

I wouldn't recommend going down this route unfortunately.
 
K

Kurtis

Guest
Well, why no one is mentioning android?
Probably because there is no official Android distribution for the Pi.

Android is experimental and requires a Pi 3 and there are well known hardware acceleration issues.

Aside from that, go for it!
 
R

Ranch Dubois

Guest
You could look at some of small form factor Mini ITX motherboards , might be a little cost prohibitive though when compared to a Pi when you add in peripherals.
So even though this would be pricey, is it a good choice for a computer to run a GameMaker game on?
 

rIKmAN

Member
So even though this would be pricey, is it a good choice for a computer to run a GameMaker game on?
It's just a normal PC motherboard like any other, but a smaller more compact version.

You'd still need to buy a CPU, hard drive, case, PSU, display and other peripherals for it like you would a normal motherboard. You might also need a GPU depending on your game and specs of any on board video chipset.

You could look into an Android TV box and side loading your game apk onto it. Then all you need is a Bluetooth pad.

The main cost with that route would be the GMS2 mobile licence which is $400, but only you will know whether that provides any value based off what you have planned going forward.

For now it might be best to just build the game using the standard desktop export, and start worrying about custom console hardware at a later date so as not to get too hung up before you've even got started.
 
M

MirthCastle

Guest
There are plenty of motherboards out there that have the CPU embedded. They are ultra-cheap too. My active directory domain controller runs on one of these running server 2016 for example. Though you still need a hdd and ram. But it will cut your costs back significantly.
 

Attachments

Just so anyone seeing this in the future knows, GMS2.3.1 includes an update for YYC and the VM mode that enables support for compiling on ARMv7 (/ARMhf) targets.
I wrote a tutorial on how to compile and run your GameMaker projects on Raspberry Pi 4 here: reddit post
Hey man, I read your Reddit post, very nice. Does this mean I could build a "server game" that runs in a Pi, and connect it with "PC/Mac client game? Seems to me that a Pi would be a nice cheap solution for server hosting.
 

brian

Member
Hey man, I read your Reddit post, very nice. Does this mean I could build a "server game" that runs in a Pi, and connect it with "PC/Mac client game? Seems to me that a Pi would be a nice cheap solution for server hosting.
Yep! Sorry to get back to you so late.

That's actually EXACTLY what I use it for. (Running on raspberry pi right now from a GM application: http://verysimplewebserver.com/)

I'm actually going to write a guide for this bit soon, as there are plenty of options... but I currently have mine running in Desktop mode. GMS2 export for Linux REQUIRES X Server to be running, even if you decide to call
GML:
draw_enable_drawevent(false);
at the start of the program (On Windows, this causes no Window to appear, whereas on other platforms the window displays but with nothing in it because of that X Window dependency). On a Linux desktop environment, this reduces load on the GPU, but it will fail to run if launched through a command line interface (ie, if you wanted to remote into a Raspberry Pi through Putty to start your server, you're initially SOL)

While I've submitted a feature request ticket to allow folks to disable the X Window dependency, I've actually found a work-around which allows you to launch GMS2 projects on Linux machines (including RPI) that are truly headless.

Edit: One more thing! There's a weird issue on Raspberry Pi (I can't quite tell if it's a GM thing or not) that I've discovered that you should be aware of if you're running a server on that platform. If the RPi goes to screen saver (regardless of whether or not your display for it is active) the GM application will jump down to 1FPS and stay there, even after the screen saver has gone away. You can resolve this by installing xscreensaver on your RPi (the screen saver configuration tool):
Code:
sudo apt install xscreensaver
and then going to it in Menu > Preferences > Screen Saver > Disable Screen Saver
 
Wow, headless server running on a Pi, that would be awesome. I have a couple of Pi-2 (I used to build MAME arcade cabinets) lying around, that would be such a nice use for them.
I hear good things with the Pi-4, it can handle a lot more, apparently. Maybe it'll catch on eventually for server hosting solution, even if it has some graphical overhead thrown on top.

I'll def be on the lookout for your guide, keep in touch!
 

brian

Member
Wow, headless server running on a Pi, that would be awesome. I have a couple of Pi-2 (I used to build MAME arcade cabinets) lying around, that would be such a nice use for them.
I hear good things with the Pi-4, it can handle a lot more, apparently. Maybe it'll catch on eventually for server hosting solution, even if it has some graphical overhead thrown on top.

I'll def be on the lookout for your guide, keep in touch!
I think Pi2 won't have enough power to run, and I would use Pi3 atleast. I haven't tried myself, but this is what I have heard and saw couple of runs with Pi3 and Pi4.
I'd be interested to find out more about the Pi2 possibility - From what I've seen, @drandula is correct, however I've only heard about folks trying to use it with applications that are actually displaying graphics (They start up fine and then quickly bog down). It might be practical for the Draw Event disabled. It wouldn't be able to work with my headless method though.

I have a Pi3 and Pi4, haven't dusted off my Pi3 to see what's possible with it + GM, but I've heard that it's just as capable. The Pi4 has blown me away, I've even compiled things like @YellowAfterlife 's POOL [of doom] to it and it runs flawlessly. I'd love to try some more graphically intense 3D projects with it!

Another interesting art on the topic:

Setting up GameMaker builds on the RPi
Just wanted to comment on this - Meseta's overview is a bit out of date but it's good! One thing that should be mentioned is that libxfont1 should be installed on user's Raspberry Pi OS installs to avoid a potential bug.
 
I'd be interested to find out more about the Pi2 possibility - From what I've seen, @drandula is correct, however I've only heard about folks trying to use it with applications that are actually displaying graphics (They start up fine and then quickly bog down). It might be practical for the Draw Event disabled. It wouldn't be able to work with my headless method though.
But correct me if I'm wrong (still in the learning curve if all this, sorry), but would the Pi NEED to display cool-neat graphics? Couldn't it just be used to manage the connection between the players, maybe have a chat and/or match-making lobby, etc. without having to actually even see or care about what's displayed on the client's side?

Legend has it that Battle.net was hosted on a single 486 up until like 2000, I doubt it rendered those thousands of Diablo and Starcraft games. And let me assure you my PI-2 KILLS my old (now long dead) 486, lol
 

brian

Member
But correct me if I'm wrong (still in the learning curve if all this, sorry), but would the Pi NEED to display cool-neat graphics? Couldn't it just be used to manage the connection between the players, maybe have a chat and/or match-making lobby, etc. without having to actually even see or care about what's displayed on the client's side?

Legend has it that Battle.net was hosted on a single 486 up until like 2000, I doubt it rendered those thousands of Diablo and Starcraft games. And let me assure you my PI-2 KILLS my old (now long dead) 486, lol
No, it doesn't need to display anything. The real graphical dependency that causes the issue is that X Window call...
I'd be really interested in finding out how things run on Pi2 with that draw_enable_drawevent(false) set at the beginning of a project. Actually, I might have a Pi 2 in the closet thanks to my GF. Let me do some digging!
 

brian

Member
But correct me if I'm wrong (still in the learning curve if all this, sorry), but would the Pi NEED to display cool-neat graphics? Couldn't it just be used to manage the connection between the players, maybe have a chat and/or match-making lobby, etc. without having to actually even see or care about what's displayed on the client's side?

Legend has it that Battle.net was hosted on a single 486 up until like 2000, I doubt it rendered those thousands of Diablo and Starcraft games. And let me assure you my PI-2 KILLS my old (now long dead) 486, lol
No, it doesn't need to display anything. The real graphical dependency that causes the issue is that X Window call...
I'd be really interested in finding out how things run on Pi2 with that draw_enable_drawevent(false) set at the beginning of a project. Actually, I might have a Pi 2 in the closet thanks to my GF. Let me do some digging!
SO! So.

It turns out she did have an RPi2 sitting in the closet (and an RPi1, but that's a project for a different day).

I did some testing with a nearly empty project in the default sized window with the default Game Speed ( 60 ) that would report FPS / FPS_REAL every step into the terminal - I exported 4 versions... here are the results.

Rpi2 Test ExecutableFPSFPS Real
Draw Event Enabled (VM)​
4 - 5​
14 - 14.5​
Draw Event Enabled (YYC)​
4 - 5​
13.5 - 14.5​
Draw Event Disabled (VM)​
50 - 58​
900 - 1200​
Draw Event Disabled (YYC)​
55 - 60​
1000 - 1750​

I can't believe I just unplugged that RPi2 and threw it into a drawer, because I'd love to test my HTTP server software on it (I have a configurable headless mode setting) but I think this pretty much confirms that the downfall of the Pi2 is the GPU when it comes to GM projects - and that running a headless GM server on Raspberry Pi OS (on it's Desktop mode) is not only possible but probably just fine.

That said, I'm interested to check if my "true headless" method would work, as it depends on software virtualization of an X environment, which makes my Pi 4 chug if I forget to disable the draw event :p So more tests are in order!
 
SO! So.

It turns out she did have an RPi2 sitting in the closet (and an RPi1, but that's a project for a different day).

I did some testing with a nearly empty project in the default sized window with the default Game Speed ( 60 ) that would report FPS / FPS_REAL every step into the terminal - I exported 4 versions... here are the results.

Rpi2 Test ExecutableFPSFPS Real
Draw Event Enabled (VM)​
4 - 5​
14 - 14.5​
Draw Event Enabled (YYC)​
4 - 5​
13.5 - 14.5​
Draw Event Disabled (VM)​
50 - 58​
900 - 1200​
Draw Event Disabled (YYC)​
55 - 60​
1000 - 1750​

I can't believe I just unplugged that RPi2 and threw it into a drawer, because I'd love to test my HTTP server software on it (I have a configurable headless mode setting) but I think this pretty much confirms that the downfall of the Pi2 is the GPU when it comes to GM projects - and that running a headless GM server on Raspberry Pi OS (on it's Desktop mode) is not only possible but probably just fine.

That said, I'm interested to check if my "true headless" method would work, as it depends on software virtualization of an X environment, which makes my Pi 4 chug if I forget to disable the draw event :p So more tests are in order!
Doesn't surprise me, these things pack quite a punch for their size, it was really the graphic side of things that held it back. But again, it was kind of the point of the machine: learning programming and computer science, not gaming at 60 fps on a 4k 1-ms dual monitor setup.
Looking foward to hear about your next tests, seems promising if you can get around the Xwindow thing and really run it headless! I'm excited, those numbers with YYC export with the draw disabled look just like an empty project on my potatoe laptop, which is a good thing!
 

Momoro

Member
SO! So.

It turns out she did have an RPi2 sitting in the closet (and an RPi1, but that's a project for a different day).

I did some testing with a nearly empty project in the default sized window with the default Game Speed ( 60 ) that would report FPS / FPS_REAL every step into the terminal - I exported 4 versions... here are the results.

Rpi2 Test ExecutableFPSFPS Real
Draw Event Enabled (VM)​
4 - 5​
14 - 14.5​
Draw Event Enabled (YYC)​
4 - 5​
13.5 - 14.5​
Draw Event Disabled (VM)​
50 - 58​
900 - 1200​
Draw Event Disabled (YYC)​
55 - 60​
1000 - 1750​

I can't believe I just unplugged that RPi2 and threw it into a drawer, because I'd love to test my HTTP server software on it (I have a configurable headless mode setting) but I think this pretty much confirms that the downfall of the Pi2 is the GPU when it comes to GM projects - and that running a headless GM server on Raspberry Pi OS (on it's Desktop mode) is not only possible but probably just fine.

That said, I'm interested to check if my "true headless" method would work, as it depends on software virtualization of an X environment, which makes my Pi 4 chug if I forget to disable the draw event :p So more tests are in order!
Do you think the Raspberry PI 4 B+ would do better? In my opinion, yes, depending on the amount of RAM it was built with. (Mine's 4 GB or 8 GB, I forgot.)

Also isn't the Raspberry PI supposed to have a Raspbian OS that's 64-bit -don't think about the glitches, just the fact that it's 64-bit-? Even better!

Not sure if GameMaker games will actually run on Raspbian 64-bit or even Raspbian itself, but I will be testing it soon.
 

brian

Member
Do you think the Raspberry PI 4 B+ would do better? In my opinion, yes, depending on the amount of RAM it was built with. (Mine's 4 GB or 8 GB, I forgot.)

Also isn't the Raspberry PI supposed to have a Raspbian OS that's 64-bit -don't think about the glitches, just the fact that it's 64-bit-? Even better!

Not sure if GameMaker games will actually run on Raspbian 64-bit or even Raspbian itself, but I will be testing it soon.
Yes, absolutely. I haven't run these same tests on my RPi 4B, but I have the 4GB model (which is what I use to run my server) and as I mentioned earlier in the thread, the GPU isn't a hurdle with it - it can run GM games at 60+ FPS in most cases right out of the box. My testing was in response to some questions about the possibility of using an RPi2 to run a non-graphical GM based server.

In regards to the 64-bit thing - Raspberry Pi OS (the artist formerly known as Raspbian) is specifically 32-bit when it comes to the public version. There is a 64-bit version in beta testing, HOWEVER, GameMaker Studio 2.3.1 exporter can only build on Linux ARM targets that are 32-bit (!important!).

You *should* be able to run projects that have been exported to a 32-bit ARM Linux distributions on 64-bit ARM Linux distributions.

You should read through my Reddit post about this all here: reddit post
 

Momoro

Member
Yes, absolutely. I haven't run these same tests on my RPi 4B, but I have the 4GB model (which is what I use to run my server) and as I mentioned earlier in the thread, the GPU isn't a hurdle with it - it can run GM games at 60+ FPS in most cases right out of the box. My testing was in response to some questions about the possibility of using an RPi2 to run a non-graphical GM based server.

In regards to the 64-bit thing - Raspberry Pi OS (the artist formerly known as Raspbian) is specifically 32-bit when it comes to the public version. There is a 64-bit version in beta testing, HOWEVER, GameMaker Studio 2.3.1 exporter can only build on Linux ARM targets that are 32-bit (!important!).

You *should* be able to run projects that have been exported to a 32-bit ARM Linux distributions on 64-bit ARM Linux distributions.

You should read through my Reddit post about this all here: reddit post
Okay, I'll be sure to read it!
 
A

Amir Bayareh

Guest
I tested out a very basic test game on my Raspberry Pi 3 and got quite nice results for the capabilities of this machine.
My test game is a top down shooter (basic graphics, no particles, no backgrounds, etc). I instanced 6 characters moving with accelerations (using lerp) and shooting continuously with the mouse.

My average FPS is 44 but I must address that I changed the RPi resolution to fit with the game's resolution (384 x 216) and running it in full screen. If I keep the native resolution that my monitor displays, even maximizing the window lowers the FPS to around 15 FPS.

So making a game for the RPi might be possible if the graphic interface is not needed as I plan to make an arcade machine in the future. Only thing I can do for now is wait for the next generations of the RPis to get faster and better.
 
So making a game for the RPi might be possible if the graphic interface is not needed as I plan to make an arcade machine in the future. Only thing I can do for now is wait for the next generations of the RPis to get faster and better.
For a MAME arcade, RPI2-3 are still ok. I built one back in the day with custom joysticks and all, and we played god knows how many hours of PS1's Bushido Blade and Intelligent Cube on that without problem.
The issue is really on GM side for that, because those little boys should easily be able to play those 2d games, if you striclty look at the horsepower needed.
A PI arcade with your own GM game on it...not really as of now, but I could see it coming in an awesome future.
 
Top