Ambient occlusion simulation for AAA projects

Started by
87 comments, last by _the_phantom_ 12 years, 8 months ago

"So let me start:"

I can't see where the magic technology is. I can see that you've implemented a "hard and soft layers" architecture involving scripting to connect component parts together. Could you be more specific about what it is I'm missing?


The magic thing is that graphic engine can accept any kind of data: voxels, standard triagnlular meshes, sparse voxel octrees, minceraft data, that erosion layers like in "From dust", It doesn't matter. Why make an engine that can do only simple heightmap and small level rendering when you can, with much less code, write graphic engine that virtually has no limitation? It is just bad programing. But that is just graphic engine.

Look at gameplay at Crysis 2. In that whole game you can shoot at object or pick them up and throw them. That is all - that is all interaction with the world - that is it - practically nothing more.
500 developers and that is all they have come up with in 4 years of development!!!

End not only that engine doesn't even have dynamic loading of stuff. How lame is that? Beating it in a graphic department would be so easy. Yust give it a bigger map with more stuff and it would die because memory couldn't handle it. I mean, even the simplest engines have some sort of dynamic loading - you have libraries today that will handle that for you.
No - in Crytek you have loading screen and you have to wait... Even Carmak realized that something like that is not excusable these days.
Advertisement

hardcoded into Crytek engine.


and what makes you think that it is hardcoded ?

Never say Never, Because Never comes too soon. - ryan20fun

Disclaimer: Each post of mine is intended as an attempt of helping and/or bringing some meaningfull insight to the topic at hand. Due to my nature, my good intentions will not always be plainly visible. I apologise in advance and assure you I mean no harm and do not intend to insult anyone.


and what makes you think that it is hardcoded ?


Just look at their homepage... EDIT: They've changed it a bit from the last time but you can still figure things out.

Any engine that brags about particular effect clearly states that that is internal part of it.

To quote my self: "It is OK to brag about the shaders in the context of the GAME. It is not OK to brag about the shaders in the context of the ENGINE."

That way you are just admitting that you are nothing but hard-coder and that the engine is limited to just that what you've presented.

The magic thing is that graphic engine can accept any kind of data: voxels, standard triagnlular meshes, sparse voxel octrees, minceraft data, that erosion layers like in "From dust", It doesn't matter. Why make an engine that can do only simple heightmap and small level rendering when you can, with much less code, write graphic engine that virtually has no limitation? It is just bad programing. But that is just graphic engine.

Look at gameplay at Crysis 2. In that whole game you can shoot at object or pick them up and throw them. That is all - that is all interaction with the world - that is it - practically nothing more.
500 developers and that is all they have come up with in 4 years of development!!!

End not only that engine doesn't even have dynamic loading of stuff. How lame is that? Beating it in a graphic department would be so easy. Yust give it a bigger map with more stuff and it would die because memory couldn't handle it. I mean, even the simplest engines have some sort of dynamic loading - you have libraries today that will handle that for you.
No - in Crytek you have loading screen and you have to wait... Even Carmak realized that something like that is not excusable these days.


I see nothing wrong with Cryteks approach, they set a goal, reached it and vowed people. They implemented what they decided was needed, made the tools to allow the artists to go crazy and spent loads of R&D on new shading techniques and optimizations.

Beating Crysis in visual quality is probably a tough job, but definately doable... beating Crysis in the performance department is also very much doable... doing it both at the same time? No API or engine in the world will help you with that, unless it was made specifically for that purpose. And perhaps Cryteks approach was simply to design an engine, be done, copy what they need for the next project, and continue. There is absolutely nothing wrong with that in my opinion... abstracting for the sake of abstracting is research territory.

From what I can tell, it sounds like a really nice and competent engine you've got there, but so far it's just talk and nice in theory... even though your engine can do anything anyone would ever want, as long as it is a generic piece of engine, then you may be able to recreate everything everyone else makes... but never achieve the same performance... doing subsets and limited demos are easy, bringing it all together is a very different story (storage, memory, performance, scale with hardware, etc). You give Crytek flak for not creating a reusable engine and a bunch of other things, it's easy enough when you're not on a deadline and not doing the actual work.

I'm pretty sure they have a toolbox of classes and utilities that provide most of the gruntwork for their engines... then they add the features. That is their engine development. What I'm trying to say is, your approach is to make an engine that has the capability to do everything, design a framework that can handle it, etc, etc, and then your game has an engine on-top of that. Crytek decided that DirectX is their framework and they implement only what they need, giving them complete control over their engine, no redundant features, no redundant work. Two very different approaches, and I really don't see anything wrong with Cryteks approach. You have to remember that now, as I mention above, they can copy-paste and throw out whatever they want... relying on an engine means they are stuck with it, they can't just throw it out without starting all over.

