Mono Performance For Games

Moderator
Posts: 3,572
Joined: 2003.06
Post: #16
Throwing this way out there... Wacko

If a UB Mono runtime can be compressed for maybe around 5-10 MB and we could add FBX for about the same, I'd say we could have a pretty serious XNA analogue on the Mac (assuming we added good HID support too). I'm more confident about the Mono thing than FBX though, since FBX looked like crazy C++ hell last time I glanced...

That'd be windowing, joysticks, C#, and FBX models. I know Cheetah3D does FBX on the Mac, so... well, that seems like it'd be pretty sweet for a basic Mac XNA-ish implementation wouldn't it?
Quote this message in a reply
Sage
Posts: 1,199
Joined: 2004.10
Post: #17
What's FBX?
Quote this message in a reply
Member
Posts: 312
Joined: 2006.10
Post: #18
TomorrowPlusX Wrote:What's FBX?
FBX is a model format.

Nick, have you been able to compile Tao.OpenGL?
Quote this message in a reply
Moderator
Posts: 3,572
Joined: 2003.06
Post: #19
It's a 3D file format, which is gaining in popularity as an industry standard. It has lots of features, but IMHO the most important among them is that it handles skeletal animation.

[edit] d'oh, bronxbomber beat me to it. I got distracted reading on its features again.
Quote this message in a reply
Member
Posts: 446
Joined: 2002.09
Post: #20
AnotherJake Wrote:That'd be windowing, joysticks, C#, and FBX models.

You've just described Unity, no?
Quote this message in a reply
Moderator
Posts: 3,572
Joined: 2003.06
Post: #21
Frank C. Wrote:You've just described Unity, no?

Well, yeah, I guess so, except you have to pay for Unity, and I'm not talking about a lot of built-in support for things like terrain and physics, etc., although those could be added later. Prolly still wouldn't get close to Unity in terms of features though. XNA is at least free if you don't join the club to run on Xbox360. Of course, XNA is also closed, and what I'm envisioning is open source.

But there is certainly some similarity to Unity there. I guess that just means the idea follows the beaten path.
Quote this message in a reply
Sage
Posts: 1,066
Joined: 2004.07
Post: #22
bronxbomber92 Wrote:FBX is a model format.

Nick, have you been able to compile Tao.OpenGL?

There's no need to compile. I just downloaded it and started using it. The prebuilt library is in the bin folder.

I'm actually in the process of cleaning up a tutorial to send to GameDev.net on installing and using SdlDotNet and Tao.OpenGl to create a game for OS X. Ravuya suggested it after I posted my very first rough draft to help someone out. I'll be sure to post back once I get that to a better state so other people can use it to start with C# in OS X.

I'd love to make an XNA-esque library for OS X. I love C# and love my Mac. I saw the MonoXNA project, but I really don't think that there's a clean way to convert XNA (based on DirectX) to an OpenGL setting. For instance, what is the new purpose of GraphicsDevice? In OpenGL you don't need a GraphicsDevice handle to create or draw objects (as far as I know). So making a new, cross-platform managed game library would be fun.
Quote this message in a reply
Moderator
Posts: 522
Joined: 2002.04
Post: #23
AnotherJake Wrote:Well, yeah, I guess so, except you have to pay for Unity, and I'm not talking about a lot of built-in support for things like terrain and physics, etc., although those could be added later. Prolly still wouldn't get close to Unity in terms of features though. XNA is at least free if you don't join the club to run on Xbox360. Of course, XNA is also closed, and what I'm envisioning is open source.

But there is certainly some similarity to Unity there. I guess that just means the idea follows the beaten path.
A huge feature of Unity that I don't think is obvious is the compatibility. I've read through my share of Unity release notes, and there are hoards of driver workarounds for different graphics cards / drivers / OS combos in there. A real life example: the Big Bang Brain Games went gold master somewhere around the beginning of February, and I haven't even done a bug fix patch yet, because I haven't had to. It's not like it hasn't had a wide distribution, either.

Once you go beyond simple textures & models in the fixed pipeline in OpenGL, you run into a buggy universe. All sorts of crap is broken out there. There are thousands of hours put into Unity worth of workarounds and fixes. It's pennies per driver workaround. Practically every time Apple releases a new Mac or OS update, there are new bugs to be worked around. I see it in the bug reports and the Unity release notes.

-Jon
Quote this message in a reply
Moderator
Posts: 3,572
Joined: 2003.06
Post: #24
Absolutely! You really do get what you pay for with Unity, I hope I didn't come across as hinting otherwise. Wink I really don't think an open-source Mac project could compete with Unity on that level at all.

But if you step back and look at everything available to developers, or potential developers, on the Mac, you can see that there is a huge gap in the middle, between starting from scratch, and full-on commercial offerings such as XNA/Unity (and Torque I suppose). It *looks* almost like we're starting to ink in that gap with the latest Inkubator project, but who knows? I don't know if we could really pull off something like this.

I think whatever were to fit in that gap would need to gravitate toward the vanilla OpenGL path for exactly the reason you pointed out -- lots of stuff is broken once you step outside.

And then there is the viewpoint that Unity is absolutely fantastic, but at the same time there are still at least a few of us down here who like to tinker around with the nuts and bolts underneath. Sure making games is fun, but for me personally, I love learning and playing with this lower-level crap. Maybe some day I'll actually wanna make a game, and when that day comes I'll prolly use Unity. But I think there remains a distinct, albeit small, interest for something like this.
Quote this message in a reply
Moderator
Posts: 522
Joined: 2002.04
Post: #25
Makes sense. Smile There are definitely low level tinkerers amongst us. An open solution as you propose would be neato. The only gotcha I can think of is that FBX is not an open format, and you have to link to their closed-source library to read in models. So the license would have to be chosen wisely... obviously it's incompatible with GPL.

But in related great news, the newest version of Blender includes an FBX exporter funded by OTEE that supports armatures (bones) and animations. So there would be a free solution to get animated and rigged models into your idea. Smile

-Jon
Quote this message in a reply
Apprentice
Posts: 8
Joined: 2005.07
Post: #26
OneSadCookie Wrote:The minimal size for a Unity UB used to be in excess of 20MB

Compressed it's around 7.5mb, and that's using Zip, which isn't the toughest compression out there.

Of course, you can build web games, in which case we field the Unity Web Player installer cost (it's just 3mb), and the only data that is downloaded from your server is pure game data.

d.
Quote this message in a reply
Luminary
Posts: 5,143
Joined: 2002.04
Post: #27
davidhelgason Wrote:Compressed it's around 7.5mb, and that's using Zip, which isn't the toughest compression out there.

That's pretty decent. 7.5M (and you can probably go lower by using a bzip2'd DMG if you don't care about 10.3.9 support) for a UB of a fast language runtime isn't likely to break the bandwidth budget Wink
Quote this message in a reply
Apprentice
Posts: 8
Joined: 2005.07
Post: #28
These 7.5mb are of course including the entire game engine as a Universal Binary. If you make separate Intel and PPC builds, you go down to 4.3mb.

d.
Quote this message in a reply
Moderator
Posts: 608
Joined: 2002.04
Post: #29
Nick, did you ever end up finishing that Sdldotnet/Tao article?
Quote this message in a reply
Sage
Posts: 1,066
Joined: 2004.07
Post: #30
I did. I'm proofing it over the next few days before submitting it to GD.net. I'll also post a link to it here when I get done.
Quote this message in a reply
Post Reply