w84death / Tanks-of-Freedom

Indie Turn Based Strategy in Isometric Pixel Art
http://tof.p1x.in
Other
1.14k stars 151 forks source link

Compiling for F-Droid #6

Closed est31 closed 9 years ago

est31 commented 9 years ago

Hi there!

After having packaged Minilens (which is also a godot based game) for f-droid, an open-source app repository, I'd like to package tanks of freedom too. Can you tell me which git commits you built the app with? It would be best to have git tags for the different versions. Also, it would be great to have export.cfg values.

Greetings, est.

czlowiekimadlo commented 9 years ago

Hello,

Glad to see you porting our game. I assume you are asking about engine commits? We are using 1.0 devel version of the engine available on the download page. We tried using custom builds later on, but, for some reason, game does not work in them (at least on linux).

Not sure about export.cfg. We are using default values. We actually had to remove this file after each export, because it sometimes caused problems, when we were exporting to many platforms one after another.

czlowiekimadlo commented 9 years ago

I just checked Godot source repository, and there is 1.0-stable tag - I would advise trying this first.

est31 commented 9 years ago

Thanks for pointing out to use Godot 1.0. I can't use the official build though, because 1. I need to patch godot thanks to a bug, and 2. F-Droid requires from every app to compile from source, including all dependencies.

What about game source code? It isn't tagged. Can I use the latest master, or is it not stable? Which android:versionCode and android:versionName values would you prefer? The version code is important, android requires it to increase with new releases. Also, I'd be better to use some other unique name than com.android.noname, because this could lead to conflicts. Does io.itch.w84death.tanks-of-freedom sound good?

czlowiekimadlo commented 9 years ago

We do not tag our code, but I think we might start doing so. Master branch is rather stable, so you can use that. You would have to bundle campaign maps though (maps/blueprints/), because these are not compiled in - we are working on it.

We always did debug export for android, and did not care about these values. Production build for Google Play is on the roadmap, so we will think about these when the time comes. This unique name looks fine, you could also use in.p1x.tanks-of-freedom (we might use it for our builds)

pizzamaker commented 9 years ago

For reference, a submission request has been put up on F-Droid: https://f-droid.org/forums/topic/tanks-of-freedom/

est31 commented 9 years ago

Ok, merge request is now out: https://gitlab.com/fdroid/fdroiddata/merge_requests/789 What I wonder is that building with godot 1.1 release succeeded. Its harder to use 1.0 than just changing version strings, because f-droid compilation relies on bugs to be fixed, and the fixes are only in 1.1 and not 1.0. Aside from the "can't open in editor" bug (which I can't reproduce), are there some known bugs when using 1.1? If not, I'd like to stick with it.

w84death commented 9 years ago

Did the maps works well on 1.1 ? Wen we switch to 1.1 (each version from beta to "stable") the map tiles were broken (we thing it's something with z-indexes). There were more little problems but less distracting.

And what OS are you using?

est31 commented 9 years ago

I'm using Ubuntu 15.04. And yea, sometimes I have problems with map tiles seeming to overlap, but I've only experienced that in the maps editor.

est31 commented 9 years ago

Only to check back, I do experience some other issues, too, are they in godot 1.0 also?

w84death commented 9 years ago

First one looks like our old bug already fixed. Second one is purely 1.1 problem.

That's why we stick to the 1.0. 1.1 give us no features only new (and strange) bugs. But we will eventually upgrade to the newest version. We just need more time just for this task.

est31 commented 9 years ago

Btw. hyphens aren't allowed. I'll use in.p1x.tanks_of_freedom instead.

est31 commented 9 years ago

Using godot 1.0 now...

est31 commented 9 years ago

Seems there are more serious problems with this one... exporting the template creates a segfault, it doesn't work at all. I think I'll abandon it, and users will have to wait until the bugs with 1.1 are fixed :)

w84death commented 9 years ago

Did you re-install export templates after switching to 1.0 ? Each build have their own export templates. And remember: fixing 1.1 bugs is at the end of our backlog as 1.0 works perfectly fine.

est31 commented 9 years ago

Yes, I've installed everything cleanly from source, including templates.

w84death commented 9 years ago

Did You remove export.cfg ? Sometimes when the builds crashes I need to delete export.cfg, restart Godot and it's working. That's probably the overall problem not with our code.

est31 commented 9 years ago

I'm creating export.cfg manually with the command printf "[platform:Android]\n\npackage/icon=\"res://icon.png\"\npackage/name=\"Tanks of Freedom\"\npackage/unique_name=\"in.p1x.tanks_of_freedom\"\nversion/code=\"1\"\nversion/name=\"0.1\"\n" > tof/export.cfg Its working with 1.1.

czlowiekimadlo commented 9 years ago

As far as I remember, we had these issues with version 1.1

I have to re-try with stable version, but I don't expect any improvement

est31 commented 9 years ago

OK, its released on f-droid now, with godot 1.1. Thanks for the help.

w84death commented 9 years ago

Thanks a lot! That's awesome :)

One thing only: can you change the description of the game to the new one (check README.md)

est31 commented 9 years ago

Merge request here: https://gitlab.com/fdroid/fdroiddata/merge_requests/794

TPS commented 2 months ago

Anyone interested in porting the sequel to F-droid?

czlowiekimadlo commented 2 months ago

Anyone interested in porting the sequel to F-droid?

While technically possible (and quite easy) to produce an APK of the sequel, it does not support Android officially.

3D in Godot is so heavy on the GPU that the game would struggle to run on anything other than flagship devices, and even then would probably burn through battery (and players hands) like crazy. A switch to mobile renderer would be required, but it might cause visual glitches.

Controls are another issue - game is not coded to be touch friendly. In order to play comfortably a gamepad would be required.