SFML community forums

General => SFML website => Topic started by: exoloner on January 28, 2019, 06:41:05 pm

Title: Naif request : Upload your code & download the OsX,Win,X11,Android,iOS binaries
Post by: exoloner on January 28, 2019, 06:41:05 pm
This "framework" is really powerful, complete and yet it gives absolute freedoom to prototype & design tasks.
The worst part is the building. Lots of hours trying to setup the 5 build scenarios, and still solving problems.

Don't know if it's technically possible to make a source code upload, to the SFML server, wait for 5 minutes and then the sml-dev site offers you the 5 binaries ready to download.

Additional : Upload the source code, a RAR/ZIP with your data files (API need a Resource class manager), ..wait for the server to build and download the binaries and publish your game.

The registered user on the SFML site, just upload the source code! No deep Cmake/Shell/Dependencies/Preprocessor knowledge needed.

Offcourse, limited only to source code using straight and official SFML classes and API, no user-custom extended stuff.

This could help raising SFML popularity, just a few knowledge of a programming language and the API, having your game build in the main 5 platforms with no effort.

Is this a good idea?  ::) :-[
Title: Re: Naif request : Upload your code & download the OsX,Win,X11,Android,iOS binaries
Post by: eXpl0it3r on January 28, 2019, 07:49:50 pm
It's much less an SFML problem than a C++ problem.
Building dependencies, writing build scripts for all the platforms simply takes a lot of time and knowledge.

While your idea is theoretically possible, it's not really something we have the capacity, nor the interest in building a customizable CI pipeline. Additionally, you rarely ever want to build your game with just SFML, so now you'll also have to take care dependency management and more. And lastly, there's hardware cost and maintenance time needed.

But we don't actually need to provide any of that, because Travis, Appveyor and others can do that already and it's free for open source project.
As such it might be a lot more useful if someone could sit down and write Travis scripts for all platforms, which you can basically drop into your Git repo and get stuff built.

See how SFML is built on all five major platforms with Travis: https://travis-ci.org/SFML/SFML/builds/483426120
Title: Re: Naif request : Upload your code & download the OsX,Win,X11,Android,iOS binaries
Post by: exoloner on January 28, 2019, 09:08:03 pm
I already have experience in Win32 (demoscene, custom C++, OpenGL GLSL demo-engine)
Just got tired of upgrading by myself ffmpeg/Bass/GLSL wrappers to build perfectly every time Windows updates itself and breaks everything.

So I've found SFML, and works perfectly for me, as I'm not in the mood of re-doing all the basics again plus all the multiplatform configurations and library compiling and linkage.

Yes, was a crazy idea: maintaining 5 diferent Virtualized Machine images, with perfect and ready compiling environments, and 5 by-demand calls per every user uploading a MyGame.cpp, to generate the 5 binaries.
It's crazy.

So, basically this morning I've spend 12 hours reading and understanding all the API documentation, and got myself with an example/PONG.CPP and it's basically the same in the 5 snapshots https://artifacts.sfml-dev.org/by-branch/master/ (https://artifacts.sfml-dev.org/by-branch/master/) <- this is pretty useful!

So that's the point : 1 single sourcecode and 5 cmake configurations to build it 5 times for each platform.

Thank you a lot for the TIP : "See how SFML is built on all five major platforms with Travis: https://travis-ci.org/SFML/SFML/builds/483426120"
Title: Re: Naif request : Upload your code & download the OsX,Win,X11,Android,iOS binaries
Post by: exoloner on January 29, 2019, 09:53:41 am
Ok. Well, this is pretty discouraging. Neither I owe a Mac to build iOS OsX :

https://github.com/SFML/SFML/wiki/Tutorial%3A-SFML-for-iOS (https://github.com/SFML/SFML/wiki/Tutorial%3A-SFML-for-iOS)

Let me ask : Is there no other way to build a regular example/pong.cpp for the Apple hardware?

I mean, once you've coded and tested the game playability bugs and design robustness, debugged in realtime on your favourite IDE and host platform, what's left?!¿ the building, so, it's there no way to make this easy? or even automatic? seems not.  :-[
 
Compared to the music industry is like, the producer and musician had to deal with the mechanics of the vinyl press machine, the industrial CDR duplicator drivers, or even that old Polish cassette tape replicator maintenance.

 :-\ :'(

Title: Re: Naif request : Upload your code & download the OsX,Win,X11,Android,iOS binaries
Post by: eXpl0it3r on January 31, 2019, 06:54:34 pm
Thank Apple for restricting their products so much. ::)
You can basically setup Travis to build on macOS and for iOS, but to actually test and fix issues with these platforms, you will have to buy an Apple device.

I mean, once you've coded and tested the game playability bugs and design robustness, debugged in realtime on your favourite IDE and host platform, what's left?!¿ the building, so, it's there no way to make this easy? or even automatic? seems not.  :-[
I'd claim that you can't really test and de-bug your application without actually running it on the target platform. Just because it works well on your Android phone or runs fine on your Windows desktop app, doesn't mean it will just be fine on iOS or macOS.
As such it isn't just the "build" step, which as I already said, could be done with Travis, but it's much more about actually testing and fixing platform specific issues.

I personally, would much less worry about cross-platform compilation etc and rather start writing your games on whatever platform you are with cross-platform libraries. Because writing games is a lot harder, so building an application will be a minor thing to overcome and if you're actually serious about it, you can also find the funding to buy/rent/ask a friend for a macOS machine. ;)
Title: Re: Naif request : Upload your code & download the OsX,Win,X11,Android,iOS binaries
Post by: exoloner on February 04, 2019, 08:21:42 pm

Thank Apple for restricting their products so much. ::)
You can basically setup Travis to build on macOS and for iOS, but to actually test and fix issues with these platforms, you will have to buy an Apple device.
Travis services are for free in case of a non-profit videogame? What If i'm charging like 1.5€ on itch.io?

...and agree also in this. Finally I've got by myself to this conclusion, after days of dependencies/wmake fighting with almost no useful results :
you can also find the funding to buy/rent/ask a friend for a macOS machine. ;)

Anyway, the testing must be done on the real OS/hardware. That touch input multi-finger issues,etc...
Title: Re: Naif request : Upload your code & download the OsX,Win,X11,Android,iOS binaries
Post by: eXpl0it3r on February 04, 2019, 08:34:20 pm
Travis works for free, for open source projects on GitHub - not sure if there are other supported platforms.
So if your game is open source it should work fine with Travis, even if you sell the builds on itch. But IANAL so read their ToS. ;)