I believe that writing software for portability to different platforms still has value in today's Microsoft-dominated world.
- [Microsoft's domination won't last forever.]
- [Microsoft's domination won't last forever.]
- [Microsoft's domination won't last forever -- or will it?]
I don't plan on sticking my nose too deeply into the design of our game where it concerns client-specific code, i.e. the rendering, UI, and gaming device I/O portions -- I have little specific expertise in these areas, and more interest in other parts of the program. But I would like to encourage the people that do eventually lead us in these areas to consider portability as a goal. Take a close look at portable Open Source libraries; consider whether the licensing requirements can be accomodated.
Istvan Uneducated random thought - is it at all reasonable to make a client using open-source tools and thus allow its code to be publicly known, while the server-side code remains proprietary? Can all security issues be handled from the server with a client security interface open to potential public scrutiny? I'm certainly in favor of providing for a Linux client (BSD or BeOS, even? (They laugh him off the Net)), at the very least, even if everything else about the project is Microsoft-based.
DWM Funny you should mention that, it was an idea we talked about pretty early on, but it hasn't come up lately. Whether it's possible or not, I'm not sure, but this will get us thinking about it again. We also talked about an even more questionable scenario, where the whole thing is open source and we try to make our money off of running the most reputable, reliable, and fun servers. That sounds like a bit of a long shot, but opening the client up might be feasible. Depends a lot on how cheat detection is done, and how reliable it is.
Istvan Your "more questionable scenario" seems to me at the extreme range of business risk. To create a product and then allow anyone else to provide it at will would seem to preclude any hope of making money. That's more a public service, in the classical Open Source spirit.
We can be Microsoft-centric, contributing to the problem, or we can be part of the solution.
JDH My goal is to write a really good game. I don't much care if I'm part of a problem or a solution at the moment. Having said that - to write a really good game I believe we need to have a really well engineered solution - such a solution naturally lends itself to providing alternative client implementations. Personally I'd target MS as the first main game client for a number of reasons (probably all of them obvious). In terms of alternative clients - I was thinking of some form of service that could send updates and receive limited commands about the ever unfolding game state to low capability clients. For example logon using a web browser at work and be able to interact with the game in some limited fashion (e.g. send a new script of commands to an Avatar). Use your Palm Pilot/Pocket PC to track various game stats and as some form of decision making tool. These are not the main modes of playing the game but it makes the game more available to you more of the time - and that hopefully creates more of an immersive environment. But that's getting way off topic so I'll stop ...
Istvan Limited interfaces, such as via web browser, dovetail with some ideas I have regarding "Manangement Gameplay". In short, a subset of players may possess "management accounts" in which they operate what look like pieces of infrastructure to "regular players". This was in part my solution to needing way too much AI to make a realistically dynamic environment - and I recognize it may not be that necessary given there is big interest in AI within this team. Of course, permitting a mix of AI and "manager-run" infrastructure elements wouldn't necessarily hurt, and might even prove beneficial, assuming the design is robust enough to handle such.