Archived

This topic is now archived and is closed to further replies.

FootNipple

Do most game shops build 3d from scratch or use software platforms?

Recommended Posts

Empirical evidence seems to suggest that most shops use engines licensed from other companies (not all of whom are pure technology companies), but a fair number develop custom engines for their projects. Generally, if a shop is well-established, it either has invested in developing an engine to be used for several projects or has a license relationship with a technology provider.

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ | MS RTFM [MSDN] | SGI STL Docs | Google! ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
we reviewed many engines (renderware, netimmerse, intrinsic to name a few). we ended up choosing the one that was being developed in house. the problem with engines out of the box is that they are usally designed with one type of game in mind, or they are built being to generalized to get anything specific to happen fast. if you want a just program a game than using a pre-made engine is great. if you want to push the envelope a bit..its usually best to build your own.

Share this post


Link to post
Share on other sites
I would actually refute everything that AnonPoster had to say... if you are looking to push the envelope, then going with licensed solution can be the best route (given the right solution) as it can let you focus all your efforts on pushing the envelope, not just getting to the normal stuff.

For example, RenderWare provides a plug-in architecture for extending pre-defined objects and provides a rendering pipeline construction kit for creating custom rendering effects. So you get the best of both worlds: quick start-up out of the box with the option to push the envelope if you want.

The AnonPoster seems to represent a pretty commonly held misconception about licensed graphics engines. While it was definitely true at one point, both RenderWare and Intrinsic provide highly customizable pipelines.

The problem with engines developed in house is that they are almost always developed with a specific game in mind, let alone a specific genre. And they are 99% of the time under-documented and poorly tested. So, when going with in-house solutions you end up debugging the graphics engine while working on the game; developing the graphics engine while working on the game; documenting the graphics engine while working on the game. Notice a pattern? Unless your lucky enough to be in a large game company, the engine developers are the same programmers working on the game.

If you think graphics engines are too general to be fast, you''re wrong. Burnout on the PS2 (and now Xbox and GAMECUBE) was built using RenderWare, and according to Sony''s Performance Analyzer it is one of the highest performing production games out there weighing in between 10 and 13 million triangles per second.

To be honest, re-inventing the wheel is never the best route to take. After ten years of 3D games, do we really need to be writing triangle rasterizers, lighting and transform pipelines, or clipping and culling? Do you really want to invent a texture cache manager? And what about documenting all of it for new programmers joining your team and for other teams who plan to use it? Then you''ve got to write exporters for your art package, document and bug-fix those, and viewers and tools for your artists...

...and, after you''ve done all that for the first 3-6 months of your development cycle, you''ll then spend the next 6-12 on your game. Yeah, you''ll probably spend some of that time on your graphics engine, probably fixing bugs, or adding features you didn''t anticipate, or reworking the architecture to support features you didn''t know you''d need. But guess what these licensed solutions are doing the whole time you''re working on your game? They''re optimizing, improving, extending and enhancing their solution the whole time. They''re writing more documentation, more tutorials, more effects, more whitepapers, and fixing bugs being uncovered by a customer base of hundreds of programmers banging away at their code every day.

So, do you license or do you write your own? License. Unless your John Carmack and you''re *creating* great technology (or Tim Sweeny, et. al.) you''ve got no reason to re-invent the wheel. Of course, if you''re a garage developer who can''t afford a $50k licensing fee, then you''ll obviously be limited in your options, but then again you''ll be limited in most of your options.

I would challenge anyone to suggest any project that couldn''t be done faster and better using licensed technology!

And, as recently announced, RenderWare has been licensed by the likes of Infogrames, Electronic Arts, Capcom, Take-2/Rockstar, THQ, Interplay, Eidos, DMA Design, Activision, Acclaim, Midway, SCEE, SCEA, Sierra, etc, etc, etc...

Share this post


Link to post
Share on other sites
"Why reinvent the wheel?", my favorite cliche and the ultimate money saving strategy in business...most of the time.

I appreciate the responses given thus far. I can tell that there are some very different perspectives on this subject which almost certainly find their roots in the age old rivalry between businessmen and craftsmen.

Res Ipsa Loquitor

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
Original post by Simagery
I would actually refute everything that AnonPoster had to say...

For example, RenderWare provides a plug-in architecture for extending pre-defined objects and provides a rendering pipeline construction kit for creating custom rendering effects. So you get the best of both worlds: quick start-up out of the box with the option to push the envelope if you want.

The AnonPoster seems to represent a pretty commonly held misconception about licensed graphics engines. While it was definitely true at one point, both RenderWare and Intrinsic provide highly customizable pipelines.



true, but you need to have several programmers dedicated to such optimizations and they need to be familiar with the engine to make such customizations, plus all the support needed from either criterion or intrinsic to get things to fit in smoothly. when we first looked into renderware and intrinsic for our project, our in-house engine out performed both by a large margin.

quote:

Unless your lucky enough to be in a large game company, the engine developers are the same programmers working on the game.



i do..in fact, i work at one of the companies that has licensed renderware for a few of our games. in-dire situations it is a life saver, but overall i dont think they are up to par.

