Transition to .net 4 - request for AGS 3.4.0

Started by SpeechCenter, Tue 18/09/2012 15:13:44

Previous topic - Next topic

SpeechCenter

I just encountered a case where I wished I could write a feature in a plugin using .net 4, but the editor is still using an older version of the framework. Are there any plans to migrate?
The editor seems to compile and run without any code changes even for .net 4.5, but I didn't test it thoroughly.

Sslaxx

#1
.NET 4.0 is the last version of .NET that still supports XP, so it isn't a great idea to exclude a still quite sizable portion of the AGS audience by using 4.5. Last time anyone checked viz .NET 2.0, the Win2K users were ten at the time; I'd be surprised if any of them haven't or wouldn't be able to have made the change to XP at least by now; I was one of them and I certainly have. That's not to say there might not be other compatibility issues if the .NET version required is set to 4.0, though.
Stuart "Sslaxx" Moore.

tzachs

Here's what CJ had to say when I wanted a transition to .Net 3.5:

http://www.adventuregamestudio.co.uk/forums/index.php?topic=42104.msg564183#msg564183

Since it's been almost two years I'm guessing moving to .Net 3.5 would be ok.
I don't know about .Net 4, I wonder if CJ could pop up with updated statistics so we can be wiser..

SpeechCenter

@Sslaxx - I think .net 4 and not 4.5 would be fine, I didn't yet encounter features in 4.5 that are crucial. I only tried to compile it with 4.5 to see if there are any technical difficulties with the latest.

@tzachs - Yes, stats would be useful, but really in the worst case we can always provide the .net distribution as part of the installation (I don't think it's mandatory but it's just a better install practice to provide this with the installer or download it if it's missing).

Crimson Wizard

Does this mean one have to have Visual Studio 2010 to build Editor?
Does VS2010 Express edition allows to build mixed-code projects? I may be mistaken but I have vague memories someone told me it can't; do not know if that's true.
Question is, will there be any problems building AGS.Native library?

SpeechCenter

Quote from: Crimson Wizard on Tue 18/09/2012 18:35:15
Does this mean one have to have Visual Studio 2010 to build Editor?
Does VS2010 Express edition allows to build mixed-code projects? I may be mistaken but I have vague memories someone told me it can't; do not know if that's true.
Question is, will there be any problems building AGS.Native library?
Yes, VS2010 would be required for .net 4. VS2010 express doesn't support mixed code projects, neither does 2008 express or 2005 by the way, but surprisingly 2012 express supports this.
You can compile to previous .net version quite easily. You can also compile to previous C++ compilers, but for that you may need to install the previous build tools if you don't want to upgrade all the way to 2012 and have it compile to the previous version. So there is no problem to use either 2010 or 2012, but there may be some manual work there.

tzachs

Quote from: SpeechCenter on Tue 18/09/2012 18:25:58
@tzachs - Yes, stats would be useful, but really in the worst case we can always provide the .net distribution as part of the installation (I don't think it's mandatory but it's just a better install practice to provide this with the installer or download it if it's missing).
Yes, I tend to agree.

Another consideration is how will it affect the possibility of porting the editor to mono.
Afaik, mono is the best option we have in order to be able to compile games for iOS directly from the editor in the future (since it needs a MAC), so I consider this a top priority.
I'm assuming that .Net 4 is supported by mono but it needs to be verified before the transition.


Crimson Wizard

#7
Quote from: tzachs on Wed 19/09/2012 10:14:41
Afaik, mono is the best option we have in order to be able to compile games for iOS directly from the editor
Perhaps I missed something, why cannot games be compiled for iOS from Windows?
Or you mean allowing people to generally work with Editor under iOS?

JJS

To produce a standalone title for iOS you obviously need the iOS SDK which is only available for OSX. So if you want any kind of integration of the SDK into the AGS Editor you need a Mono port of the editor.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Crimson Wizard

Quote from: JJS on Wed 19/09/2012 12:04:35
To produce a standalone title for iOS you obviously need the iOS SDK which is only available for OSX. So if you want any kind of integration of the SDK into the AGS Editor you need a Mono port of the editor.
Awww, right, I got so used to run games as a separate dat file, so I am starting to forget how they are normally built. :)

SpeechCenter

Quote from: tzachs on Wed 19/09/2012 10:14:41
I'm assuming that .Net 4 is supported by mono but it needs to be verified before the transition.
Yep, pretty much. http://www.mono-project.com/Compatibility
We would have to instruct developers to refrain from those few red and yellow items, but I doubt many of them would go that path anyway.

SpeechCenter

