clockworkpi

Porting games to the GameShell (from Game Maker: Studio)

Hey everyone,
I used to be an indie developer and was wondering what it would take to port some of my games to the GameShell.
All my games are made with Game Maker Studio, which can export games to Ubuntu. Now I’m absolutely no Linux expert, so I don’t know if it would be possible to run one of my games on the GS.
Has anyone here tried something similar?

1 Like

There are some examples on the forum. I’m honestly not sure on how to port games although I’ve tried to do that myself. I know of a few examples though. Try looking up Hydra Castle Labyrinth and Powder.

Unfortunately both the VM and YCC options won’t work on ARM, which the Gameshell’s CPU is based on, which sort of throws the idea of compiling GameMaker games out of the window.

There is however an open source project that is compatible with some of GM’s API, ENIGMA, perhaps it could be possible to get some game ported to ENIGMA, and then through the use of a terminal compile a project on the CPI with ENIGMA.

As of yet though I haven’t tried it myself.

Thanks for your detailed reply, I hadn’t heard of Enigma before, it sounds pretty interesting. I’ll have a look if I can get a small project running through Enigma before trying some bigger games.

If you can get something to run on the GS in the meantime, be sure to let me know. :slight_smile:

Hi there,
I’ve succesfully installed ENIGMA on my PC and would like to try to get a simple test game to run on my GameShell, but I have no idea where to start with the settings.
Do you know how I would go about compiling for the GS?

So far I can test my game on Windows just fine, but even when I compile an exe file it won’t start.
Here are my current settings:
grafik

I assume OpenGL is also the wrong choice if I want to support the Fbturbo driver?

If you could write a little tutorial or give some hints that would be fantastic. :slight_smile:

you will need a toochain for cross compile to armv7 target

your easiest option may be to directly use enigma software from a raspberry pi who will have binary compatibility (or yet directly run it on the gs if you have hdmi out)

gameshell gpu support opengl es 2.0, not full opengl

(as latest mesa support lima driver, in future using real & last opengl will be nice as it will live convert things to gles if it could, if it’s not supported it will just be software

Thanks for the reply. What exactly do you mean by having “HDMI out”? Isn’t that only used to display the GS screen on a TV?
I don’t have a raspberry pi so compiling on the GS seems to be the only option for me.

if enigma got a cli tools it’s ok, else gs screen is only 320x240, hdmi will go highter :slight_smile:

you could also run enigma in a linux box who may be easier to set up a cross compile environment

The 320x240 resolution is not an issue, i like small resolutions. ^^
What is cli tools?

Could I install linux in something like VirtualBox and then compile it there? Or do I still have to compile on the GS from Linux? Also, what Linux version would work for that? Ubuntu?

i said 320x240 is small to run an ide, cli mean Command Line Interface, to directly invoke your enigma compiler from ssh & bypass small screen issue

enigma seem support this https://enigma-dev.org/docs/Wiki/Command_line_interface

so you may try compile enigma on the gs directly & recompile your project with it

(as gs got an arm cpu you cannot use virtualbox, but there is qemu alternative who support armv7

Ah, sorry, I’m really not used to most of the common programmer lingo. ^^

Seems to me that getting ENIGMA run on the GS might be the “easiest” solution. No idea if my skills are proficient for this, but unless someone feels like trying it and writing a small tutorial, I’ll have to dive into this myself.

EDIT:
Would that be the way to go if I wanted to install enigma on the GS?
https://enigma-dev.org/docs/Wiki/Install:Linux

yes, but not use their external ppa (sudo add-apt-repository ppa:maarten-fonville/protobuf
as mainline debian ship libprotobuf too https://packages.debian.org/search?keywords=libprotobuf-dev

(you could also check raspberry pi install instruction like https://www.raspberrypi.org/forums/viewtopic.php?t=217745

Had to google ppa. :smiley:

So you suggest not using their repository, but the one you linked in the parenthesis?

the one in parenthesis is their one, just skip the add ppa line (like in raspi setup), libprotobuf is in mainline debian

(also the ppa must not have packages compiled for armv7 so it’s useless

I tried installing it with the installer.sh provided in the raspberrypi link. Here’s the output:

installer.sh: line 3: 'cd\r': command not found Installing dependencies... Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package oracle-java7-jdk Downloading Enigma... Cloning into 'enigma-dev'... remote: Enumerating objects: 22, done. remote: Counting objects: 100% (22/22), done. remote: Compressing objects: 100% (21/21), done. remote: Total 61455 (delta 1), reused 1 (delta 0), pack-reused 61433 Receiving objects: 100% (61455/61455), 56.16 MiB | 361.00 KiB/s, done. Resolving deltas: 100% (35468/35468), done. installer.sh: line 8: cd: ‘enigma-dev\r’: No such file or directory
Downloading easy startup script…
–2019-08-02 15:43:40-- http://pastebin.com/raw/6ZmrzWKP
Resolving pastebin.com (pastebin.com)… 104.20.208.21, 104.20.209.21,

2606:4700:10::6814:d115, …
Connecting to pastebin.com (pastebin.com)|104.20.208.21|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: unspecified [text/plain]
Saving to: ‘start.sh\r’

           [ <=>                ]      75  --.-KB/s    in 0s

2019-08-02 15:43:41 (1.20 MB/s) - ‘start.sh\r’ saved [75]

Correcting permissions…
chmod: cannot access ‘install.py’'\r': No such file or directory Installing... : No such file or directorystall.py installer.sh: line 17: cd: ‘CompilerSource\r’: No such file or directory
Rebuilding compiler…
'. Stop. No rule to make target 'clean
installer.sh: line 20: $‘make\r’: command not found
Done, to start Enigma just run ~/enigma-dev/start.sh

When I want to start the start.sh file it says “-bash: ./start.sh: No such file or directory”.
I assume the installation didn’t go completely as planned.

P.S. I have no idea why the blockquote ignores the line breaks.

I tried to enter the different steps manually now which seemed to work better, but I got a lot of fatal errors because of a missing “project.pb.h”.

I found this thread which also talks about an outdated libprotobuf, but I don’t really get what they are saying. :confused:
https://enigma-dev.org/tracker/index.php?id=1253

“project.pb.h” may be protobuf-dev package with development headers
have you try sudo apt-get install libprotobuf-dev ?

if package is too old you could try upgrading whole system to latest debian

I did install libprotobuf-dev but the fatal errors still occur. :frowning:

Is there another option than upgrading the system (as I don’t feel skilled enough to do that and also I don’t want to have to re-flash should anything go wrong)?

Btw. is it better to delete everything and start fresh or can I just leave everything as it is and just enter the commands a second time?

@guu Do you maybe have an idea on how to get Enigma to run? I’d love to port some of my games to the GameShell. :slight_smile:

I’ll check out see what I can do

1 Like