Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Studio Chat / [SOLVED] How to export for Linux?

Author
Message
Mac
20
Years of Service
User Offline
Joined: 18th Jan 2005
Location: London
Posted: 17th Sep 2024 09:42 Edited at: 17th Sep 2024 11:32
This post has been marked by the post author as the answer.
Hi folks,

It's been a long time since I did anything with AGKS, but had a requirement to knock up a little utility for a Linux user, nothing complicated, only a simple GUI with some switches, writing values out to a file to be read by another application.

Anyway, I digress.

I got it working on Win 11, then looked for the Linux export, only to find that there isn't one!

I could have sworn AGKS could create Linux binaries, what am I missing?

Cheers.

Mac

EDIT: Nevermind, I just realized I have to compile using the Linux version of AGKS. Which I read is being abandoned. I know I should have just done this in PureBasic lol
Mac

The author of this post has marked a post as an answer.

Go to answer

SFSW
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location:
Posted: 17th Sep 2024 19:49 Edited at: 17th Sep 2024 19:50
If this is Tier1, just 'compile' for Windows as normal, then take your \media\bytecode.byc file and copy over the Linux player from this folder:

\Players\Linux\Linux64

With that player in the root folder and the \media\bytecode.byc file with it (along with any media needed in the \media folder), it'll launch and run. You can rename the Linux64 player as needed for whatever you want to call it. You don't actually 'compile' anything in AppGameKit, you just put together the bytecode file and then run whatever player is needed for the platform you run it on. So in the case of Linux, it's the Linux player. The bytecode is the same on every platform, only the players are different for their target platforms.
Mac
20
Years of Service
User Offline
Joined: 18th Jan 2005
Location: London
Posted: 18th Sep 2024 07:10 Edited at: 18th Sep 2024 07:12
Oh, thanks for that I will give it a try.

Is the player losing support then? Or just the Linux version of the IDE?

Mac.
Mac
SFSW
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location:
Posted: 18th Sep 2024 19:23 Edited at: 18th Sep 2024 19:24
That I don't know, that'll be up to TGC to determine/answer. I think the drop of support related 'developing on Linux', so the focus was on omitting the IDE. Since AGK/S is at a feature freeze, that should mean the Linux players will run fine indefinitely. Recompiling that player to continue to operate with fixes/additions in the future should still be practical (far more so than the IDE at least), but it'll be up to TGC to decide if that's something they'll want to continue should the need surface.
GemGames
6
Years of Service
User Offline
Joined: 31st May 2018
Location: Edmonton, Alberta, Canada
Posted: 18th Sep 2024 22:04
Quote: "That I don't know, that'll be up to TGC to determine/answer. I think the drop of support related 'developing on Linux', so the focus was on omitting the IDE. Since AGK/S is at a feature freeze, that should mean the Linux players will run fine indefinitely."


That's good news because being able to deploy a game App to Linux is a valuable feature of AGK. Linux has been gaining a larger market share of OSes over the past few years, and I hope this trend continues along with AGK's continued support for Linux deployment.
Mac
20
Years of Service
User Offline
Joined: 18th Jan 2005
Location: London
Posted: 19th Sep 2024 03:16
I've been thinking about this quite a bit following the answer that SFSW so helpfully gave.

I don't use AGKS very much, but I do have a couple of little utilities that I use that were developed with it, and I might need to use them on a Linux desktop at some stage.

I'm wondering if converting them to tier 2 would solve the ongoing Linux compatibility issue? My presumption is that compiling for Linux using tier 2 would mean no need to use the Linux player.

Mac.
Mac
GemGames
6
Years of Service
User Offline
Joined: 31st May 2018
Location: Edmonton, Alberta, Canada
Posted: 19th Sep 2024 19:53
Quote: "I'm wondering if converting them to tier 2 would solve the ongoing Linux compatibility issue? My presumption is that compiling for Linux using tier 2 would mean no need to use the Linux player."


As far as I know, AppGameKit tier 2 cannot compile into Linux Apps at all. This is in contrast to MacOS and Windows, both which can compile into I assume native Apps if a tier 2 App is compiled on the same host OS as the target OS.

In the AppGameKit Studio User Manual, there are sections for tier 2 development for Windows, Android, MacOS and iOS, but there is no such section for Linux. I therefore assume that any AppGameKit App targeting Linux is limited to tier 1 and requires the Linux bytecode player for execution. AppGameKit tier 2 is more limited in the range of target OSes than is AppGameKit tier 1, unfortunately. In addition to Linux, HTML5 is another target platform that AppGameKit supports only using tier 1 and omits with tier 2.