I'd like to raise this again now that we are talking about 3.3.0 beta
.net 2.0 is more than 7 years old and .net 4.0 is out there for almost 3 years.
It could help not just plugin code, but also the editor since many improvements were added to the framework during this time.

The main impact I see is that those who develop AGS will have to transition to either VS 2010 or VS 2012, but I have been using VS 2012 express version for some time now and the fact that it's the only express version that has C++ and C# in the same IDE is very helpful. It can also use the previous C++ compilers if you have the older compiler installed, the simplest way to make it work is to first install the older VC express and then VS express 2012.

Mono compatibility also discussed here seems fine, main thing to make sure is that people don't add WPF.

Crimson Wizard

You must have VC9 (2008) compilers to build AGS.Native.dll because of Allegro libraries. The latest studio that Allegro 4 has binaries for is MSVS 2010.

JJS

It is very much possible to build Allegro with VS2012 (I did that previously). It has to be patched anyway (for __old_pack_fopen) so builds from the Allegro site are not usable. But I only tried linking the result to the engine, not to the native editor part. I generally don't know why the engine links against different libraries than the editor (fake edit: now that I look at the files shipping with the editor I guess the editor components link against the dynamic VC runtime while the engine is statically linked).

I also don't know if there is a good reason why the Allegro library is version 4.2.2. It might actually be beneficial to update that to 4.4 along with new version of Vorbis, Ogg and Theora. Of course the issue of updating the libraries is completely independent of building with VS2012, it can as well be done with VS2008.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

SpeechCenter

I also managed to build the AGS allegro library with a newer compiler in the past, and don't remember any problems.

You still have the workaround of installing VC9 before VS 2012 and compile the project with the old compiler (simply choose it in the project settings). I checked this with the VC10 compiler and it works.

SpeechCenter

Given that 3.3.0 hasn't changed the .net version, I would like to propose this would be included in 3.4.0.
Windows XP will reach end of support on April 2014, well before any expected release of 3.4.0, therefore I do not believe it's a concern any longer (someone can be even brave and consider .net 4.5). Also transitioning to the latest IDE has its merits.

Advantages:

  • More modern IDE and compiler
  • Ability to use newer capabilities in .net
  • Ability to compile the entire solution with one instance of Visual Studio Express

Can we make sure this is included in the feature list of 3.4.0?

Crimson Wizard

Quote from: SpeechCenter on Sat 28/12/2013 22:26:54
Windows XP will reach end of support on April 2014, well before any expected release of 3.4.0, therefore I do not believe it's a concern any longer
Well, this does not mean people will stop using it...
On other hand, it is still possible to use previous version of AGS to create games. I heard some still use 2.72 :).

Quote from: SpeechCenter on Sat 28/12/2013 22:26:54
  • Ability to compile the entire solution with one instance of Visual Studio Express
We would need to break ties with precompiled allegro libraries to switch from MSVS 2008 completely.
I don't think there are other technical issues.

SpeechCenter

Quote from: Crimson Wizard on Sat 28/12/2013 22:45:21
Quote from: SpeechCenter on Sat 28/12/2013 22:26:54
Windows XP will reach end of support on April 2014, well before any expected release of 3.4.0, therefore I do not believe it's a concern any longer
Well, this does not mean people will stop using it...
On other hand, it is still possible to use previous version of AGS to create games. I heard some still use 2.72 :).
Your fallback is to not go beyond 4.0, but I think we are talking about far enough to the future to even consider going all the way. In any case, .net 4 can be done even if XP remains.

Quote from: Crimson Wizard on Sat 28/12/2013 22:45:21
Quote from: SpeechCenter on Sat 28/12/2013 22:26:54
  • Ability to compile the entire solution with one instance of Visual Studio Express
We would need to break ties with precompiled allegro libraries to switch from MSVS 2008 completely.
I don't think there are other technical issues.
True, but it's something that needs to be resolved anyway.

Radiant

Given how many people still use XP, I'm not in favor of migrating to a .NET version that doesn't work in XP any more. I'm not seeing any big advantages to the migration, either; what new capabilities specifically are needed for AGS?

Gilbert

Well, I am still using XP at home. I could understand why people would begin dropping supports for it though.
I think .NET4 is still supported for XP, so upgrading to 4.0 should still be okay for the majority of people, but not any version beyond that.

I actually don't mind using 7 (which is what I'm using in the office; it's fine as long as lame features like AERO are all turned off, though the file access right stuff in certain folders is still horrible) but I probably wouldn't upgrade in the near future as i don't want to pay again for a new OS version(and no, Linux is not an option). So, if one day the AGS editor has to be made XP-incompatible I'm also cool about it(don't know about other XP users), but will just continue to use the last XP-compatible version, until I'm really forced to upgrade.

SMF spam blocked by CleanTalk