Potential GiGi replacements: Godot

Programmers discuss here anything related to FreeOrion programming. Primarily for the developers to discuss.

Moderator: Committer

Message
Author
Ophiuchus
Programmer
Posts: 3433
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Potential GiGi replacements: Godot

#16 Post by Ophiuchus »

o01eg wrote: Wed Mar 03, 2021 4:57 am Created PPA for Godot client build for Ubuntu 20.04 Focal. Do we have news about snap distribution?
What exactly do you need?

weekly build still has broken meters but that should not matter for godot.

the snap core 20.04 should work well by now. i could try to build the godot branch on snap (especially if I can copy the necessery dependencies from your ppa). does that help?
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#17 Post by o01eg »

Yes, I suppose so.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#18 Post by o01eg »

I've managed to make it successfully packaging and working on my Devuan Chimaera.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

Ophiuchus
Programmer
Posts: 3433
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Potential GiGi replacements: Godot

#19 Post by Ophiuchus »

Ophiuchus wrote: Wed Mar 03, 2021 7:32 am the snap core 20.04 should work well by now. i could try to build the godot branch on snap (especially if I can copy the necessery dependencies from your ppa).
ok, i managed to build normal non-godot branch on a core20. though 20.04 is surprisingly not-mainstream and rather cutting edge yet .

the way i was building was (again) deprecated/removed, the desktop support has changed and i should use a gnome-extension instead. for core20 there is a gnome-extension only since two weeks or so. and you have to specify --enable-experimental-extensions to make it work.

I tried to use the automatic github integration, which suddenly stopped working for me the expected way (it suddenly did not use tooling for the specified base but instead a xenial snapcraft for building which of course is way too old to support core18 or core20 with the gnome-extension). Also it does not support enable-experimental-extensions at all.

Also gnome-extension provides a python3.8 (and a python3.9) in a certain path and i found no way to stop the snap build from adding another python - so running python did not find the right modules. Luckily I could finally settle that by using the python3.6 from the build by specifying PYTHONPATH (it still adds python from the gnome-extension in that variable, but it seems shadowing is enough).

I also expanded the snapcraft.yaml before build, so the --enable-experimental-extensions is not necessary anymore and if snapcraft.io is fixed, it should be possible to build and release a core20 based freeorion snap on the edge channel with every commit to master.

And the meter zero bug still shows on core20 with libboost1.67 (did not try yet with geoffs revert commit).

Anyway building with godot seems much closer.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#20 Post by o01eg »

Don't you have godot binaries in snap for core18?
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

Ophiuchus
Programmer
Posts: 3433
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Potential GiGi replacements: Godot

#21 Post by Ophiuchus »

o01eg wrote: Mon Mar 08, 2021 5:21 am Don't you have godot binaries in snap for core18?
Need to check what is available. I also did not have a working core18 with gnome-extension as well. You made it work with ubuntu20.04 so i also have to see what I can reuse from that.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#22 Post by o01eg »

Ophiuchus wrote: Mon Mar 08, 2021 5:36 am
o01eg wrote: Mon Mar 08, 2021 5:21 am Don't you have godot binaries in snap for core18?
Need to check what is available. I also did not have a working core18 with gnome-extension as well. You made it work with ubuntu20.04 so i also have to see what I can reuse from that.
I used 20.04 only because Debian and hence Ubuntu introduced godot packages recently. Snap could have them earlier.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

Ophiuchus
Programmer
Posts: 3433
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: Potential GiGi replacements: Godot

#23 Post by Ophiuchus »

