Jump to content

Obsidian, switch engines!


mkreku

Recommended Posts

Only Blizzard and Id are serious about making Mac games.

 

Actually, plenty of other publishers are too, e.g. EA.

 

Why should they use OpenGL when DirectX is the standard these days? You don't need two API's.

 

DirectX is a standard? No. Standards are open and free. E.g. HTML.

 

But yeah, you're right, DirectX is certainly popular on Mac, Linux, PS3. >_<

Link to comment
Share on other sites

Linux really should get more support, though.

"Alright, I've been thinking. When life gives you lemons, don't make lemonade - make life take the lemons back! Get mad! I don't want your damn lemons, what am I supposed to do with these? Demand to see life's manager. Make life rue the day it thought it could give Cave Johnson lemons. Do you know who I am? I'm the man who's gonna burn your house down! With the lemons. I'm going to to get my engineers to invent a combustible lemon that burns your house down!"

Link to comment
Share on other sites

If you choose to make your game using the DirectX API: Windows only.

 

If you choose to make your game using the Open GL API: Windows, Linux, Mac, you name it.

 

The difference is that DirectX is much easier to get to grips with, has better tools and you can do much more advanced stuff with it (not so sure about the last part now though). Personally, I do wish that all developers adapted to the Open GL standard. Maybe it would make Linux a viable OS for gamers in the long run.

Swedes, go to: Spel2, for the latest game reviews in swedish!

Link to comment
Share on other sites

If you choose to make your game using the DirectX API: Windows only.

 

If you choose to make your game using the Open GL API: Windows, Linux, Mac, you name it.

 

The difference is that DirectX is much easier to get to grips with, has better tools and you can do much more advanced stuff with it (not so sure about the last part now though). Personally, I do wish that all developers adapted to the Open GL standard. Maybe it would make Linux a viable OS for gamers in the long run.

 

I think you are barking up the wrong tree here. The selection of the possible audience and thus the supported platform(s) is rarely up to the developer, but rather a decision that is made by the publisher(s). i.e. whether or not to include certain consoles.

 

Game production will in the end always come down to simple business decisions and in that regard you list some of the major points for DirectX: easier, better and faster to do.

If you look back to NWN1, at that stage the differences between DirectX and OpenGL were much less relevant and linux looked quite promising as a future gamer platform when the development started. However in the aftermath it seems, that linux clients didn't make for a significant enough share of the market (even by now) to justify the necessary efforts that would go along with supporting it as a platform.

 

Of course that sounds a bit like a deadlock: How will linux ever become a significant platform for the gaming industry, if nobody supports it?

But I don't think that this can be addressed or solved by the game developers. For that you should better try to convince the IP holders and publishers, who actually decide about those directions.

 

 

Just my 2ct.

Edited by Senalaya
Link to comment
Share on other sites

The PS3 uses OpenGL (ES, customized for the PS3). Unreal Engine 3 supports OpenGL. This new Crytek3 Engine supports OpenGL.

 

There is still the decision whether or not to port an engine to another platform, and to provide all of the maintenance and support that the port will require. Game engines do more than display things in 3D, and porting all of the other systems (audio, windowing, scene management, networking, input) to another platform isn't always trivial. Even with OpenGL built in, if it still isn't cost effective to build and support a port on linux flavors/mac/whatnot, then it won't be done.

Oh Jimmy, you were so funny.

Don't let me down.

From habit he lifts his watch; it shows him its blank face.

Zero hour, Snowman thinks. Time to go.

Link to comment
Share on other sites

But yeah, you're right, DirectX is certainly popular on Mac, Linux, PS3. :(

 

And why exactly should Obsidian care about Mac and Linux?

 

Because he's an Apple fan and by definition believes that the world should revolve around him? :huh:

 

That's odd. You seem to have assumed a lot in that post.

 

First of all, I'm an Ubuntu (Linux) fan, not a Mac/Apple fan. Second of all, isn't it the Windows fans who believe that the world should revolve around them when they say "Who cares about Mac or Linux"? :lol:

Link to comment
Share on other sites

But yeah, you're right, DirectX is certainly popular on Mac, Linux, PS3. :sorcerer:

 

And why exactly should Obsidian care about Mac and Linux?

 

Because he's an Apple fan and by definition believes that the world should revolve around him? :p

 

That's odd. You seem to have assumed a lot in that post.

 

First of all, I'm an Ubuntu (Linux) fan, not a Mac/Apple fan. Second of all, isn't it the Windows fans who believe that the world should revolve around them when they say "Who cares about Mac or Linux"? :p

 

I was (mostly) joking, as (hopefully) implied by the :p smiley.

 

Secondly the world does revolve around Windows, because, you know, it's just the most common OS by a large margin(85%+), especially on gaming-capable systems.

Edited by Purkake
Link to comment
Share on other sites