quote:

If you think graphics engines are too general to be fast, you''re wrong. Burnout on the PS2 (and now Xbox and GAMECUBE) was built using RenderWare, and according to Sony''s Performance Analyzer it is one of the highest performing production games out there weighing in between 10 and 13 million triangles per second.



you make me laugh. its a driving game, very little besides the car and the tires actaully animates..i know ive made a few of em''. i wonder what their numbers wouldve showed if they had a couple of 50+ boned skinned characters running around. i seriously doubt they would hold..to do so something else would have to give, be it texture reduction or that cool projected shadow!

quote:

To be honest, re-inventing the wheel is never the best route to take. After ten years of 3D games, do we really need to be writing triangle rasterizers, lighting and transform pipelines, or clipping and culling? Do you really want to invent a texture cache manager? And what about documenting all of it for new programmers joining your team and for other teams who plan to use it? Then you''ve got to write exporters for your art package, document and bug-fix those, and viewers and tools for your artists...
.
.
.
So, do you license or do you write your own? License. Unless your John Carmack and you''re *creating* great technology (or Tim Sweeny, et. al.) you''ve got no reason to re-invent the wheel. Of course, if you''re a garage developer who can''t afford a $50k licensing fee, then you''ll obviously be limited in your options, but then again you''ll be limited in most of your options.



yada yada yada..do you work for criterion by chance? in sales maybe?

quote:

I would challenge anyone to suggest any project that couldn''t be done faster and better using licensed technology!

And, as recently announced, RenderWare has been licensed by the likes of Infogrames, Electronic Arts, Capcom, Take-2/Rockstar, THQ, Interplay, Eidos, DMA Design, Activision, Acclaim, Midway, SCEE, SCEA, Sierra, etc, etc, etc...



see comment above.


Share this post


Link to post
Share on other sites
...

"Why reinvent the wheel ?" -> salesmen''s way of thinking
"Why don''t improve this ?" -> searchers'' way of thinking

I really hate one of those way...

Don''t forget people that makes it possible...

Share this post


Link to post
Share on other sites
www.RenderWare.com :
Latest News:
22nd March 2002
Electronic Arts, Infogrames And Capcom
All Choose Criterions RenderWare For Future Games

That''s right. But I think that it is better to build your own.

Share this post


Link to post
Share on other sites
quote:
Original post by Anonymous Poster
true, but you need to have several programmers dedicated to such optimizations and they need to be familiar with the engine to make such customizations, plus all the support needed from either criterion or intrinsic to get things to fit in smoothly. when we first looked into renderware and intrinsic for our project, our in-house engine out performed both by a large margin.



Yes, of course the engineers would need to be familiar with the engine. Just like the engineers would need to be familiar with the internal engine to make customizations. And yes, they would have the same support needs as working with internal technology, but at Criterion you would have access to support engineers who have helped on nearly 200 RenderWare titles on next generation consoles and the PC.

I will admit there are definitely situations where an internal engine is going to out perform RenderWare (or Intrinsic) out-of-the-box. That''s not the point. No one can make an engine that''ll make everyone happy all of the time. But that''s not the point! The point is that RenderWare (and middleware in general) provide a jumping off point for your technology. It''s not an even match to compare RenderWare out-of-the-box to an internal engine that''s been in development for 3-6 months for a specific task. I would ask what type of performance tests you were making?

quote:

...i work at one of the companies that has licensed renderware for a few of our games. in-dire situations it is a life saver, but overall i dont think they are up to par.



It was definitely "up to par" for Grand Theft Auto 3/4 and hundreds of other titles.

quote:

you make me laugh. its a driving game, very little besides the car and the tires actaully animates..i know ive made a few of em''. i wonder what their numbers wouldve showed if they had a couple of 50+ boned skinned characters running around. i seriously doubt they would hold..to do so something else would have to give, be it texture reduction or that cool projected shadow!



You actually make me laugh... what are the limits of RenderWare? The same of the underlying hardware, be it the PS2, Xbox, GAMECUBE, or PC. Only a very uneducated use of RenderWare would be limiting. 50+ skin-and-bones characters? Is that stitched, 2-weight, 4-weight? How many bones? What''s the maximum number of vertices in the skin? How well is the geometry tri-stripped? How many different textures are being used and what are their sizes? Do the characters share bone hierarchies? Share animations? Share meshes?

I don''t want to confuse my point. No one should think I''m claiming that you license a graphics engine that you can simply drop artwork into it and get blinding speed. That''s not going to happen. There is no universally optimal engine, unless it has a dozen different implementations internally. The point is that RenderWare provides an excellent initial framework to hook your more custom technology onto. And while you focus on the parts that make your game unique (like 50+ characters running around) someone else in the world is working on improving the core components of the technology, all the while making your life easier (if you let them).

Share this post


Link to post
Share on other sites
quote:
Original post by BloodScourge
...

"Why reinvent the wheel ?" -> salesmen''s way of thinking
"Why don''t improve this ?" -> searchers'' way of thinking

