Introduction

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

Moderator: Oberlus

Post Reply
Message
Author
aphenine
Space Floater
Posts: 23
Joined: Tue Oct 05, 2010 10:15 pm

Introduction

#1 Post by aphenine »

Hello, I've just joined the forum and I thought I'd introduce myself. I'm aphenine. I'm 28 years old and I live in London in the United Kingdom.

I'm here because I'd been thinking about writing a space strategy game for a while. The last one I got (MoO3) was pretty disappointing and since then I thought it would be cool to write something that I would enjoy playing. It's been milling at the back of my mind and I've been idly finding myself thinking about it, even as other games have come and gone. The itch to do so has been getting more and more until, after playing Stars (I was bored and looking for old games that were free), I realised that I could probably do something similar in a year if I ignored multiplayer, so there was no excuse to not start. Before I started I thought that other people might have felt the same and already done something about it. So I searched the internet and found this, downloaded v0.3.15 and was very impressed. Since then I've checked out the vision statement and had a closer look and decided that I'd like to try working on this game instead and seeing if I could contribute something.

I have a bit of C++ coding knowledge, and I've already used Boost (which I both love and loathe at the same time: how anyone gets along without lexical_cast is beyond me, but, ahh, the metaprogramming... *weeps*). I also have good scientific knowledge and can help out in physics and astrophysics modelling. In particular, if anyone needs to know anything about neutron stars. (such a useful topic :roll:) I'm hoping I can help out as a programmer and a physics expert, and maybe join in with the design discussions, since, as I said, I've thought about it for a long time, and even worked out how certain things can get done (but I need to know more about design first, because otherwise I'll say something stupid or irrelevant or just not in keeping with the scope of the game...).

At the moment I'm in the process of compiling the game. I thought, for a change, I'd try to do that on Windows and not Linux, to see how it goes, and I'm trying to compile dependencies because Microsoft pushed me to get the 2010 version of their VisualStudio after I followed the 2008 link in the wiki, so I'm not sure the SDK will work (plus it gives me good practise). I'm also easing myself into reading the design documents, getting an overview of the source code and trying to figure out what I can contribute and how bad the clash is between what I want and what freeOrion is (and whether I can live with that). If all goes well, I'm hoping I can do some actual programming in a few weeks, if you'd like me to.

In the meantime, I thought I'd try getting involved in the community, introducing myself and seeing how you all are.

So, um, yeah, that's me. *waves*

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

Re: Introduction

#2 Post by Geoff the Medio »

Hi, and I hope you can get things working and can contribute to coding.

I've gotten Visual Studio 2010 myself, and am about to start setting up an SDK with dependencies built using that compiler. That said, most of the dependencies in the SDK should still work with VS 2010, but mixing the two will likely require multiple versions of the visual studio runtime files to be on a system to run the resulting executable.

THAT said, some dependencies will need to be updated. Boost in particular, and probably OGRE 3D likely have precompiled downloads you could use, and would be the ones most likely to need to be updated to match the new compiler version... I haven't tried yet myself, so don't know for sure, though.

aphenine
Space Floater
Posts: 23
Joined: Tue Oct 05, 2010 10:15 pm

Re: Introduction

#3 Post by aphenine »

Thanks!

I thought about it for a moment and decided to to try compiling the 2008 SDK with 2010, just to see how it went. It went pretty well, in that the code generally compiled with a few ambiguous template calls and one preprocessor complaining that it didn't understand a VC++ version of greater than 1500. The main problem is in GiGi's adobe headers (what is that anyway?), and if that could be fixed, the 2008 SDK would compile everything out of the box except the freeorionca project (which is the only other one with an ambiguous call), and one could see if the linker had any problems with the 2008 SDK. VC++ 2010 also converts the solution and project files into new ones, and I don't know if they're backwards compatible with 2008 and whether that would mean maintaining two independent windows solution/project files. Don't know if any of that information is of use to anybody, but there it is.

aphenine
Space Floater
Posts: 23
Joined: Tue Oct 05, 2010 10:15 pm

Re: Introduction

#4 Post by aphenine »

I saw the other post on VC++2010 in the compile boards, and I'm beginning to grasp how the VC++ system works (I was confused about the fact that 2008 and 2010 had to be ABI compatible for Windows to work with them, so they should work with each other broadly, but that's not how it works, is it?), so I'm aware that using the 2008 SDK isn't going to work and that the previous post was useless. I'm sorry about that.

I have VC++2010 Express version. I'm not sure if that'll continue working after the 30 day period runs out (the Microsoft Website is really unclear about that). If it will, I will compile Boost and Ogre and do the slow work to provide a 2010 SDK (I have the time to watch things compile) and save you the work. Otherwise, I'll go back to Linux and stick with what I know :)

P.S. I'm using Boost 1.44, which is working except for that one error in freeorionca, which is in the Empire python bindings.

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

Re: Introduction

#5 Post by Geoff the Medio »

Could you clarify / explain why you have assumed that the 2008 SDK won't work with VS 2010? It wasn't essential with VS 2008 that all libraries be built with the same VS version... for quite a while we were having issues because the version of the Python DLLs we were shipping with FreeOrion were built with VS 2005, and were requiring different C++ runtime DLLs that were included with the package. If those DLLs were present though, everything worked fine. I'd assume that 2010 and 2008 would work together the same way, unless given reason to think otherwise.

You don't need to compile boost and ogre. Both can be downloaded precompiled (with VS 2010) from http://www.boostpro.com/ and http://www.ogre3d.org/download/sdk respectively.

