Testers needed: Linux installer preview

For topics that do not fit in another sub-forum.

Moderator: Oberlus

Message
Author
Yoghurt
Programmer
Posts: 376
Joined: Sat Jun 28, 2003 8:17 pm
Location: Heidelberg, Germany

#46 Post by Yoghurt »

Wolverine wrote:I was thinking yesterday about this and I have few ideas that could be implemented as a base for future AI system, even when the system is not finished/unbalanced. However I agree with you that if the Python scripting is not integrated there's no point getting overly excited about this.
It is implemented (here on my local version, not in CVS), but quite shaky atm. At least I managed to get the AI to order their scouts to explore.
From my point of view AI for FO seems to be complex thing, however it could be broken down to smaller pieces to make programming of AI easier. Before I decide to join I'll have to really take a look at internal mechanisms of FO. I have CVS code of FO, so I'll take a look at it.
My general idea is to have many "advisors" (one for research, the other for expansion, the third for trade, and so on) each one makes recommondations about what would be the best in its opinion.

The true AI then examines the recommondations and chooses a set of orders that make most advisors happy.
One unrelated question though. Is anonymous CVS updated daily? Or is there another repository that's updated daily?
Normally it is, but not right now:
http://sourceforge.net/docs/A04

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

#47 Post by Geoff the Medio »

Wolverine wrote:Switching resolution doesn't work from options. It works from command line.
You might want to post a bug report about this (I don't see one on sourceforge, open or closed)

Wolverine
Space Floater
Posts: 44
Joined: Wed Apr 13, 2005 6:07 pm
Location: Warsaw, Poland

#48 Post by Wolverine »

Yoghurt wrote:It is implemented (here on my local version, not in CVS), but quite shaky atm. At least I managed to get the AI to order their scouts to explore.

My general idea is to have many "advisors" (one for research, the other for expansion, the third for trade, and so on) each one makes recommondations about what would be the best in its opinion.

The true AI then examines the recommondations and chooses a set of orders that make most advisors happy.
Well. My idea was quite similar except that the AI follows three strategy lines: long-term, short-term and instant. Each strategy specifies subset of goals in research, production, exploration, expansion, war, defense, etc. Long-term goal is the primary objective that has to be fulfilled sooner or later e.g. first LT goal would be to explore nearest part of galaxy, colonise neighboring planets that will allow empire to raise it's production/research/farming, enumerate strategic points to ensure empire security and build few ships that could fulfill this requirement, research better technologies. Long term goal could be slightly adjusted, however it's requirements should be met. Short-term goals would serve as quick fixes to the situation, e.g. colonise more terran planets to get better farming to get grounds for empire expansion, build few ships to break through enemy strategic point, research technology that will help in resolving inadequacies and current empire problems, etc. ST goals would work within long-term strategy line, however could be more flexible and help in current problem resolving. Instant goals would serve as really quick ad-hoc fixes, before ST goal can be fulfilled to fully resolve the problem. Instant goals would be realised each turn. E.g. empire gets population boom, but you it doesn't have enough food, so by applying instant goal some planets can be focused on farming. In the meanwhile short-term goal is applied to research better farming technology. Short term goals could be prioritised based on current demand.

This is how I see AI in the game. This way it could be more flexible and easier to write.
The emperor wants to control outer space. Yoda wants to control inner space. That's the fundamental difference between the good and the bad sides of the force... - Mof, Human Traffic ;)

quork
Krill Swarm
Posts: 12
Joined: Sat Nov 12, 2005 2:01 pm

FO Building, Branching, Stability

#49 Post by quork »

Yoghurt wrote:It is implemented (here on my local version, not in CVS), but quite shaky atm. At least I managed to get the AI to order their scouts to explore.
Hi Yoghurt, IMO there is nothing preventing you from maintaining main CVS branch stable, while you can:

1. create AI/Python interface implementation CVS branch
2. automagic / daily update this branch with compilable code (non-compilable source should not be held in CVS)
3. create nighlty builds for CVS HEAD (optionally for personal branches) to ensure compile time stability of code

I think the main issue with FO is number of the dependencies.
Next issue is that binary version requires exact versions of dependencies.

IMO what prevents you to create repository for exact set of 3rd party libraries / sources?

You can set up automatic / nightly building system which compiles all pre-requisities before compiling libGiGi and FreeOrion in clean environment (for example on some clean %distro% install in virtual machine).

What prevents you to distribute FO with all required dynamic libs in its own directory and simple updating LD_LIBRARY_PATH in startup script?

This possibly can resolve some of your issues.

I'm working as a Configuration Manager so I can set up such a system for you (as a debian package, for example) :-)

Yoghurt
Programmer
Posts: 376
Joined: Sat Jun 28, 2003 8:17 pm
Location: Heidelberg, Germany

Re: FO Building, Branching, Stability

#50 Post by Yoghurt »

quork wrote:What prevents you to distribute FO with all required dynamic libs in its own directory and simple updating LD_LIBRARY_PATH in startup script?
The fact that
  • One of these libs is the Standard C++ Library, therefore requiring to include every library C++ FO links to
  • GL libs should be dynamically linked, otherwise hardware-accelleration might not work
I could try to prepare a library that is statically linked to everything except GL.. Which of course crash-and-burns if the C ABI is changed, therefore requiring libc to be dynamically linked as well, therefore possibly breaking libstdc++.

Oh, well...

Arnljot
Space Floater
Posts: 19
Joined: Mon Mar 27, 2006 8:19 am
Location: Sweden

#51 Post by Arnljot »

Installed FO on a Linux SUSE 10.0 using "PREVIEWINSTALLER3" and everything worked fine. A run exited with:
freeorion: error while loading shared libraries: liblog4cpp.so.1: cannot open shared object file: No such file or directory
Could be a missing / somewhere. I'm trying some workaround to get FO running a bit longer. Any help on where to fix it would be nice.
I have a FO running on a WinXPP, that one was easy to install and runs fine.

Arnljot
Space Floater
Posts: 19
Joined: Mon Mar 27, 2006 8:19 am
Location: Sweden

#52 Post by Arnljot »

Now I face the wall as a common Linux user :)
freeorion: relocation error: freeorion: symbol _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv, version GLIBCXX_3.4.6 not defined in file libstdc++.so.6 with link time reference
Spring is in the air. Happy Easter Holiday to all of you.

graigsmith
Space Krill
Posts: 1
Joined: Tue May 16, 2006 7:19 am

#53 Post by graigsmith »

i tried installing on ubuntu dapper.

it installed, diddn't give me any graphical things like i am used to with autopackage.

it worked though, and when i type freeorion in the console, i get this error message.

Code: Select all

freeorion: error while loading shared libraries: liblog4cpp.so.1: cannot open shared object file: No such file or directory
edit, i tried downloading the source to liblog4cpp.deb, and it's dev files as instructed by the wiki, and it couldn't find the files.

Arnljot
Space Floater
Posts: 19
Joined: Mon Mar 27, 2006 8:19 am
Location: Sweden

#54 Post by Arnljot »

Hi! I had liblog4cpp installed from a log4cpp-0.3.5......rpm, suse version. There should be a similar rpm for Debian distro. The rpm manager installed the libs in /usr/lib/liblog4cpp.so.4 and /usr/lib/liblog4cpp.so.4.0.5 and the program found it.
I didn't succed using the freeorion installer and turn to freeorion svn at sourceforge. By using rpms for dependencies it was easier to compile freeorion. But the installer might work in Debian. Good luck

Post Reply