I really hate one of those way...

Don''t forget people that makes it possible...


It''s not a salesman way of thinking (I''m an engineer). It''s called "reuse", if you don''t think it''s a useful concept in software development, you should read up on any good programming text.

"Why don''t improve this?" I guess you can have your cake and eat it to. With RenderWare you don''t have to reinvent the wheel, but you can improve on it if you want to (also referred to as a "flexible architecture", something else you should check out in any good programming text).

Sorry if that sounds rude, but seriously, licensed technology, if done well, doesn''t require you to choose between the two (they are *not* mutually exclusive!).

Share this post


Link to post
Share on other sites
quote:
Original post by SteinbergShlomi
www.RenderWare.com :
Latest News:
22nd March 2002
Electronic Arts, Infogrames And Capcom
All Choose Criterions RenderWare For Future Games

That''s right. But I think that it is better to build your own.


It''s good to know *how* to build your own, as the understanding will make other technology make more sense. But in the dozens and dozens of game teams I have spoken to, very few have given me any reason to think they''d be better off building their own.

Share this post


Link to post
Share on other sites
RenderWare, RenderWare, RenderWare, RenderWare...

Hey !
Where do you think you are! I don''t doubt of the possibilities of this technology (I really like GTA3!) but it''s not a showcase here!

quote:
Simagery quoting me...
It''s not a salesman way of thinking (I''m an engineer). It''s called "reuse", if you don''t think it''s a useful concept in software development, you should read up on any good programming text.



Sorry my bad but I''m currently studying in a french engineering school so I think I''m a bit informed of current methods. That''s right, reuse code is a great concept if you''re able to understand it (not done blindly). I''m not against licensed technologies and that''s right you can do both together (Half-Life for exemple) but to me it sounds like a "black box" that requires a few precautions. Nevertheless, it allows companies to focus on others stuffs and create some new concepts (gameplay...) but not really in graphics (this forum deals with this domain). So don''t be astonished that people here says they want to write their own engine... One more thing : engineers tends to be salesmen... unfortunately...

quote:

"Why don''t improve this?" I guess you can have your cake and eat it to. With RenderWare you don''t have to reinvent the wheel, but you can improve on it if you want to (also referred to as a "flexible architecture", something else you should check out in any good programming text).



Never underestimate the other''s skills... that''s what I''ve learned during my studies...

quote:

Sorry if that sounds rude, but seriously, licensed technology, if done well, doesn''t require you to choose between the two (they are *not* mutually exclusive!).



Nevermind, I''m not rancorous... :-)
I think this subject is a great debate!
I only want to thank people that improve GAME''S DOMAINS...

Share this post


Link to post
Share on other sites
i like a permade engine i have use them befor and have never had a problem. but for the game that i am making right now i couldn''t find a sutable engine that suported 5500+ peopele in each area so me and my group are making our own. sure it take a little longer but it more fun and i can say that i built it from the ground up..

Share this post


Link to post
Share on other sites
BloodScourge,

Sorry for the RenderWare grand-standing... I''ve probably stepped a bit out-of-line (particularly for this forum). I was writing my previous posts on the floor of GDC, so I guess I was in definite cheerleader mode!

All in all, I think we can all agree that the end product is the most important aspect of a game, not the technology behind it (the technology should only be an enabler).

Thanks for everyone''s comments!

Share this post


Link to post
Share on other sites
Yeah...., we agree finally!

I think that was really interesting to get you''re point of view (and also many major companies in gaming industry) because it allows us (fanatic games programmers ) to stick on the ground! You were right in many points... but I think you know how hard it is for young progammers to be confronted to industry realities!!! Video game is only our passion...

THX Simagery




Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
It''s not an even match to compare RenderWare out-of-the-box to an internal engine that''s been in development for 3-6 months for a specific task. I would ask what type of performance tests you were making?


actaully our engine is not designed for a specific task, but is being used for 3 completely different genres (action-platformer, racing, fighting) and all the teams that are using it are getting good performance and are happy with it. after we elavulated these middleware packages it was determined that too much work would need to be done to get them to a point were we could do the things that we wanted to do.

as far as performace tests...

we ran the same models and same tests on all the engines we were evaluating. we ran em with realtime lighting, without lighting, with particle systems and without, with skinned characters and without, we covered all the bases. we also evaluated the respective tool chains, and how they would impact a given artist. how hard were the tools to use? how long did they take to process the geometry? what were the in-game load and setup times
like? there are a ton of things to consider..

side stepping a bit..

GTA3 is an incredible game..using a middleware package enabled them to spend a lot of time working on gameplay..and it shows. graphically, they couldve done a lot better job.

quote:
But in the dozens and dozens of game teams I have spoken to, very few have given me any reason to think they''d be better off building their own.


the technology is in-house. the people who wrote the code are in the office across the hall.

using a middle-ware engine can save you a lot of time, but you need to know that choosing this route may back you into a corner graphically..

well back to writing character physics and animation handling routines..

good discussion!


Share this post


Link to post
Share on other sites