AGS .net version on Windows Mobile

Started by subspark, Tue 13/11/2007 00:55:33

Previous topic - Next topic

subspark

Back in 2005 in this thread:
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=18492.0
Chris, you said:
QuoteUnfortunately it's not that simple. VS only supports the WinCE for .net projects, not C++ projects, and porting AGS to .net really isn't a practical task right now.

Now that AGS uses the .net platform would this be as simple as it was originally made out to be?
I think the ability of running our own games our PDA's would be a refreshing change. PDAs are more powerfull now than in 2005 too.

I'm totally clueless here CJ. Could you enlighten me as to if this is now possible and worth moving forward with?

EDIT: Damn! I forgot to change the subject of this thread to something more specific. Sorry guys. (done)

Cheers,
Paul.

scotch

#1
The only part of AGS that uses .net is the editor, so no, it doesn't make a difference for running games. Only CJ could comment on how hard it'd be to do a .net version of the engine but it doesn't seem likely.

subspark

Right I see. Thanks for the clarification.

Cheers.

Pumaman

I have no plans to rewrite the engine in .net. It's a completely different kettle of fish, really ... C# and .NET are great for writing Windows applications, but C++ is much faster, more efficient and portable for writing games.

Dowland

Hello,

Quote from: Pumaman on Tue 13/11/2007 19:53:28C# and .NET are great for writing Windows applications, but C++ is much faster, more efficient and portable for writing games.

Actually that is not quite true. Or at least it won't hold true for very long: Microsoft has made it possible to develop games for its Xbox (with DirectX 10) using the .NET platform; it is pretty clear that they will aggressively push .NET (and are perhaps, possibly, trying to make it the defacto standard for writing game for the Xbox 360 et al.).

Beyond that, and still regarding portability, Mono is making great advances towards making the .NET platform quite easily portable in most every respect.

That being said, I'm just playing devil's advocate, as I certainly don't see what AGS would gain from being rewritten for .NET.

Regards.

scotch

I don't doubt that AGS could run acceptably on .net for most users. It'd become somewhat slower and memory hungry, but C# is still reasonably fast. It would be counter productive for ports, though.

If ports were something particularly CJ wanted to go for the best thing would be to work on making the current engine thoroughly platform independant. ScummVM runs on nearly anything anyone would want it to, because it was designed to. It can only do that because it's written in C/C++ (well that and it's open source, which allows anyone to maintain a port).

Dowland

#6
Hey,

Please stop me if I'm dragging this conversation too far from its originally intended topic.

ScummVM is extremely portable because SDL is extremely portable. (But agreed that C/C++ and open source also help :) ).

I also agree that up until now, portable usually went hand in hand with C/C++. I believe that this has or will change soon. What platform does .NET currently not run on (which you would want it to)?

(EDIT: all that said, I personally would certainly not wish for users to have to install that somewhat hefty framework to run an AGS game!!)

scotch

#7
.net exists on Windows 98+ (obviously), XBox 360, Linux and Mac and other desktop POSIX systems (with limited compatability), and Windows mobile devices. That's pretty good, but AGS is already portable to Linux and Mac, and the 360 is not a very common system for the average owner to load programs from the internet onto. The newish Windows Mobile devices would be the only platform gained that people often ask for.

An easily portable C++ version could, in theory, go to Symbian and Windows phones, DS, PSP, GP2X and really most of the platforms people have requested. The only one I can remember that it wouldn't work on is Java based phones, like Android.

ScummVM is portable because SDL is portable, yeah (although it's not even tied to SDL, the Nintendo DS backend doesn't use it, for example). I realise AGS is not at all like this, and may never be. All I was saying is if there was a large rewrite, a clean C++ version could go to more devices.

Whatever the engine language, engines would have to be modified to take into account the different screen modes, memory amounts and input devices, so ports would require maintainers. In practice that's the main thing that prevents them.

Dowland

Hello,

Thanks for your answer!

You are right about the platforms. But (and I'm not sure what you meant by "newish WM platforms") .NET is available on all Microsoft PDA platforms since Windows Mobile 2001 (or something).

Yes, I understand (and agree) with what you that an easily portable C++ version could be much more useful in the unlikely advent of a rewrite. On a related note though: I think (from my *limited* experience) that writing portable software is much harder than writing software for a cross-platform virtual machine (hence the undeserved popularity of Java :) ).

Insofar as ports of the actual engine are concerned, maybe releasing the game format specs would encourage ports. As you said, ScummVM's plurality of ports relies heavily on the fact that it is opensource (I'm sure CJ would share the code to a serious and motivated potential porter, as has been done with Linux ... but I'm not sure how many people volunteer without being able to get a clear picture of the amount of work involved).

BUT I truthfully don't have time to play on my phone anyway! And whoever thought pixel hunting was though on those old PCs would probably find a new challenge playing adventure games on a phone ... :D

And functional programming is the future, anyway  ;D

Regards.

scotch

I wasn't sure when mobiles got the .net framework, but I put in "newish" because AGS was never designed for low power systems and guessed it'd probably only run well on the later ones, but a hypothetical rewrite could fix that too.

When it comes to games porting to a new platform is not necessarily that difficult, especially 2D ones. The main thing that needs to be replaced is the drawing code, which for 2D games can be as little as a few sprite blitting routines, and input code which might be more or less complicated depending on the platform. If you write one SDL backend then you've got a lot of platforms covered right away.

In most cases it's even less work if you're coding for a VM, admittedly. Only need to make adjustments for screen size and input devices. But the difference is not huge, in my opinion.

Anyway, this is not going to happen any time soon ;) It's too much work, and really as cool as it sounds at first, playing adventure games on your handheld is not as fun as it sounds.

Pumaman

Quote from: Dowland on Wed 21/11/2007 16:39:59
all that said, I personally would certainly not wish for users to have to install that somewhat hefty framework to run an AGS game!!

Well exactly, this is what pretty much kills dead any thoughts of rewriting the engine in C#. At the moment I'd consider it unacceptable to require any potential players of a 1 MB AGS game to download and install a 30 MB framework from Microsoft -- it's simply not sensible. Perhaps in 5 years time, 99% of people will have it installed anyway at which point it becomes feasible.

And even if that wasn't an issue, there's no strong reason to rewrite the engine. It has taken over a year so far to rewrite the editor, and the engine would undoubtedly take longer due to the extensive backwards compatibility testing and issues that would come up. Originally I thought I might have to rewrite it to add 3D Acceleration support, but as it turns out I've been able to do that with a bit of relatively minor refactoring.

Dowland

Chris, you've done incredibly well; I just happened to stumble on a convo I thought I could add my two pence to, and decided to go for it  :) .NET is not relevant to the AGS engine. (Love what you did to the editor though! ...)

Any thoughts on ML though? (joking)

SMF spam blocked by CleanTalk