Jump to content

Portable 0.A.D with C#, .NET, Windows 8 Modern / RT


mahdi
 Share

Recommended Posts

I'm impressed by the amount of effort you must have put into this, but to be honest I find it highly unlikely that anyone will be able to fund ongoing maintenance of a completely disparate codebase. The approach is simply too cumbersome, though I recognize that Windows 8 is supposedly a very different beast.

It must be possible to emulate the old Win32 API in some fashion, at least for 0 A.D. part 1. If we want to support WinRT natively for part 2, we'll likely rethink the whole engine from scratch, rather than undertaking this Herculean task of having to port each and every single little change back and forth between each platform.

Link to comment
Share on other sites

What conditions do the Microsoft Stores have that can't be fulfilled by the original version of the game?

I'm just curious.

The store requires a completely different coding style, mainly it does not support OpenGL (we have DirectX). Also coding in a C++ for WinRT is completely different from coding in old-fashion Desktop applications.

i dream with 0ad in my xbox360. you think is possibly jump to consoles, or other massive devices?

Absolutely the answer is Yes, we only have to develop a new user experience as Xbox does not have a mouse/touch device. The player should be able to control his nation with a GamePad. Hopefully the are some RTS titles available for Xbox and we can inspires ideas for this issue.

I'm impressed by the amount of effort you must have put into this, but to be honest I find it highly unlikely that anyone will be able to fund ongoing maintenance of a completely disparate codebase. The approach is simply too cumbersome, though I recognize that Windows 8 is supposedly a very different beast.

It must be possible to emulate the old Win32 API in some fashion, at least for 0 A.D. part 1. If we want to support WinRT natively for part 2, we'll likely rethink the whole engine from scratch, rather than undertaking this Herculean task of having to port each and every single little change back and forth between each platform.

I think, after the project is separated/branched from the mother project, it could be a totally new and of course independent project. Indeed, They still can exchange ideas/improvement.

However, even keeping the changes back and forth is so easy thanks to SVN, as i am currently applying any change from original source to the ported one.

Thanks friends.

Link to comment
Share on other sites

I agree. I haven't tried Windows 8, but I'm sure there is a sufficient level of backwards compatibility for 'direct download' installations.

WinRT is a completely new platform. There is no 'backward' to be compatible. Also, there is no direct download. all the apps must be downloaded/purchased from Microsoft Store (and/or their partners).

Link to comment
Share on other sites

That's not what I hear when I google around, though:

“The gateway to get to Windows 8 is Windows 7, and we will have backward compatibility with Windows 7 embedded into Windows 8. That's something that we're very committed to. But that's a really important first pillar,” Kevin Turner, Microsoft Chief Operating Officer said at the Worldwide Partner Conference 2011.

http://news.softpedia.com/news/Windows-8-Compatible-with-Windows-7-Hardware-and-Software-211576.shtml

Link to comment
Share on other sites

WinRT is a completely new platform. There is no 'backward' to be compatible. Also, there is no direct download. all the apps must be downloaded/purchased from Microsoft Store (and/or their partners).

That's not correct. While Microsoft are looking to increase the number of Windows Store apps (and by implication move developers to their latest proprietary WinRT or Metro API) you can still directly download and run program's on Windows 8.

I've spent an afternoon setting up a Windows 8 laptop and I'm running directly downloaded applications.

This porting effort seems only to be able to support offering the engine through the Windows Store via a forked code base. Will the Windows Store terms comply with the open source license that the source code is under?

Edited by Echelon9
Link to comment
Share on other sites

I've spent an afternoon setting up a Windows 8 laptop and I'm running directly downloaded applications.

Sideloading the apps to windows 8 is possible for enterprise only. Not all members have enterprise license and using sideloading hack tools should be illegal. However there is no hack for ARM-based Windows RT as far as i know.

Link to comment
Share on other sites

But Windows 8 also support OpenGL right? So the port would be needed only for selling it through the store? If so it looks a lot of work for little benefit.

I have installed 0 A.D. on Windows 8 and it works fine :) There's no need whatsoever for a fork just to support Windows 8 (whatever other reasons there may be).

Link to comment
Share on other sites

There are two separate platforms in Windows 8:

- Desktop, which is as same as Windows 7, XP and ... with improvements and yet backward compatible. Yes supports OpenGL, but you cannot put a Desktop app in Store.

- WinRT, which is a new platform introduced in Windows 8, does not support OpenGL, apps can be sold via Store.

Tablets with Windows 8 only support WinRT. There is no Desktop.

Link to comment
Share on other sites

Yup, so this branch is to support:

  1. Tablets with Windows 8 (via WinRT), and
  2. Store Apps.

Though 0ad does support Windows 8 Desktop already - this fork is to support Windows 8 Tablets, Windows Phone and Xbox

[Added last two platforms on mahdi follow up comments]

Edited by Echelon9
Link to comment
Share on other sites

Yup, so this branch is to support:

  1. Tablets with Windows 8 (via WinRT), and
  2. Store Apps.

Though 0ad does support Windows 8 Desktop already - this fork is to support Windows 8 Tablets.

We can go beyond this and say this fork supports Windows 8, Windows Phone and Xbox.

  • Like 1
Link to comment
Share on other sites

Well, I don't really think that if we exclude "amateur" javascript developers (that use it to animate buttons in web pages) it is more knowledgeable than C#.

If you want beginner and amateur developers to be involved, consider also that C# is FAR EASIER to understand and to maintain than C++ and easier to develop and to debug than javascript.

I'm a software engineer and I'm currently working mainly with C#, but I worked several years with C/C++ and Java as well, and IMO the power and productivity of Visual Studio and C# worth the pain of migrating the entire project (we are currently migrating several components from C++ to C#)...

BTW, I'm still too new to the project to state with certainty, I just wanted to support Mahdi's action! :-)

Link to comment
Share on other sites

Well, I don't really think that if we exclude "amateur" javascript developers (that use it to animate buttons in web pages) it is more knowledgeable than C#.

If you want beginner and amateur developers to be involved, consider also that C# is FAR EASIER to understand and to maintain than C++ and easier to develop and to debug than javascript.

I'm a software engineer and I'm currently working mainly with C#, but I worked several years with C/C++ and Java as well, and IMO the power and productivity of Visual Studio and C# worth the pain of migrating the entire project (we are currently migrating several components from C++ to C#)...

BTW, I'm still too new to the project to state with certainty, I just wanted to support Mahdi's action! :-)

To support the comment, i'd like to mention i have developed for C/C++, Java, JavaScript and C# for 10 years. Among these languages (and also including languages i didn't name them) i believe C# is easier to learn, construct a stable code-base/framework and to debug.

However, C# is too much Microsoft-dependent and solutions with Mono/Xamarin are not mature enough to consider non-Microsoft platforms with C#. But with C#, at least we will have Windows Phone, Xbox, Windows Desktop, Windows Modern and WinRT versions of the game even without recompilation effort. It is too much i believe.

One more point is that, this port is not going to replace JavaScript or C++. It is just a hobbyist port of the game with potential to come commercially in Microsoft Store.

Link to comment
Share on other sites

It is just a hobbyist port of the game with potential to come commercially in Microsoft Store.

And that is where you are going to get a pretty strong backlash.

You need to consider the licences of the work you are modifying and building upon before trying to commercially sell anything.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...