o01eg wrote: Mon Mar 08, 2021 8:55 am
Ophiuchus wrote: Mon Mar 08, 2021 5:36 am
o01eg wrote: Mon Mar 08, 2021 5:21 am Don't you have godot binaries in snap for core18?
Need to check what is available. I also did not have a working core18 with gnome-extension as well. You made it work with ubuntu20.04 so i also have to see what I can reuse from that.
I used 20.04 only because Debian and hence Ubuntu introduced godot packages recently. Snap could have them earlier.
reusable content snaps are pretty rare still.
there is nothing usable from godot in that space (there is a godot-3-1 in the snap store, its only on edge so unstable claims to be a 3.1.1, i dont see where its coming from and how to use it).
if the godot packages in ubuntu 20.04 are usable, i can simply use those. the ugly thing is that there is (yet) no deduplication between different snaps as far as I know.

i found a good starting point how to package up a compiled godot game: How to create YAML for a simple Godot 3 engine project game, how to create snap?

side-node: the build works again (was a boost related issue)

edit1: godot seems better supported by flathub community. https://github.com/flathub/org.godoteng ... /README.md

i am not sure what the best way to approach this is. I have the impression we should make godot create a binary in the build and package only the bin, right.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#24 Post by o01eg »

I've tried to put godot client to snap build in https://github.com/freeorion/freeorion/pull/3339 but it need to be tested.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#25 Post by o01eg »

Tried to write UI with Godot: https://github.com/freeorion/freeorion/pull/3407

Now it even can connect to the server with slow game and successfully authorize me but because of great version mismatch it cannot parse game message.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#26 Post by o01eg »

With debian package and snap package Linux distribution is covered. Could we start accepting Godot client to the master branch?
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Potential GiGi replacements: Godot

#27 Post by Geoff the Medio »

o01eg wrote: Thu Apr 15, 2021 9:02 pmCould we start accepting Godot client to the master branch?
I'd like to see or even try it out before doing that... Is a Windows build possible? If not, can you post some screenshots or a video?

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#28 Post by o01eg »

Geoff the Medio wrote: Thu Apr 15, 2021 9:06 pm
o01eg wrote: Thu Apr 15, 2021 9:02 pmCould we start accepting Godot client to the master branch?
I'd like to see or even try it out before doing that... Is a Windows build possible? If not, can you post some screenshots or a video?
I suppose CMake should be able build it for windows. It only requires that fix https://github.com/freeorion/freeorion/ ... b747f9d20a
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Potential GiGi replacements: Godot

#29 Post by o01eg »

Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Potential GiGi replacements: Godot

#30 Post by Geoff the Medio »

o01eg wrote: Thu Apr 15, 2021 9:11 pmI suppose CMake should be able build it for windows. It only requires that fix https://github.com/freeorion/freeorion/ ... b747f9d20a
Just take the existing SDK, patch CMakeLists.txt in the root FreeOrion directory, and generate build files? Or do I also need to download Godot stuff first? Command line or cmake GUI for generating things?

Tried command line with the instructions in BUILD.md for the main freeorion repository. I applied the linked change first. It gives errors:

Code: Select all

C:\Users\g_top\Desktop\FOSDK11\FreeOrionAlt\build>cmake .. -G "Visual Studio 15 2017"
-- Setting build type to 'Release' as none was specified.
-- Build type CMAKE_BUILD_TYPE set to Release
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041.
-- The C compiler identification is MSVC 19.16.27043.0
-- The CXX compiler identification is MSVC 19.16.27043.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Use CCache for Visual Studio 15 2017 called with: ccache program
-- Toolset v141 regex 141;
-- Target
-- Performing Test NOT_GNU_CXX_BUG_94190
-- Performing Test NOT_GNU_CXX_BUG_94190 - Success
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
CMake Error at C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find PythonInterp: Found unsuitable version "1.4", but required
  is at least "3.5" (found
  C:/Users/g_top/AppData/Local/Microsoft/WindowsApps/python3.exe)
Call Stack (most recent call first):
  C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:376 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.12/Modules/FindPythonInterp.cmake:159 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:231 (find_package)


-- Configuring incomplete, errors occurred!
See also "C:/Users/g_top/Desktop/FOSDK11/FreeOrionAlt/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/g_top/Desktop/FOSDK11/FreeOrionAlt/build/CMakeFiles/CMakeError.log".

Post Reply