I just don't believe in "do it all"-middleware, specialized middleware is great if you have an idea and want to put it out there, but in that case, you want it to do what you want, and fast. You don't want to build an engine on-top of the middleware, read lots of documentation, create the tools and tutor the artists. If you want to push the boundaries you often need to drop the middleware in favor of your own engine. Anything in-between is in my opinion probably best provided as standalone libraries/utilties.


[quote name='ryan20fun' timestamp='1312919078' post='4846846']
and what makes you think that it is hardcoded ?


Just look at their homepage... EDIT: They've changed it a bit from the last time but you can still figure things out.

Any engine that brags about particular effect clearly states that that is internal part of it.

To quote my self: "It is OK to brag about the shaders in the context of the GAME. It is not OK to brag about the shaders in the context of the ENGINE."

That way you are just admitting that you are nothing but hard-coder and that the engine is limited to just that what you've presented.
[/quote]

My point being, this is exactly what people looking for middleware wants... that's why they are buying it. No point in saying, "this engine can do everything, You just need to implement it!". Then they'll go somewhere else, they want a list of features, and then proceed to use those features and the tools that allows artists to work with those features.



I'm not showing screenshots, videos and other stuff because it would be easy to to find out which game use this technology, so everyone could disassemble it. Isn't that enough reason to keep this in secret?


Let me ask you this: just what exactly do you think it is that you're going to gain by keeping your technique a secret?
Nothing against the O.P., but I honestly can't see why so many people are posting on this thread (I guess I just did it too :P ). There is nothing presented here - absolutely nothing. I read about 6 or 7 of the posts, and I don't even know what the original post is asking for? Do you want something or are you trying to share something or are you trying to keep it secret???

I don't want to be negative, but I just don't see the point to this thread.

My point being, this is exactly what people looking for middleware wants... that's why they are buying it. No point in saying, "this engine can do everything, You just need to implement it!". Then they'll go somewhere else, they want a list of features, and then proceed to use those features and the tools that allows artists to work with those features.


I agree with everything you've said.

But consider MMO game that will last 10 years.
Will you really buy an engine that will bi obsolete in a year?
Also, if you expose scripting and ability to create new objects to the players (even if only 1% of players contributes) your game will be unmatchable.
No development team will be able to take your game on because you have as many developers as players.
If you are like Crytek and the rest and have engine that has only 10 different object types then that game will become boring very quickly - won't last for 10 years.

For example - if I in my game build a Space Ship building station.
Everyone can come there - compose a ship to their like to the very detail (interior/exterior/terminals, pack it up with their friends and fly from one planet to another - fight - explore - discover/script new technology...
They can even make it look like Enterprise from Star Trek - and nobody can't sue us because it is p2p MMO - we don't have control over the game - in fact every client can host their own instance of the game with just a few players - or milion players if you like.
This game will clearly be more fun than lets say EVE ONLINE (that has maybe 2% of the features)...

I'll leave you to think about that...


OK - I'm going to bed now.
It was nice discussing things with you all.
@IvicaKolic

Engine design today is just awful (not just Crytek, but every mayor player including Carmak and the rest)


Really ? Just that ? Don't you think this is easy to say, and maybe just a little bit pretentious ?
Whatever are your skills/experience, that's not a thing to say, sorry
:angry:
MJP
>Let me ask you this: just what exactly do you think it is that you're going to gain by keeping your technique a secret?

Money. If the game project is interesting for me (jrpg f.e.), then moral satisfaction is enough. All business is based on idea to be the first one against competitors.

Jason Z
>Nothing against the O.P., but I honestly can't see why so many people are posting on this thread (I guess I just did it too ). There is nothing presented here - absolutely nothing. I read about 6 or 7 of the posts, and I don't even know what the original post is asking for? Do you want something or are you trying to share something or are you trying to keep it secret???
I don't want to be negative, but I just don't see the point to this thread.

Read first post: "Could someone describe how to contact with developers if their public e-mails are never read (for sure) or not available at all? Is such technology (dx9 requires at least) may be interesting or it doesn't matter (for consoles especially)? What is the time period before official game release date, when developers are unable to modify the engine code any more?"
From the posts here it seems everybody trying to find out what the technique is and how it works by confusing me, don't you think?
>Let me ask you this: just what exactly do you think it is that you're going to gain by keeping your technique a secret?
Money. If the game project is interesting for me (jrpg f.e.), then moral satisfaction is enough. All business is based on idea to be the first one against competitors.
In that case (if you want to make money), you're going to have to set yourself up as a serious middleware company and make a professional sales pitch (instead of just 'some guy' trying to contact developers). Part of this pitch will involve proving to them that your tech is useful for them, which should probably include it running on actual game console hardware.

Your competitors in the area of lighting-middleware include Enlighten, Lightsprint and Beast.

This topic is closed to new replies.

Advertisement