Hello nerdlings,

 

I'm here to deliver the non-essential "hey this probably won't get me fired" goods on ONYX.

 

We've actually taken what is a pretty long term strategy with it, so there are two layers. There is a core layer that contains all of the very, very low level stuff, including the renderer. Many aspects of this layer are customizable based on platform - so, for instance, it's a D3D renderer on PC/360 and... libgcm I believe on PS3. You'd have to ask one of the crazy men behind the curtain on our tech team for exact specifics. Things like the math libraries, memory managers, etc. also commonly have different implementations for each console as they support different SIMD instructions, have different memory architectures, etc.

 

This stuff forms the foundation of any game we'd build with Onyx, but you wouldn't have a game if you just took that stuff. But, for the most part, you can chop off everything above this lower layer and migrate it from one project to the next, meaning nothing in this low level layer is dependent on any specific aspect (or game code) of any game we are making.

 

There's some other things that live down in that low-level code - things like VFX (particles, billboards, etc.), physics, sound, etc.

 

On top of this sits the game code, which does pretty much everything else. Input, animation, what makes up a level, RULZ, all our code to dumb down the game for XBOX, etc. lives in that layer. Actually, for the most part, the game code doesn't really know or care what system it's running on - the low level code is supposed to take care of all that.

 

Some of that code can migrate from game to game, but that's where stuff gets tricky. In a lot of cases, things get tangled up enough that it's tough to make a clean break when you are starting a new project. This is why something we've been doing is making a new "modular game" layer that contains the platonic ideal of all of the generic things that you need to make the kinds of game we make.

 

So, for instance, take a system like Inventory. Think of the things that Diablo, Fallout 1-3, BG1/2/IWD and Warcraft 3 all have in common with respect to Inventory, the concept of what an item is, etc. This is the kind of code that would live in this "generic game layer". Then, we can build on top of that to develop the specific rules for game X.

Link to comment
Share on other sites

The PS3 uses OpenGL (ES, customized for the PS3). Unreal Engine 3 supports OpenGL. This new Crytek3 Engine supports OpenGL.

 

There is still the decision whether or not to port an engine to another platform, and to provide all of the maintenance and support that the port will require. Game engines do more than display things in 3D, and porting all of the other systems (audio, windowing, scene management, networking, input) to another platform isn't always trivial. Even with OpenGL built in, if it still isn't cost effective to build and support a port on linux flavors/mac/whatnot, then it won't be done.

 

FYI most srs bzns PS3 developers do not in fact use the OpenGL ES implementation on the PS3. libgcm is the "closer to the metal" API that is generally more commonly used.

 

Unfortunately, what I hear a lot from graphics guys is that OpenGL is kind of an abandoned baby these days. Few people on the hardware side, excluding Apple, have been doing much with it commercially, and Apple seems to have just discovered gaming with the iPhone.

 

It's a bummer because OpenGL is pretty much all you've got on OSX, and there are a surprising number of Apple fans in the game industry... heck, on a given day at Obsidian it's likely you'll see at least one Macbook Pro in an office. I'm actually writing this on my Macbook Pro!

 

Anyways, yeah, as you mention porting a game engine is more complex than "just" rewriting the renderer. Particularly as middleware becomes more and more prevalent, if middleware vendor X doesn't support a given platform, chances are you aren't going to port your game to it. Apple and MS both choosing to focus on their own proprietary languages/APIs doesn't help much either, particularly when you're talking about porting, say, a toolset.

Link to comment
Share on other sites

If you choose to make your game using the DirectX API: Windows only.

 

If you choose to make your game using the Open GL API: Windows, Linux, Mac, you name it.

 

The difference is that DirectX is much easier to get to grips with, has better tools and you can do much more advanced stuff with it (not so sure about the last part now though). Personally, I do wish that all developers adapted to the Open GL standard. Maybe it would make Linux a viable OS for gamers in the long run.

 

I think you are barking up the wrong tree here. The selection of the possible audience and thus the supported platform(s) is rarely up to the developer, but rather a decision that is made by the publisher(s). i.e. whether or not to include certain consoles.

 

Game production will in the end always come down to simple business decisions and in that regard you list some of the major points for DirectX: easier, better and faster to do.

If you look back to NWN1, at that stage the differences between DirectX and OpenGL were much less relevant and linux looked quite promising as a future gamer platform when the development started. However in the aftermath it seems, that linux clients didn't make for a significant enough share of the market (even by now) to justify the necessary efforts that would go along with supporting it as a platform.

 

Of course that sounds a bit like a deadlock: How will linux ever become a significant platform for the gaming industry, if nobody supports it?

But I don't think that this can be addressed or solved by the game developers. For that you should better try to convince the IP holders and publishers, who actually decide about those directions.

 

 

Just my 2ct.

 

Honestly I think linux (or more accurately linux distro X, probably Ubuntu) will become a significant platform when the software community around it matures to the point that people want to adopt it.

 

If I want a high quality, UNIX based, moderately open-source driven, relatively secure OS with a phenomenal and very pretty GUI, I can buy a Mac and get OS X. I can even run X11 apps, or non-gaming Windows apps in VMWare Fusion and then dual boot into Windows when I want to play a game that isn't made by Blizzard or id.

 

If I just want to play games and run most software under the sun, I have Windows and a desktop computer. Windows 7 is even pretty darn good, all things considered.

 

And then you've got Linux, which for many users, is like taking Windows' quality of UI design and melding it with a developer share even smaller than OS X. I love the idea of using Linux, and really there's nothing (or very little) wrong with Ubuntu itself. But in Linux I don't get games, I don't get VMWare, I don't get iTunes, or Adium, or Digsby, or Safari, or Google Chrome, or Office, or the Adobe suites... it's just not practical, sadly.

 

And, until people want to adopt it for those other reasons, few people in development or publishing are going to risk adopting it for games.

Link to comment
Share on other sites

Thanks, Nath, for coming out and sharing some nerdy details with us.

 

IMO, the problem with releasing commercial games for Linux is very little market would be gained from such a move. I have no hard numbers here, but I seriously doubt there are many computers out there with graphics cards capable of running brand-new AAA titles yet run Linux without a Windows dual-boot setup. If I'm going to build a computer running only Linux, I won't even bother with a dedicated graphics card.

 

Epic used to talk about porting Unreal Engine 3 to Linux, but so far nothing has came out of it. id is to my knowledge the only major developer that releases native Linux executables, and all id's Linux ports are basically done by one guy in his spare time. That speaks a lot about the current state of Linux gaming.

Edited by Masterfade
Link to comment
Share on other sites

Thanks, Nath, for coming out and sharing some nerdy details with us.

 

IMO, the problem with releasing commercial games for Linux is very little market would be gained from such a move. I have no hard numbers here, but I seriously doubt there are many computers out there with graphics cards capable of running brand-new AAA titles yet run Linux without a Windows dual-boot setup. If I'm going to build a computer running only Linux, I won't even bother with a dedicated graphics card.

 

Epic used to talk about porting Unreal Engine 3 to Linux, but so far nothing has came out of it. id is to my knowledge the only major developer that releases native Linux executables, and all id's Linux ports are basically done by one guy in his spare time. That speaks a lot about the current state of Linux gaming.

http://ubuntuforums.org/showthread.php?t=1244727

 

Sadly the ID tech 5 engine most likely wont be getting a Linux port

The PC and Mac versions are still OpenGL 2.x.

We are not currently scheduling native linux ports. It isn't out of the

question, but I don't think we will be able to justify the work. If

there are hundreds of thousands of linux users playing Quake Live when

we are done with Rage, that would certainly influence our decision...

 

John Carmack

Yes, it is. The codebase is much, much larger, and the graphics

technology pushes a lot of paths that are not usually optimized. It

probably wouldn't be all that bad to get it running on the nvidia binary

drivers, but the chance of it working correctly and acceptably anywhere

else would be small. If you are restricted to it only working on the

closed source drivers, you might as well boot into windows and get the

fully tested and tuned experience...

 

John Carmack

MacOS X is still getting a port of it though -- probably because macs are more standardized in hardware and software/drivers.

Link to comment
Share on other sites

FYI most srs bzns PS3 developers do not in fact use the OpenGL ES implementation on the PS3. libgcm is the "closer to the metal" API that is generally more commonly used.

Skool'd. Thanks for the info and insights.

 

So, since you're feeling talkative, what makes Onyx better suited for (some of) OE's RPGs than UE3?

Oh Jimmy, you were so funny.

Don't let me down.

From habit he lifts his watch; it shows him its blank face.

Zero hour, Snowman thinks. Time to go.

Link to comment
Share on other sites

FYI most srs bzns PS3 developers do not in fact use the OpenGL ES implementation on the PS3. libgcm is the "closer to the metal" API that is generally more commonly used.

Skool'd. Thanks for the info and insights.

 

So, since you're feeling talkative, what makes Onyx better suited for (some of) OE's RPGs than UE3?

 

Quick disclaimer: I didn't work directly on AP, I've been on other projects so I can only share second-hand info with regards to UE3 specifics. And in no way is this intended to demean UE3.

 

But, I can give some general insights.

 

First, there's a benefit that has ultimately nothing to do with UE3 or Onyx specifically - having an in-house engine means that you have the low level architects of the tech just down the hallway.

 

Second, Onyx is much simpler than UE3. While this means that we don't have as many features as UE3, the features we do have are specifically tailored to our processes and our people.

 

