• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
dummynull

Ambient occlusion simulation for AAA projects

88 posts in this topic

[quote name='IvicaKolic' timestamp='1312899162' post='4846685']
Correct, I've misguided you. Graphic engine is just small dumb module of the engine (other modules are: physic engine, terminal engine, scripting engine, input engine, sound engine, network engine, etc).
All these sub-engines are controlled by Master Engine that has complete control over the powerful data-structure. Master engine is actually the only one that understands the data-structure.
Every sub-engine has access to scripting engine (which runs scripts in parallel) so terminal engine (used for Main Menu, HUD, virtual in-game 3d computers, road sings,...) can sometimes do something to the graphic engine (set some render special render variable)...
Also, scripting engine has access to all other engines: so if I want to draw some windows application withing my virtual 3d computer, I would do something like this:

...
[/quote]

Ah, that explains a lot. While I think it's a nice idea, and as being a developer it definately feels close to heart, "wanting to do everything". My personal experiences and "maturing" have really come to lead me on a different path entirely, I long held firm to the idea that "more = better" and that code should almost be treated as something holy, perfecting it over and over. This is all debatable and different situations require different approaches of course.


[url="http://en.wikipedia.org/wiki/Inner-platform_effect"]http://en.wikipedia....platform_effect[/url]

"The inner-platform effect is the tendency of software architects to create a system so customizable as to become a replica, and often a poor replica, of the software development platform they are using. This is generally inefficient and such systems are often considered to be examples of an anti-pattern."


Is something I've become acutely aware of, looking back I've realized that, often rather than solving the problem once, it was easy to fall into this pattern of first creating a "class" that was really flexible and could do a lot more than I actually needed (but my brain said, "you might!"), and then create another tailored "class" that would expose a much simpler interface to the first class. And in the end, the first class was never perfect, it was never fully implemented, there were flaws and it made certain optimizations very hard... which made me never want to reuse it as-is in another project anyway, I would copy-paste it and refactor it simply because it made more sense.


To me it seems like you've something so generic that it doesn't really provide anything other than what a handful of 3D API utility classes could mostly solve (or you have indeed introduced lots of limitations). Instead you have now artifically limited what is practically possible, but not theoretically (and developers are bound to your framework)... it's hard to put into words, but consider instancing, something that is hugely important in SOME games and often easy to achieve, how do you facilitate that for all situations across completely generic "sub-engines" without making a mess. Another common side-effect is that "hard stuff becomes easier" and "simple stuff becomes slower". The generic nature means that you can rarely assume anything about anything, hence, a lot of optimizations goes out the window... performance is about cheating and shortcuts.

From my limited experience, these kinds of APIs often provide beautifully simple example code, but horribly degrade in practice when all the special-cases and quirks start to appear (and you have to start worrying about performance)... you start to slowly circumvent the API in order to provide functionality and optimizations the API is unable to provide. And suddenly it has all degraded into a worse spaghetti-hell than the you were trying to avoid.


What I'm saying is, it seems to me that either you've made something so insanely generic and non-invasive that it could only possibly be a bunch of utility classes (which might not be a bad thing), or you have introduced an unknown number of limitations and pitfalls, and this is pretty much "the law". You cannot solve all problems with one solution, it is quite impossible, the larger you make the problem, the more convoluted solution you get... if you solve all problems with one solution, then you are back to where you started (inner-platform effect).

To avoid misunderstanding, I'm not hating on your engine, it's probably a very very neat thing you've made.
I just find that it can be very insightful to discuss various topics at times and there's no point being tippy-toes about opinions.
2

Share this post


Link to post
Share on other sites
I must say, I'm really enjoying this thread and I'm very sorry it is a highjacked one :D.

I understand what you are saying, and must admit that a few years ago I was thinking the same things, but now I would like to explain why my opinion has changed about some things (especially about graphic).

So let me start:
Over the last 10 years things have changed dramatically in the graphic department. Today all the heavy stuff happens in shaders so it really doesn't matter if shader came with the game or the engine. If the shader is well written it will perform equally in both cases (specially post-process effects). On the CPU side you have a lot of repetitive stuff when dealing with graphic. For example, when you change render targets (switching to some other rendering mode), first you must remove the old ones, bind them with their appropriate shader textures (will be used later) and set the new rendering targets, possibly modify viewfrustum. This is one of the boring operations that happens a lot so I will lay it down through the configuration like this (simplified deferred rendering):

[CODE]
- render target N
- used as shader texture: _tNormalMap
- dim = 1920x1200
- format = RGBA

- render target C
- used as shader texture: _tColorMap
- dim = 1920x1200

