Engines: Discuss.

Started by
32 comments, last by Abert 16 years, 5 months ago
Alot of people tend to overlook the difference between a "renderering" engine and a "game" engine.

They way I like to look at it, a game engine provides everything you need to jump in and start developing _games_ without having to spend time stuffing around with boring, re-inventing-the-wheel type low-level stuff. And this includes a set of tools for content development.

Oluseyi put it pretty well.

As for why they have become popular, yes, alot of the time it is to do with learning, getting experience. But more often than not I think it has more to do with ego stroking. Look at some of the posts on the IOTD gallery. Everyone is impressed by someone who can push pretty stuff on the screen.

Unfortunately, most of these engines are never really developed with the end goal of actually using it for a single title, let alone for a number of different titles - which is what a "game engine" should be used for. This is where alot of the "make games, not engines" stigma comes from. Which is quite a shame, because that is quite a lot of talent that could be pushing out some really fun games.

Just to pick up on something I mentioned before. There seems to be a lack of toolchains for alot of engines people are developing. An game engine that has its own dedicated editor for making scenes/levels is always more impressive, in my eyes, to a max exporter. You might have all this awesome next-gen quality stuff, but to me the guy that goes out on a limb and develops the "full package" deserves alot of credit.

I have seen a couple of really nice editors around here. It's pretty inspiring.

But more importantly, lets see more games!
[size="1"]
Advertisement
How many Indie games have been published without using a game engine ?
I mean real games , not PacMan clones or similar
As far as I known, none
A game engine nowadays is a must
The happy days of all in one game programming are over
How many games programmers ...

- Have any idea how to handle the target platforms file system most efficiently to avoid long load times.
- Can code a shader system that allows artists to use a variety of shaders in an intuitive manner and have that shader system perform well at run time.
- Have the time to create a level editor for the artists to use.
- Can and want to write abstract layers to make basically any system platform agnostic.
- Really want to deal with platform optimal vertex array formats.
- The questions go on and on..

Propably none, or very few. The reason you use engines it to avoid all of these issues (and more). If you were to write all this for every game you were involved in you would literally be writing an engine per game anyhow. Use an engine, get to know it and you done. A word of warning, its important to have full source to the engine you use, so that you or the more senior coders can fix any issues or modify functionality in said engine. It is more than likely you will need to do both.

So sure most of us know there are some cross platform libraries that take care of the basics, but these provide generally very naive implementations and are not targeted towards performance, nothing that will beat an engine targeted at said platform.
Quote:Original post by lubby
--snip--


Exactly.
[size="1"]
Quote:Original post by Abert
How many Indie games have been published without using a game engine ?
I mean real games , not PacMan clones or similar
As far as I known, none
A game engine nowadays is a must
The happy days of all in one game programming are over


Hi. I'm a one man show with a world-wide publishing deal [Best Buy, Gamestop, it'll be pitched to Valve, etc.]. I wrote my own engine from scratch...mostly because it was required, and also for a learning experience. Cost: $0, and now I know the ins and outs of every aspect of a multiplayer RTS/Action game. Heavy use of middleware helps...DirectX, PhysX, FMOD, RakNet, etc...there are many unique features in my game I've never seen in a game before. I have a beta coming up soon with Fileplanet/Gamespy/IGN...you can check it out then :-)

Also here is another example http://frictionalgames.com/penumbra/ I saw their game in Best Buy, and they post around here.

- Danny
Quote:Original post by dgreen02
Quote:Original post by Abert
How many Indie games have been published without using a game engine ?
I mean real games , not PacMan clones or similar
As far as I known, none
A game engine nowadays is a must
The happy days of all in one game programming are over


Hi. I'm a one man show with a world-wide publishing deal [Best Buy, Gamestop, it'll be pitched to Valve, etc.]. I wrote my own engine from scratch...mostly because it was required, and also for a learning experience. Cost: $0, and now I know the ins and outs of every aspect of a multiplayer RTS/Action game. Heavy use of middleware helps...DirectX, PhysX, FMOD, RakNet, etc...there are many unique features in my game I've never seen in a game before. I have a beta coming up soon with Fileplanet/Gamespy/IGN...you can check it out then :-)

Also here is another example http://frictionalgames.com/penumbra/ I saw their game in Best Buy, and they post around here.

- Danny


You engine hardly cost you $0 when you consider the time and effort you put into it. It did cost you, just not a lump sum of cash. That isn't to say that it cost you more than buying a commercial license for some other engine however...

Quote:Original post by lubby
How many games programmers ...

- Have any idea how to handle the target platforms file system most efficiently to avoid long load times.
- Can code a shader system that allows artists to use a variety of shaders in an intuitive manner and have that shader system perform well at run time.
- Have the time to create a level editor for the artists to use.
- Can and want to write abstract layers to make basically any system platform agnostic.
- Really want to deal with platform optimal vertex array formats.
- The questions go on and on..

Propably none, or very few. The reason you use engines it to avoid all of these issues (and more).


If I was hiring a rendering programmer for a cross platform title I would expect them to be able to do all of those things and more. The reason for licensing an engine should not be because the programmers on your team aren't capable of doing it themselves (if they're competent in their field then they should be able to) but because the project schedule doesn't allow for the time it would take to implement all the functionality themselves. Projects that license an engine and think it means they therefore don't need good programmers are doomed to failure.

Specialised middleware can be an exception to this rule - people license Havok and other physics middleware partly because not many programmers have the knowledge required to write a similarly featured physics engine from scratch and would need to do a lot of research to get to that point. For a whole engine though it's a question of time saving (particularly in reducing the time between starting the project and having content creators able to see their work on target).

Game Programming Blog: www.mattnewport.com/blog

I think anyone would be very hard pressed to find a game company that does not use an engine, whether that be an in-house engine or one licensed as middleware.
Quote:Original post by mattnewport
If I was hiring a rendering programmer for a cross platform title I would expect them to be able to do all of those things and more. The reason for licensing an engine should not be because the programmers on your team aren't capable of doing it themselves (if they're competent in their field then they should be able to) but because the project schedule doesn't allow for the time it would take to implement all the functionality themselves. Projects that license an engine and think it means they therefore don't need good programmers are doomed to failure.


You would be hard pressed to find a programmer who can efficiently support cross platform development - by cross platform, I mean PC/consoles. And guys that can really bothered with all that stuff.

You are right about the time factor. Creating an intuitive environment for both programmers and artists to work in can take years.
[size="1"]
Quote:Original post by mightypigeon
Quote:Original post by mattnewport
If I was hiring a rendering programmer for a cross platform title I would expect them to be able to do all of those things and more. The reason for licensing an engine should not be because the programmers on your team aren't capable of doing it themselves (if they're competent in their field then they should be able to) but because the project schedule doesn't allow for the time it would take to implement all the functionality themselves. Projects that license an engine and think it means they therefore don't need good programmers are doomed to failure.


You would be hard pressed to find a programmer who can efficiently support cross platform development - by cross platform, I mean PC/consoles. And guys that can really bothered with all that stuff.

You are right about the time factor. Creating an intuitive environment for both programmers and artists to work in can take years.


That was his point. I've written abstractions for my libraries so that they work on any PC platform (currently implemented: Windows and Linux). The abstraction does limit itself to PCs though, but I only have a PC [grin]. I have no doubt in my mind that I, having absolutely NO experience developing for consoles, could write an implementation for a PS3. It could require a rethink of design, but I could do it. But could I do it efficiently? Hell no. The schedule wouldn't allow for it.
[ search: google ][ programming: msdn | boost | opengl ][ languages: nihongo ]

This topic is closed to new replies.

Advertisement