Game Development Community

Easy setup to compile for all targets? Or even binaries for all targets?

by TerroX · in Torque 2D Beginner · 10/23/2014 (3:03 pm) · 7 replies

At the moment there are only binaries for Windows and OSX, where are the binaries for Android and iOS and Linux and Web/HTML5(?)

Downloading the source and setting up MS VS 2010 only gets the windows target, why isn't there some easy download which has all the targets ready to compile the demo in a couple of clicks? (I know need mac to compile for OSX but I got virtualbox mac for that)

I'm assuming that most people want to target most platforms, so that means most of us will be struggling through the exact same problems trying to compile source for as many OS as possible. Seems like a waste of everyone's time.

I'm a total noob so I can't work this stuff out unless there are working examples.

#1
10/23/2014 (4:13 pm)

Desktop

Targeting most platforms requires you to compile the executable or package for these platformns. For Windows and OSX, you can always swap out the executable files for newer/different versions, which is why the binaries are readily available.

As for Linux, compiling the executable requires you to simply compile it using make which is pretty standard as far as basic Linux know-how goes. You can find the detailed guide for doing so here.

That being said, maybe there should be a linux binary download just for convenience.

Mobile


Android projects are shipped as a single file (.apk) which cannot be easily decompiled. As such, you cannot modify the project without recompiling it.

For Android development, there is also a step-by-step
guide

Web


As the web target requires Emscripten, it also means that all script changes will require a complete recompilation. The guide for this can be found here.

I'll let others chime in for iOS specifics as I have 0 knowledge of this platform.
#2
10/23/2014 (4:48 pm)
Hrm I forgot about apk being a single file.

Assuming that the binaries are fully featured enough to handle most people's games via purely scripting without editing the binary source then we'd just need a tool which wraps our scripts into all the OS targets, handles Favicons and exe properties (version, manifests, etc).

Then you'd have the same situation as some 2D engines where everyone can read the scripting source code and share games easily, via WebGL. And then publish with a few clicks (after filling out all their manifest info and setting up icons).
#3
10/23/2014 (5:01 pm)
That's the ideal solution for sure but bear in mind that this is entirely community-driven. Someone will need to step up and take the challenge on maybe even assemble a team.
#4
10/23/2014 (5:10 pm)
Quote:
why isn't there some easy download which has all the targets ready to compile the demo in a couple of clicks?

To answer this a little more clearly, these targets (Linux and Android) are very new and no one has done it yet. Always looking for someone to jump in and lend a hand though!

Mac/iOS shouldn't be a problem (except issues with iOS 8) - those project files have been working for some time now. If they're causing problems please report issues here. Hopefully someone will be able to fix them....
#5
10/24/2014 (3:18 am)
I'm a bit confused by this request. Torque 2D comes with pre-configured compiler project files for all the platforms it supports. After you setup your development environment, it really is only a couple of clicks (or lines of text at a command line prompt) to compile the engine.

With a Windows PC you can deploy for Windows, Android, and Emscripten.
With a Mac you can deploy to OSX, iOS, Android, and Emscripten.
With a Linux PC you can deploy to Linux, Android, and Emscripten.

Obviously with Linux you can install that on a separate partion of your hard drive so you don't need a dedicated PC. But needing at least a Windows machine and Mac is hard to avoid if you want to reach all platforms.

As far as binaries go, it's really just Linux missing that convenience. The mobile and web platforms compile all assets and scripts into a single package file, so they can't be handled the same way as the desktop platforms. Plus iOS apps can only be distributed via the App Store, which means you need to be a registered Apple developer as well.
#6
10/24/2014 (5:58 am)
@Mike - This is the 21st century, everyone wants a "make my game" button. See the discussion on this in the T3D forums for something similar - five steps and it is still too hard. But I think the T3D committee took the DRY principle a little too far with 3.6.1 - no binaries; end-users have to compile even just to start a script-only project. I also think that they'll be re-thinking that decision....
#7
10/24/2014 (10:20 pm)
I guess I was a bit harsh with my expectations, I've just been looking over the instructions to compile for each target and it seemed complex. From previous experience I thought nothing much had changed.

For example, sometimes a linux project can set up in one script which downloads and installs all the packages required and handles all the config. Otherwise linux is a huge barrier to someone who has never touched it and is likely to run into some bug, which becomes hard to troubleshoot because I might have missed a step.