- render target D
- used as shader texture: _tDepthMap
- dim = 2048x2048
- format = F32

- render target L
- used as shader texture: _tLightMap
- dim = 1920x1200

...

- render mode ClearBuild
- render target 0 = C
- render target 1 = N
- render_quad = Y
- assigned renedring technique = ClearBuild

- render mode Build
- render target 0 = C
- render target 1 = N
- render quad = N
- [list of rules for determining appropriate rendering technique for different combinations of geometry and materials]

- render mode ClearDepth - used for shadow mapping to clear shadow map texture
- render target 0 = D
- render_quad = Y

- render mode LightDepth
- render target 0 = D
- [list of rules for determining appropriate rendering technique for different combinations of geometry and materials]

- render mode Light
- render target 0 = L
- draw quad = Y -- or some special geometry for certain light type

- render mode FinalPass -- this will do: _tColorMap*_tLightMap and send it on the screen
- render target 0 = NULL
- render_quad = Y
[/CODE]

So how would a simple deffered rendering script look like

[CODE]
void RenderingScript()
{
StartRendering(); // Does nothing in DX11
SetRenderMode(ClearBuilld); // this will draw quad that will resed color and normal scene map
SetRenderMode(Build); // This only prepare rendering to use rules "Build" for rendering geometry (it doesn't render any quad)
RenderFrontToBack("SOLID"); // This is Main Engine function that will go through every visible objects and call rendering of their meshes. Main engine doens't know what mesh is (it only knows its ID and send that to the graphic engine + some info - position matrix, rendering distance, ....)

// At this point we have scene color map and scene normal map...

Now we need to render shadows and lighting:
RenderShadowAndLighting("ClearDepth", "LighDepth", NULL, "Light"); // Third parameter is NULL because it is only used for forward renderers
// This function will go through every qued light - for those that have shadow it will create shadow map using ClearDepth i LightDepth techniques and accumulate light using Light technique into render target L
// Of corse i didn't have to use this function - i could have done everything manualy but why (I have CSSM :)

SetRenderState("FinalPass"); // This will compose final scene: sceneColor*sceneLight

SetRenderStare("TransparentRendering");
RenderBackToFront("TRANSPARENT");
EndRendering(); // Does Present in DX11
}
[/CODE]

Here I've implemented simple deferred rendering system and I didn't have to to all the boring stuff (set shader variables, render stares, render targets,...)
This is all done in the background.,
There is no much code.
There are no errors.
Everything is simple.
Surprisingly, engine doesn't have any overhead. The same would be done in Cryengine but with a lot of hardcoding.

OK, I haven't explained how rules for determining correct rendering technique work but it is extremely optimized rule processing system.
State management happens in the background.
Instancing won't work in the first frame because engine still doesn't know what to expect - but in the next frame it has a lot of information and if rules are configured correctly it will know how to pick appropriate technique.

Also, this all seams to constricting, but it isn't. In 99% of cases will work quite fine. In remaining cases we can overwrite everything with scripting. We have scripting on level of mesh, geometry, material and even vertex definition (indexed vertex blending can have script that will set bones for the current object + mesh offset matrices).
Scripting is our friend - specially if you have extremely powerful and fast scripting engine like we do.

Huh, that is just small explanation for how graphic can be configured to be completely part of the game, and not the engine (except configuration file - and even that can go through script - but then it would be too messy to find because you would have to dig through game packages)...


