It is currently Thu Apr 26, 2018 12:13 am

All times are UTC




Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 27 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: OS migration?
PostPosted: Tue Nov 24, 2009 1:11 am 
Offline

Joined: Thu May 11, 2006 5:07 am
Posts: 223
Location: Des Moines, Iowa
May have been addressed elsewhere, but wondering what Cyan plans to do with regard to platform for the open source OS. Many of us have now upgraded to Windows 7. Can we safely assume that any new version of MOUL will be able to run on Win 7? I still have computers running Win XP and Mac OS X 4.11 but not sure for how much longer on those...

_________________
"Oh, Rabbit," Pooh said, "is that you?"

"Let's pretend it's not," said Rabbit, "and let's see what happens."


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Nov 24, 2009 1:43 am 
Offline

Joined: Tue May 09, 2006 9:16 pm
Posts: 367
Location: Montana
Open source platform support will be up to those who wish to code it.

_________________
Through space and time; along the threads of the stars; we seek the knowledge and wisdom of the ages.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Dec 03, 2009 10:10 pm 
Offline

Joined: Sat Nov 14, 2009 2:40 am
Posts: 78
I hope they make a Mac version...I'm on OS X 10.4.11, and I bet if they did it would be for Snow Leopard (because of GCD). A win 7 version will probably be made due to win 7's popularity. A linux version would be nice too, but I doubt that will happen anytime soon.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Dec 04, 2009 11:28 am 
Offline
Obduction Backer

Joined: Sun Jan 20, 2008 2:14 pm
Posts: 902
Actually, when Uru goes open source, I'd imagine making it work on linux is going to be something that a number of people are going to work on fairly soon, so I hear. =)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Dec 04, 2009 2:31 pm 
Offline

Joined: Sat Nov 14, 2009 2:40 am
Posts: 78
Cool. I figured that, Linux being a more obscure OS, that making a linux version would be lower priority.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Dec 04, 2009 4:35 pm 
Offline
Obduction Backer

Joined: Tue Oct 03, 2006 3:25 am
Posts: 869
MOUL will run fine on Windows 7. Even Uru:CC runs fine on Windows 7.

_________________
"I visited Esher's lab and all I got was this lousy t-shirt."
VidRoth -- KI#50637


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Dec 04, 2009 4:43 pm 
Offline

Joined: Sat Nov 14, 2009 2:40 am
Posts: 78
I thought that might be the case...for Mac OS, if they want to take advantage of GCD and multi-threading, they're going to have to write URU to take advantage of that. The plus to that is, there's no limit to how many CPU's URU could take advantage of...meaning a potential for blazingly fast gameplay on more powerful computers.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Dec 04, 2009 4:47 pm 
Offline
Creative Kingdoms

Joined: Tue May 09, 2006 8:06 pm
Posts: 6218
Location: Everywhere, all at once
MegalomaniacalBahro wrote:
Cool. I figured that, Linux being a more obscure OS, that making a linux version would be lower priority.

As it should be. Linux is a big deal amongst technical enthusiasts. It's not a big deal amongst a vast majority of desktop users who would run the client and couldn't care less about the Operating System religious debates. Linux has its place and it's a great thing. And an open source project would be wise to offer itself on Linux. But the obvious priority is what the code runs on now and how many people will benefit now.

Edit: Added two missing 'g's.

_________________
OpenUru.org: An Uru Project Resource Site : Twitter : Make a commitment.
Image


Last edited by JWPlatt on Fri Dec 04, 2009 5:08 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Dec 04, 2009 5:05 pm 
Offline

Joined: Tue May 09, 2006 12:33 am
Posts: 1182
Location: British Columbia, Canada
JWPlatt wrote:
MegalomaniacalBahro wrote:
Cool. I figured that, Linux being a more obscure OS, that making a linux version would be lower priority.

As it should be. Linux is a big deal amonst technical enthusiasts. It's not a big deal amonst a vast majority of desktop users who would run the client and couldn't care less about the Operating System religious debates. Linux has its place and it's a great thing. And an open source project would be wise to offer itself on Linux. But the obvious priority is what the code runs on now and how many people will benefit now.


Most of the code already compiles on Linux, since the UU servers were all Linux based. The major parts with issues are the Pipeline code (which uses DirectX), and possibly the audio code (which uses OpenAL now, so it might not be a problem). Some of the new network stuff might need to be rewritten depending on the socket code that was used.

However, by making it work on Linux and switching from DirectX to OpenGL, it would also clear the way for a Mac version (since there is no DirectX for Mac either).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Dec 04, 2009 5:13 pm 
Offline