Finally, the more "user-friendly" and well developed your tools are, generally, the less flexible they are. Meaning that, in general, with bigger, more complex engines it's very easy to develop the kinds of games they were designed to make and much harder to do things that they weren't intended for.

 

This may seem counterintuitive, but it's a logical progression of the process of honing a tool/engine/etc. You make decisions to specialize certain things and you need to start making assumptions on the part of the user. This stuff can drill down to the very low level technically - a renderer and engine designed to display hundreds of onscreen units in a Strategy style game probably won't be structured anything like a fighting game engine, for instance.

 

You also narrow things down because the more decisions you leave to the user, the more complex and time consuming it is for them to develop the specific thing you want to help them make. That's the whole selling point of an off the shelf engine - they've made a lot of those decisions for you. But, of course, that means that they're less well suited to doing things that they weren't intended for, and often forcing them to adapt to something they weren't built for is much harder than just rolling your own. That decision is ultimately handled on a project by project basis - for some games it makes a ton of sense to use UE3, on others it makes sense to use an internal engine like Onyx - but, for instance, if we suddenly wanted to make an iPhone game my guess is we'd probably just start from scratch rather than trying to shoehorn Onyx into running on a phone.

 

Think of it as a spectrum of game-making tools. On the far end of "flexible but difficult to get something up and running" is starting up Visual Studio/Xcode/etc. and working from scratch. Next is using a smaller internal engine like Onyx. Next is a lighter weight third party engine, maybe like Quake or Source. Then comes a big, heavy, feature rich engine like Unreal. This is generally as far as professional game developers go in the "easy to use, inflexible" direction because we're really annoyingly picky and can't deal with restrictions :p But, there's still stuff further in that direction. For instance, it's easier still, but less flexible, to make a mod for Source or Unreal. And then, even easier but less flexible than that is something like the NWN2 toolset.

 

This isn't to say that any point on this spectrum is inherently good or bad. UE3 is a great tool for projects that benefit from its strengths and aren't hurt by the inherent relative inflexibility of a more mature, "off-the-shelf" engine when compared to an engine developed specifically for the purpose. Trying to make a turn based strategy game, or MMO, or traditional CRPG in Unreal is probably not as easy as doing it with a lower-level engine because you're going to be fighting what Unreal is built to do.

 

Or take NWN2's toolset - it's an awesome tool if you want to make NWN2 style campaigns. It's not quite as good if you want to do something more off the wall - something like Adam Miller's card game modules is I'm sure very difficult. If you want to do something turn-based, you're going to have to constantly fight the fact that the entire interface, AI, creature behavior etc. is intended for a real time game. And of course it's completely impossible to make an FPS with it.

 

Of course, with VS and a blank slate you can do whatever you want within technical limits - but you'll be spending as much or more time just getting a character to render and animate, UI to draw, etc. etc. as you will making gameplay. Whether that tradeoff is worth it or not depends on your budget, what you're trying to make, etc.

Link to comment
Share on other sites

Wow. That's good culture for geek people like me :thumbsup: Curiously enough, I would have expected Onyx to be at the same point than the Unreal Engine, since Onyx was developed by and for a company that makes almost-exclusively RPGs. I suppose that's the logical consequence of RPGs being able to be put in any kind of shape, from shooter to party-based game.

Link to comment
Share on other sites

Wow. That's good culture for geek people like me :lol: Curiously enough, I would have expected Onyx to be at the same point than the Unreal Engine, since Onyx was developed by and for a company that makes almost-exclusively RPGs. I suppose that's the logical consequence of RPGs being able to be put in any kind of shape, from shooter to party-based game.

 

The Unreal engine has been in development for over 10 years. There's just no way that Onyx would be as big - and as I stated before, Onyx being smaller has plusses and minuses. But for what we do, Onyx is often better suited for the reasons I stated above.

Link to comment
Share on other sites

What middleware do Onyx integrate or is it entirely proprietary?

 

We use middleware. I'm not sure whether or not there are legal issues with saying what specific middleware we use before it's actually announced or whatever, so I'll refrain from saying any particular packages. Nothing mysterious or shocking, just covering my butt as they say.

Link to comment
Share on other sites

We use middleware. I'm not sure whether or not there are legal issues with saying what specific middleware we use before it's actually announced or whatever, so I'll refrain from saying any particular packages. Nothing mysterious or shocking, just covering my butt as they say.

 

SpeedTree? o:)

Link to comment
Share on other sites

I'm willing to bet Havok is somewhere in there.

"Alright, I've been thinking. When life gives you lemons, don't make lemonade - make life take the lemons back! Get mad! I don't want your damn lemons, what am I supposed to do with these? Demand to see life's manager. Make life rue the day it thought it could give Cave Johnson lemons. Do you know who I am? I'm the man who's gonna burn your house down! With the lemons. I'm going to to get my engineers to invent a combustible lemon that burns your house down!"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...