To conclude - if I prove to you that graphically speaking I can generically achieve identical rendering (in speed and look) like in Cryengine (down't to a single render state and render target change) then you must admit that this engine is much better than Cryengine because it can do everything that Cryengine can + every than any other engine will be able to do - and I don't ever have to change a single line of code in my engine.

Hooh - that is about graphic.

I could go about scripting (I'm greatly disappointed how others are working) and physic (every physic engine today has one mayor limitation that just bugs me) and network (I have p2p MMO in completely dynamic world with out-of-scale dynamic object and let's face it - that is at least 3 generations above what everyone else has).

Damn, I like to talk about my engine so much :D

... and that is why I couldn't force my self to work in Crytek - I'm opening my own game development studio in a few months. Their engine can't do 5% of what my engine can. I couldn't work on such inferior technology - no way...
0

Share this post


Link to post
Share on other sites
"mire 4.5K euros a month"

You turned down E54k a year? E54k a year is a pretty good salary. And for games development??? Blimey. Again, most people here would kill for that sort of offer -- it's the aspirational goal of their life.


"working on technology that is more inferior than my home projects"

There's a lot more to games than the graphics engine. Look at this year's surprise hit. His characters have corners...
2

Share this post


Link to post
Share on other sites
"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?
1

Share this post


Link to post
Share on other sites
[quote name='Katie' timestamp='1312915121' post='4846805']
There's a lot more to games than the graphics engine. Look at this year's surprise hit. His characters have corners...
[/quote]

Exactly, but Crytek doesn't know this. They think graphic is everything...
0

Share this post


Link to post
Share on other sites
[quote name='Katie' timestamp='1312915663' post='4846811']
"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?
[/quote]

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.
0

Share this post


Link to post
Share on other sites
[quote name='IvicaKolic' timestamp='1312891678' post='4846644']
hardcoded into Crytek engine.
[/quote]

and what makes you think that it is hardcoded ?
1

Share this post


Link to post
Share on other sites
[quote name='ryan20fun' timestamp='1312919078' post='4846846']
and what makes you think that it is hardcoded ?
[/quote]

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.
0

Share this post


Link to post
Share on other sites
[quote name='IvicaKolic' timestamp='1312918737' post='4846844']
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.
[/quote]

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='IvicaKolic' timestamp='1312920634' post='4846856']
[quote name='ryan20fun' timestamp='1312919078' post='4846846']
and what makes you think that it is hardcoded ?
[/quote]

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.
0

Share this post


Link to post
Share on other sites
[quote name='dummynull' timestamp='1312869876' post='4846554']
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?
[/quote]

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?
1

Share this post


Link to post
Share on other sites
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.
2

Share this post


Link to post
Share on other sites
[quote name='Syranide' timestamp='1312922180' post='4846869']
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.
[/quote]

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.
0

Share this post


Link to post
Share on other sites
[b]MJP[/b]
>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.

[b]Jason Z[/b]
>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?
0

Share this post


Link to post
Share on other sites
[quote name='dummynull' timestamp='1312959563' post='4847059'][i]>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? [/i]
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. [/quote]In that case ([i]if you want to make money[/i]), you're going to have to set yourself up as a serious middleware company and make a professional sales pitch ([i]instead of just 'some guy' trying to contact developers[/i]). 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 [url="http://www.geomerics.com/enlighten/"]Enlighten[/url], [url="http://lightsprint.com/index.html"]Lightsprint[/url] and [url="http://usa.autodesk.com/adsk/servlet/pc/index?siteID=123112&id=15779574"]Beast[/url].
0

Share this post


Link to post
Share on other sites
[quote name='Adaline' timestamp='1312952789' post='4847037']
@IvicaKolic
[code]
Engine design today is just awful (not just Crytek, but every mayor player including Carmak and the rest)
[/code]

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:
[/quote]

OK, I admit, I deserve that - that was too harsh.

EDIT: I've deleted the post because it was too long and repetitive (and kind of annoying).

This summed it up:

2001: GTA 3 engine: - can dynamically load geometry, textures, sounds,... everithing
2011: Tech 5 engine: - can dynamically load only textures (and not all textures but only world textures)
2011: Cryengine 3: - can't dynamically load anything

Unreal Engine 3 - great engine because of a superb dynamic loading system and other stuff. If only lighting would be done better - it would be perfect.

EDIT: I think that Tech6 will be something really impressive, but Tech5 is just a stepping stone.
-1

Share this post


Link to post
Share on other sites
[quote name='IvicaKolic' timestamp='1312924250' post='4846894']
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.
[/quote]

First off, you assume that more freedom is a better game, I really don't agree with that. Goals is what makes a game fun, just like Minecraft is fun for a while, as you explore and build your base... but once that wears off and you don't have any clear motivation to play on, you stop playing it. Although this really is something for another discussion.

And really, what you say is very nice... but EVE Online runs its own engine, WoW runs its own engine... and both have had it's fair share of scaling issues and concerns. From the sounds of it you are suggesting that your engine would simply scale perfectly out-of-the-box, in all areas, performance, networking, etc. And at the same time be as efficient as can be on a server.

[quote name='IvicaKolic' timestamp='1312965046' post='4847071']
OK, I admit, I deserve that - that was too harsh.

EDIT: I've deleted the post because it was too long and repetitive (and kind of annoying).

This summed it up:

2001: GTA 3 engine: - can dynamically load geometry, textures, sounds,... everithing
2011: Tech 5 engine: - can dynamically load only textures (and not all textures but only world textures)
2011: Cryengine 3: - can't dynamically load anything

Unreal Engine 3 - great engine because of a superb dynamic loading system and other stuff. If only lighting would be done better - it would be perfect.

EDIT: I think that Tech6 will be something really impressive, but Tech5 is just a stepping stone.
[/quote]

The more I hear you explain your engine, the more I realize that it isn't an engine or API, it's a middleware, that is exactly what it is. Comparing it to highly specialized game engines doesn't make sense. There are lots of good middleware out there, UE3 being the cream of the crop. Why doesn't everyone use UE3? Because it's not all red roses, a middleware puts you in a jet-fight from day one, but that's all it will ever be. If you try to branch off too much it's simply more efficient to just implement what you need from scratch.

Middleware allows most people to do really amazing things, if you have the experience and knowledge, building a capable engine is far from an impossible task... especially not if you have an older codebase that can be scavanged. Reusing a middlware solution is not always the best answer.

Also, again, it is very easy to say that you support dynamic loading of textures, the world, etc, etc, etc. However, as always, if you are generic about it, performance will suffer. You don't just smack a dynamic loading system on a game and be done with it, to have it perform requires a lot of optimizations and care. Putting data in the right order, prioritizing the right things to load first, etc, etc. It's very easy to replicate what is being done today in a generic way, but to keep the performance at peak, during high stress can be tremendously hard. It's like those database benchmarks with 1 thread... they are pointless. Same here, building a game that can run well on 2-year old computers and also look stunning on new computers, perform well at 100% CPU usage and accommodate real world loads. That is the hard thing.
1

Share this post


Link to post
Share on other sites
[quote name='EJH' timestamp='1312991705' post='4847193']
Threads like this really make me question whether GD.net has the most subtle trolls in history:

- [u]OP[/u]: "How do I get emails of AAA developers to use my algorithm despite the fact than I cannot show a demo, video, screenshot, or a even provide single numerical comparison. Oh and they have to sign an NDA."

- [u]Guy later in thread[/u]: "My engine is superior to Crysis 2 yet I have never released a single game with it nor can I provide a demo. To prove my engine's superiority here is screenshot of some buttons and text rendered on a couple of planes."

Can't say this isn't entertaining though. [img]http://public.gamedev.net/public/style_emoticons/default/laugh.gif[/img]
[/quote]

After all being said and done, I do feel like an idiot...
Should have waited a few more months, make a decent video presentation of some features and explain how they are achieved vs how they would have been achieved with other engines and stuff like that.
My behavior has no excuse...:(
1

Share this post


Link to post
Share on other sites
nothing wrong with getting excited about something you have produced.

its just as easy to shoot something down aggressively that you know next to nothing about as it is to big something up without some backup to hand.

it may just turn out that these guys are extremely talented and really onto something, may even be 10 times better programmers/developers than oneself, maybe better than those who work on cryengine even... just because cryengine has been worked on by a crack team for a long time doesn't automatically make it the best there is either... I have had the "pleasure" of extending work from big US agencies with massive budgets and all the big clients..and while the work looks stunning the code looks like week old chunder and was horrible to work with..so yes they have big budgets and big teams and 25 years experience... but I bet there are 1st year graduates that can produce better systems...

or they could just be chatting bull, hard to tell with out some evidence, but im an advocate of innocent until proven otherwise :)
0

Share this post


Link to post
Share on other sites
[quote name='IvicaKolic' timestamp='1312886868' post='4846622']
[quote name='ryan20fun' timestamp='1312877250' post='4846578']
[quote name='IvicaKolic' timestamp='1312869932' post='4846555']
It is true what everything above has been said.
I did tried the same thing with my shadow mapping algorithm (CSSM) and got the same response...
I've pitched idea to Crytek and instead of showing interest for the algorithm, Cevat Yerly replied with the yob offer (witch I ended up declining because working on technology that is more inferior than my home projects for mire 4.5K euros a month would probably drove me insane - it would be a waste of my time).
[/quote]

you declined to work at the company thatmade the Crysis series :o ?
im pretty shure they have very sophisticated thechnology.
i would have accepted.
[/quote]

I do admit they have done some amazing work with the shaders. It is most impressive, but everything else is just average (somethings even below average)...
Engine design today is just awful (not just Crytek, but every mayor player including Carmak and the rest). Engines are very limited and most of the development goes into graphic efects which in my opinion shouldn't even be part of the engine.
[/quote]
Who cares where their engine is now? You should have looked at it as an opportunity to make their engine better. If you couldn't make the engine any better, what would be the point of hiring you? and 4.5k euros per month is a pretty solid salary. That's like $73,000/year.
0

Share this post


Link to post
Share on other sites
[quote name='bwhiting' timestamp='1312996725' post='4847237']
nothing wrong with getting excited about something you have produced.

its just as easy to shoot something down aggressively that you know next to nothing about as it is to big something up without some backup to hand.

it may just turn out that these guys are extremely talented and really onto something, may even be 10 times better programmers/developers than oneself, maybe better than those who work on cryengine even... just because cryengine has been worked on by a crack team for a long time doesn't automatically make it the best there is either... I have had the "pleasure" of extending work from big US agencies with massive budgets and all the big clients..and while the work looks stunning the code looks like week old chunder and was horrible to work with..so yes they have big budgets and big teams and 25 years experience... but I bet there are 1st year graduates that can produce better systems...

or they could just be chatting bull, hard to tell with out some evidence, but im an advocate of innocent until proven otherwise :)
[/quote]

Definately agree with you.

However, one should be very careful with complaining on how code looks... a lot of people seem to have the notion that the code is more important than the result, and that ugly or suboptimal code is inherently bad. The purpose of code is to achieve a goal, and if you achieve that goal, regardless of how the code looks... then you've done your job. If the goal also includes being maintainable for many years, then the code should meet a higher standard... or at the very least, the structure should be well designed.

If your job is to implement a game, then what matters is the end result and how fast you get there, if you can get there faster using all kinds of hacks then I don't see the issue. However, if you hack it so badly that it's breaks constantly or that it suddenly starts becoming a nightmare to continue coding then you've hacked too much. If you spend most your time polishing code, adding comments, refactoring without actually beneftting the goal, then you should stop doing that.

My point being, hacky code is not inherently bad as long as it is stable and the coders don't become overly bogged down by working on it... working with hacky code will likely be slower than working with clean code, but you have to remember, it is also slower to write clean code than write hacky code. So obviously, depending on the importance and use of various functions, you have to balance between hacky and clean code... you don't want to hack the core of an application, but hacking smaller parts can be really useful. It allows faster iterations, and I've found that over-engineering most functionality is often counter-productive, it is faster and more flexible to just rewrite them when the need arises.

Hacky code is always going to be hacky code, but it serves a very real purpose in real projects.
0

Share this post


Link to post
Share on other sites
[quote name='EJH' timestamp='1312991705' post='4847193']
Threads like this really make me question whether GD.net has the most subtle trolls in history:

- [u]OP[/u]: "How do I get emails of AAA developers to use my algorithm despite the fact than I cannot show a demo, video, screenshot, or a even provide single numerical comparison. Oh and they have to sign an NDA."

- [u]Guy later in thread[/u]: "My engine is superior to Crysis 2 yet I have never released a single game with it nor can I provide a demo. To prove my engine's superiority here is screenshot of some buttons and text rendered on a couple of planes."

Can't say this isn't entertaining though. [img]http://public.gamedev.net/public/style_emoticons/default/laugh.gif[/img]
[/quote]

Very well said!

Generally I think the more you learn, and the more knowledge you have, you stop bragging about things you have done.
2

Share this post


Link to post
Share on other sites
[quote name='way2lazy2care' timestamp='1312997352' post='4847246']
[quote name='IvicaKolic' timestamp='1312886868' post='4846622']
[quote name='ryan20fun' timestamp='1312877250' post='4846578']
[quote name='IvicaKolic' timestamp='1312869932' post='4846555']
It is true what everything above has been said.
I did tried the same thing with my shadow mapping algorithm (CSSM) and got the same response...
I've pitched idea to Crytek and instead of showing interest for the algorithm, Cevat Yerly replied with the yob offer (witch I ended up declining because working on technology that is more inferior than my home projects for mire 4.5K euros a month would probably drove me insane - it would be a waste of my time).
[/quote]

you declined to work at the company thatmade the Crysis series :o ?
im pretty shure they have very sophisticated thechnology.
i would have accepted.
[/quote]

I do admit they have done some amazing work with the shaders. It is most impressive, but everything else is just average (somethings even below average)...
Engine design today is just awful (not just Crytek, but every mayor player including Carmak and the rest). Engines are very limited and most of the development goes into graphic efects which in my opinion shouldn't even be part of the engine.
[/quote]
Who cares where their engine is now? You should have looked at it as an opportunity to make their engine better. If you couldn't make the engine any better, what would be the point of hiring you? and 4.5k euros per month is a pretty solid salary. That's like $73,000/year.
[/quote]

It is not really about the money. I can make money any time and I'm sure most of the people here are great experts that get along just fine (we are game developers damn it -the best damn class of programers :)

It is more about passion!

One guy that interviewed my at Crytek was so burned out - he couldn't even look at games any more. I didn't want that happen to me. To me, game development was enjoyment.
0

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0