If you could paste the Python error, I might be able to fix it before getting to a stage in building with VS 2010 myself where I can see it... (which I haven't yet).

User avatar
OndrejR
Space Dragon
Posts: 339
Joined: Thu Oct 02, 2008 11:00 pm
Location: Slovakia

Re: Introduction

#6 Post by OndrejR »

Visual Studio Express requires after 30 days period registration which is free. Also Visual Studio 2008 can be downloaded from Microsoft - it is the same page as for VS 2010. But recompiling with cmake is faster than with Visual Studio. And to set up environment with cmake is probably easier under Linux. There is also multiplatform open source IDE - Eclipse.

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

Re: Introduction

#7 Post by Geoff the Medio »

OndrejR wrote:But recompiling with cmake is faster than with Visual Studio.
What do you mean? On Windows, running CMake generates a visual studio solution file which one uses to build the program.
And to set up environment with cmake is probably easier under Linux.
Given the numerous lengthy lists of issues people have getting things building on Linux, I find that very unlikely.

User avatar
OndrejR
Space Dragon
Posts: 339
Joined: Thu Oct 02, 2008 11:00 pm
Location: Slovakia

Re: Introduction

#8 Post by OndrejR »

Geoff the Medio wrote:
OndrejR wrote:But recompiling with cmake is faster than with Visual Studio.
What do you mean? On Windows, running CMake generates a visual studio solution file which one uses to build the program.
On Windows recompiling trivial change with Visual Studio recompiles complete FreeOrion. On Linux with make only one file. I don't know why Visual Studio does this.
Geoff the Medio wrote:
And to set up environment with cmake is probably easier under Linux.
Given the numerous lengthy lists of issues people have getting things building on Linux, I find that very unlikely.
With Windows FreeOrion SDK with all dependencies built in is easy to develop. And dependencies don't change so often(and need to compile them). On Linux a lot of issues are caused due to testing distributions. If people have old proven stable distribution, then there wouldn't be so many problems.

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

Re: Introduction

#9 Post by Geoff the Medio »

OndrejR wrote:On Windows recompiling trivial change with Visual Studio recompiles complete FreeOrion. On Linux with make only one file. I don't know why Visual Studio does this.
Sure, if you change a header file that's included everywhere, it will often need to recompile any file that includes the change. But if you change just a .cpp file, usually only compiling that file and linking needs to be redone.
With Windows FreeOrion SDK with all dependencies built in is easy to develop. And dependencies don't change so often(and need to compile them). On Linux a lot of issues are caused due to testing distributions. If people have old proven stable distribution, then there wouldn't be so many problems.
Unless that old stable distribution doesn't have a compatible version of a dependency we require...

aphenine
Space Floater
Posts: 23
Joined: Tue Oct 05, 2010 10:15 pm

Re: Introduction

#10 Post by aphenine »

Please, no, don't get into a Linux versus Windows debate! I find they're both good in their own ways, as you're both pointing out, and flawed in others. My main experience is in Linux, but I'd like to branch out into Windows because my main OS at the moment is Windows and I'd like to not dual boot. Plus I'd like to gain a bit of experience.

Having used Linux, I find that getting the development files from any single project is easy. If I want to get Boost's development files I just type apt-get install libboost-dev and it all comes good. Under Windows I can't do that, and I have to manually download the right dependency and link it. For a project with this many dependencies, it's hell and it's annoying, as I'm finding out.

However, under Linux, the compiled program talks directly to the library files on the system, without going through a runtime (runtimes = confusing idea for me). This means that any small discrepancy between the system library and your gcc compiler version can lead to development hell (which is why my first reaction is to compile boost and ogre myself rather than download, as then I know they'll work, but you're right, it makes no sense under Windows). Also, while compiling the main program and getting dependencies is a piece of cake under Linux, dealing with the make tools (which do the build) is not. Make may be lovely, but autoconf, automake or any other replacement for them and all that is associated with them (makefiles etc) is hell, and I'm enjoying VisualStudio's build it for you approach. I suppose I could get that using something like Eclipse, but I've never tried, and VisualStudio is proving awesome in that department.

Ok, so first question. Am I being awkward in trying to use 2010? Should I just use 2008 (the project standard) and stop pestering you? Or, would the project benefit from having a 2010 SDK? If so, then I'm willing to make the relevant changes that thrain suggested in the Compile forum and provide you with the Boost 1.44 Python error for you to fix. On the other hand, maybe it's just better if I wait for you to do it, seeing as just how ignorant I am about it all? What do you think?

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

Re: Introduction

#11 Post by Geoff the Medio »

We do need to have a VS 2010 SDK, and will likely need to move to using VS 2010 for all Windows release builds.

I don't want an SDK made by you though, as you haven't been around long enough to trust to produce binary files (precompiled dependencies) that we'd actually distribute with an official release. (Nothing personal... but just as with SVN commit rights, it would be irresponsible to immediately fully trust every new contributor who shows up...)

If you just want to start building and running FreeOrion, doing so in VS 2008 is probably easier, as everything needed is already available in the SDK.

aphenine
Space Floater
Posts: 23
Joined: Tue Oct 05, 2010 10:15 pm

Re: Introduction

#12 Post by aphenine »

Thanks for the honest reply :) I understand and I'm not offended. In fact, I think it's good practise. I offered because I hate to see work duplicated. I'm going off to find and download 2008 and see if I can make a start on getting trusted :D

aphenine
Space Floater
Posts: 23
Joined: Tue Oct 05, 2010 10:15 pm

Re: Introduction

#13 Post by aphenine »

Just wanted to say, thanks for all your help. I downloaded and installed 2008 yesterday and compiled and ran FreeOrion. It was awesomely simple, and both 2008 and 2010 coexist on my system quite peacefully (I was worried!).

Post Reply