Quote: "The Official AppGameKit User Guide - Page 85 of 91 - © The Game Creators Ltd 2019
MAC OS X
This guide explains the process involved in creating projects when using Tier 2 when using the Macintosh OS X
platform. In order to compile projects on the Mac you will need Xcode 10 or higher running Mac OS X 10.13.6 or
later. Xcode is available for free by visiting https://developer.apple.com/xcode/ Alternatively you can obtain it from
within the Mac App Store by searching for Xcode.
All of the relevant files for Tier 2 development are bundled within the main package of AppGameKit Studio. To access
them navigate to the install location for AppGameKit Studio e.g. Applications/AGK and right click on the icon for
AppGameKit Studio and select Show Package Contents. From here enter the Contents folder and then the Resources
folder where you will see a Tier 2 folder with libraries, include files and examples projects for Mac OS X development."


As far as I know, in order to develop for MacOS for example, using tier 2 and C++, you would need to have a computer running MacOS with a native (native to MacOS) IDE capable of using the AppGameKit C++ library/SDK, which I assume is furthermore a MacOS-specific version of a C++ library. Then when the App is compiled on the host MacOS machine, the executable App is a bonafide MacOS App compiled into machine code for that specific target platform, with the AppGameKit SDK/library functions also fused/incorporated into that target platform's executable file. That's my current understanding of it anyway, but I could be wrong.

I have not developed or exported any AppGameKit App for Linux (yet), but I would assume that using tier 2 would indeed eliminate the need for the AppGameKit bytecode player. However, it seems that there is not tier 2 support for Linux specifically. If I understand correctly, using tier 2 will compile not into bytecode (which requires the AppGameKit player to subsequently execute the "compiled" bytecode App), but rather into native-OS compiled machine code (depending on the target OS, whether that is Windows, Android, MacOS, or iOS). Sadly, Linux appears to be omitted from the target platforms that AppGameKit tier 2 supports/targets.

To date, I've only been developing AppGameKit tier 1 projects using AppGameKit Studio hosted under a Windows OS machine, with exports limited to either Windows or HTML5. I would certainly like to try C++/tier 2 in the future, but so far the omission of HTML5 as a target OS under tier 2 has kept me from pursuing tier 2 development, even though C++ is my personally preferred language of choice over BASIC language generally.
GemGames
6
Years of Service
User Offline
Joined: 31st May 2018
Location: Edmonton, Alberta, Canada
Posted: 2nd Oct 2024 18:59
My previous post's assumptions were wrong. Linux can be developed for as the target OS using AppGameKit tier 2.

The following link might provide some useful information regarding AppGameKit tier 2 development for Linux:
https://www.appgamekit.com/documentation-studio/guides/LinuxTier2.htm

(excerpt from above URL) wrote: "The project will consist of three main files - core.cpp, template.cpp and template.h. Core.cpp is the starting point for your application as a whole, which in most cases can be ignored and is only relevant for more advanced users. Template.h contains a class declaration for your app and template.cpp contains the definition, with three functions already defined - Begin, Loop and End. Begin is the entry point for your application and is used for initial setup. Loop will be called every cycle and should be the location of your logic etc. Finally End is called when the app closes down and can be used to free up resources etc."


SFSW wrote: "You don't actually 'compile' anything in AppGameKit, you just put together the bytecode file and then run whatever player is needed for the platform you run it on."


I must have misunderstood the compilation process for AppGameKit tier 2. I've heard that AppGameKit tier 2 Apps run faster than AppGameKit tier 1 Apps. I'm not sure what the factors are. Maybe tier 2 Apps have a portion that is compiled for the targeted OS, and other portions within the same generated App that run / execute through a bytecode player on the target OS?

Pfaber1
7
Years of Service
User Offline
Joined: 7th Jan 2018
Location: England
Posted: 22nd Oct 2024 08:28
I tried installing PureBasic on Linux a couple of years ago and didn't get very far. AGKS to install on Linux very easy.
Pfaber1
7
Years of Service
User Offline
Joined: 7th Jan 2018
Location: England
Posted: 22nd Oct 2024 09:01
Can we still download the Linux version from steam I don't have Linux installed but I would like to know. If we can it might be useful for a couple of years or more.
I believe you can run exe's on Linux and Linux stuff on windows so whatever floats your boat. WSL (windows subsystem for Linux).

Login to post a reply

Server time is: 2025-05-08 22:20:15
Your offset time is: 2025-05-08 22:20:15