Joined: Sat Nov 14, 2009 2:40 am
Posts: 78
Yeah, if no mac version, VMware compatibility would be nice (I don't know if that's more effort than it's worth tho or not). Uru CC doesn't work right on Vmware :cry:

_________________
IC name: Ramandu


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Dec 05, 2009 10:18 am 
Offline
Obduction Backer

Joined: Sun Jan 20, 2008 2:14 pm
Posts: 902
JWPlatt wrote:
MegalomaniacalBahro wrote:
Cool. I figured that, Linux being a more obscure OS, that making a linux version would be lower priority.

As it should be. Linux is a big deal amongst technical enthusiasts. It's not a big deal amongst a vast majority of desktop users who would run the client and couldn't care less about the Operating System religious debates. Linux has its place and it's a great thing. And an open source project would be wise to offer itself on Linux. But the obvious priority is what the code runs on now and how many people will benefit now.

Edit: Added two missing 'g's.


You are, however, forgetting that open source developers mostly find an itch to scratch. Not priorities, I'm afraid. And, much was said regarding Warzone 2100 when it was open sourced. It turned out the first thing really was porting it to Linux. Linux may be a relatively obscure OS, however, it is commonly used by Open Source enthusiasts. On that note, as Paradox mentions, porting Uru to Linux will finally allow Uru to run on a Mac natively for the first time (Due to the things needed to port it to Linux). MOUL's "Mac" version, was merely the windows version wrapped in a fork of Wine, pretty much. Transgaming's fork, no less. And Transgaming is less than trustworthy, cares little for promises, and its customers. Or at least that's what it has shown itself to be like, in the past. So, yes, porting Uru to Linux will have very real benefits, and should be done very early in the process. If not the first thing that should be done.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Dec 05, 2009 4:31 pm 
Offline
Obduction Backer

Joined: Mon May 15, 2006 2:02 pm
Posts: 809
Location: Switzerland
Exactly. Obscurity of the OS, in itself, is an irrelevant criterion for an open-source project. The only thing that matters is availability of developers who feel like working on any particular aspect. If there are developers who prefer Linux (as seems to be the case), they will work on a Linux version. If there are developers who prefer Mac OS (such as me here), they will work on a Mac version.

How far and how quickly these efforts will succeed is a different question, of course - obviously those working on Windows have a head start.

I trust Paradox to know his Plasma, but to add to his list of technicalities - the thing I am worrying about most at this time (from a bystander perspective, not having done any research) is, what are we going to do with respect to physics engines?

MegalomaniacalBahro wrote:
Uru CC doesn't work right on Vmware :cry:

For running Uru CC on Mac OS, I recommend CrossOver Games.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Dec 05, 2009 5:03 pm 
Offline
Creative Kingdoms

Joined: Tue May 09, 2006 8:06 pm
Posts: 6218
Location: Everywhere, all at once
Christian Walther wrote:
what are we going to do with respect to physics engines?

ODE would appear to make the most sense. That's what was used in Myst V. However, there's this from Colin Bonstead, but things may have improved since 2005:

http://www.ode.org/old_list_archives/20 ... 16147.html

On June 21, 2005, Colin Bonstead wrote:
ODE in Myst V: A Postmortem

I've pretty much wrapped up the physics work in Myst V, so I figured I'd send out an email to the list with the details of what kind of issues I ran into.

For our previous game, Uru, we used the Havok 1 engine for our physics. The characters were simulated as 3 different size spheres stacked on top of each other. Movement was accomplished by just setting the linear velocity based on the player animation. This worked well since Havok resolved all collisions each frame, so there wasn't any "jittering" when you pushed yourself into a wall. We had some physical objects scattered around that you could push, but no real fancy physical interaction.

When we were reworking the engine for Myst V though, we decided to drop Havok and go with ODE. The main reasons were that we wanted to ship on Mac, which Havok didn't support (thus killing the Uru Mac port we were going to do), and ODE was free. We had evaluated ODE during Uru, but at that time it didn't support trimeshes, which was a deal breaker.

Going from Havok to ODE, the main issues were the lack of convex hull support and the fact that collisions weren't completely resolved each step. In Uru, pretty much all detectors were made from convex hulls. Since they have a definite inside and outside they can detect when another physical is completely inside them, unlike a trimesh. Since ODE doesn't have hulls I had to make the artists use either box or sphere detectors, or use a trimesh and make sure the object that's going to be inside them will always be touching a triangle. That was unfortunate, but they adapted to those restrictions.

The bigger problem was the collision resolution. Since ODE uses the ERP to resolve collisions over multiple steps you can run into cases where an object being forced into some static geometry will push in and out instead of stopping dead. In Havok the penetrations were always resolved, so our character controller was much simpler.

For the Myst V avatar I used a capped cylinder. In Havok we kept our characters upright by setting an inertial tensor that was wacked out enough to make it impossible to get any angular rotation. (Then for turning we would just manually set the rotation.) That didn't work in ODE so I initially tried making a joint that would disallow any rotation in the x and y. That worked, but after scooting around a little the character would begin slowly tipping over. It was a problem I ran into more than once, where a joint just wasn't stable. So, I gave up on the idea of a joint and went with what Alen from Croteam suggested and just created a flag in ODE that would prevent a body from ever getting angular velocity. (I just added a few checks in the step for the flag and didn't add angular velocity in those cases.)

Moving the avatar by setting the linear velocity directly, like we did in Havok, didn't work too well. I don't remember exactly what happened, but I do remember that everyone on the mailing list said it was a bad idea. Again I went with Alen's suggestion here and made a custom joint that set the x and y linear velocity. That worked fine but due to the collision joint sponginess I needed an additional check to keep the avatar from running full force into walls. I added an additional capped cylinder that was slightly bigger than the collision one and it just detected collisions without making any contact joints. Then I took the normals from all the contacts and decided if we were about to run into a wall. If so, I would redirect the velocity to slide along the wall, or just kill it if there was nowhere to go.

To get good contact normals from the trimesh I had to add another special flag to only return normals. By default you'll get the best separating axis, which isn't necessarily the normal of the triangle you hit (for instance, if you're on an edge). In addition, to clean up the amount of contacts I implemented the contact reduction method from Game Gems 4(?), which is checked into the unstable tree.

The main problem I ran into was with the instability of the ODE joints. I run our simulation at a fixed 100 Hz, and clamp the per-frame delta to a max of 100 ms (so we don't kill the framerate even more by doing too many steps during a slow frame). That works great on fast machines, but on slow ones (ie dropping below 10 fps at times) the joints tend to get unreliable. The avatar can run pretty fast (around 20 feet per second I believe) and we ran into a problem near the end of development where in low framerate situations the avatar would sometimes pass through boxes. Changing those to trimeshes fixed the problem, I think because they generate more contacts. I did a lot of work playing with different ERP values, step sizes, stepping methods, etc, but nothing fully cured the problem.

Overall I'm fairly happy with ODE, in the sense that the price is right and it allowed us to do a Mac version. However, I wouldn't recommend it to any other commercial game developers. The community is pretty helpful, but it just isn't the same as having support from a commercial physics engine. Also, development is pretty stagnant right now. The biggest reason I'd recommend against it though is the fact that Novodex is basically being given away for free if you commit to using a decent amount of physics in your game. Ageia wants to create a market for its physics accelerators, and they're willing to take a bath on Novodex to do that. I'm sure Havok is not happy about that.

Anyway, if anyone has any questions or comments I'll be happy to reply.

Colin Bonstead
Lead Engine Programmer
Cyan Worlds

_________________
OpenUru.org: An Uru Project Resource Site : Twitter : Make a commitment.
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Dec 05, 2009 5:27 pm 
Offline
Obduction Backer

Joined: Mon May 15, 2006 2:02 pm
Posts: 809
Location: Switzerland
JWPlatt wrote:
Christian Walther wrote:
what are we going to do with respect to physics engines?

ODE would appear to make the most sense.

I fear the problem starts earlier than choosing ODE or not ODE. Is it a given that we will have to move the whole project away from PhysX? From a quick glance at the PhysX SDK download page, it seems like we might be able to continue to use it, on Windows. That means that the Linux and Mac developers would either have to convince the Windows folks to switch to ODE (or whatever), potentially repeating all the woes that the Havok-to-PhysX switch brought with it, or we would have to live with different physics engines on different platforms, which is likely to cause an even bigger mess.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Dec 05, 2009 5:37 pm 
Offline
Creative Kingdoms

Joined: Tue May 09, 2006 8:06 pm
Posts: 6218
Location: Everywhere, all at once
The PhysX question and other points are academic if PhysX is one of the things needing to be ripped out. The best solution is a cross-platform open source license solution.

By the way, Colin's response to a question about a Linux port:

Colin Bonstead wrote:
No, no Linux port. The Linux game market is even smaller than the Mac one, which is already hard to justify. In general, it's just not cost effective to make a Linux port. Of course, I'm sure all the zealots on Slashdot will tell you otherwise. ;)

:P

I will say, however, that a Linux port of the MOUL servers makes way more sense than a MOUL client port.

_________________
OpenUru.org: An Uru Project Resource Site : Twitter : Make a commitment.
Image


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 27 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to: