mbox

[bug#41365,0/5] Add superstarfighter

Message ID 878shqr23j.fsf@araneo.si
Headers show

Message

Timotej Lazar May 17, 2020, 3:52 p.m. UTC
Hi,

this series adds SuperStarfighter¹, a small game built with the Godot
engine. I’m submitting it together with patches for godot needed to
build the game, and some other improvements. I built the game for x86,
x86_64 and aarch64 (can’t run it there due to missing 3D acceleration).

The main change to godot is building the headless binary, which is used
to compile game assets without requiring X. I put this into a separate
output because it doubles the install size. Compile time is also nearly
doubled, since most files get compiled twice.

If the longer compile time (in total ~20 minutes on an old i7, and
~80 minutes on an even older core duo) is problematic, this can be split
in two packages. The game depends on both versions to build and run
though. Thoughts?

I also enabled release build for Godot, removed an old workaround for
aarch64 (disabling threads caused an infinite loop when building the
game), and installed the icons to the correct location to be used with
the .desktop file.

Thanks!

¹ https://notapixel.itch.io/superstarfighter

Timotej Lazar (5):
  gnu: godot: Enable release build.
  gnu: godot: Remove obsolete workaround for aarch64.
  gnu: godot: Build and install the headless version.
  gnu: godot: Install provided .desktop file and icons.
  gnu: Add superstarfighter.

 gnu/packages/game-development.scm | 68 ++++++++++++++--------------
 gnu/packages/games.scm            | 75 +++++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+), 34 deletions(-)

Comments

Nicolò Balzarotti May 17, 2020, 3:55 p.m. UTC | #1
Hi! This is nice to have.

If other godot games can be built this way, does it make sense to create
a godot-build-system?

Thanks, Nicolò

Timotej Lazar <timotej.lazar@araneo.si> writes:

> Hi,
>
> this series adds SuperStarfighter¹, a small game built with the Godot
> engine. I’m submitting it together with patches for godot needed to
> build the game, and some other improvements. I built the game for x86,
> x86_64 and aarch64 (can’t run it there due to missing 3D acceleration).
>
> The main change to godot is building the headless binary, which is used
> to compile game assets without requiring X. I put this into a separate
> output because it doubles the install size. Compile time is also nearly
> doubled, since most files get compiled twice.
>
> If the longer compile time (in total ~20 minutes on an old i7, and
> ~80 minutes on an even older core duo) is problematic, this can be split
> in two packages. The game depends on both versions to build and run
> though. Thoughts?
>
> I also enabled release build for Godot, removed an old workaround for
> aarch64 (disabling threads caused an infinite loop when building the
> game), and installed the icons to the correct location to be used with
> the .desktop file.
>
> Thanks!
>
> ¹ https://notapixel.itch.io/superstarfighter
>
> Timotej Lazar (5):
>   gnu: godot: Enable release build.
>   gnu: godot: Remove obsolete workaround for aarch64.
>   gnu: godot: Build and install the headless version.
>   gnu: godot: Install provided .desktop file and icons.
>   gnu: Add superstarfighter.
>
>  gnu/packages/game-development.scm | 68 ++++++++++++++--------------
>  gnu/packages/games.scm            | 75 +++++++++++++++++++++++++++++++
>  2 files changed, 109 insertions(+), 34 deletions(-)
>
> -- 
> 2.26.2
Timotej Lazar May 17, 2020, 4:03 p.m. UTC | #2
Nicolò Balzarotti <anothersms@gmail.com> [2020-05-17 17:55:43+0200]:
> If other godot games can be built this way, does it make sense to create
> a godot-build-system?

I think so. At least the configure and build phases should be mostly the
same. I figured I’d submit this to see if anything can be improved, then
try to package a couple more games and see what can be factored out.
Nicolas Goaziou May 18, 2020, 6:53 p.m. UTC | #3
Hello,

Timotej Lazar <timotej.lazar@araneo.si> writes:

> this series adds SuperStarfighter¹, a small game built with the Godot
> engine. I’m submitting it together with patches for godot needed to
> build the game, and some other improvements. I built the game for x86,
> x86_64 and aarch64 (can’t run it there due to missing 3D
> acceleration).

Great. Thank you.

> The main change to godot is building the headless binary, which is used
> to compile game assets without requiring X. I put this into a separate
> output because it doubles the install size. Compile time is also nearly
> doubled, since most files get compiled twice.
>
> If the longer compile time (in total ~20 minutes on an old i7, and
> ~80 minutes on an even older core duo) is problematic, this can be split
> in two packages. The game depends on both versions to build and run
> though. Thoughts?

I think 80 minutes is not that bad. We can reconsider later.

> I also enabled release build for Godot, removed an old workaround for
> aarch64 (disabling threads caused an infinite loop when building the
> game), and installed the icons to the correct location to be used with
> the .desktop file.

Perfect.

I applied your patches with minor tweaks.

Regards,