Well, you said “This is the first time we’ve embarked on such a project”, which I assumed meant a game-like project. If you are actually an experienced game developer, I apologize. (Besides, I would expect a team or technical lead with game development experience to have someone able to make these estimates themselves, rather than pinging a web forum for free advice…)
Does your “completely different” approach affect the rendering layer a great deal? If so, we would need to know a lot more about it in order to come up with any reasonable estimates.
If your special sauce is more front-end and doesn’t affect the low levels too much, though, then I still say you can get a lot of mileage out of off-the-shelf components, perhaps using parts of existing open-source libraries and engines, and building your own front-end over them. There’s just no reason to pay people to write the 1000th iteration of a basic GL engine with alpha-blending, deferred lighting and real-time shadows from scratch.
oh I see, I get it. Thanks again Reed for your help.
I guess Google chrome can read asm.js now. I can run Epic Citadel at 43 frames per second, 1600 x 900 on my amd laptop with an A8.
If any of the things you suggested were viable options we wouldn’t be bothering with this. Believe me, I know all of this very well. We’re not creating a game or simulation. We’re creating a program capable of animation and simulation. Its approach is completely different from software like Unity and 3d animation suites, and we believe it will be far more efficient. We can’t depend on external engines to get it to work, we have to create a lot of it from scratch.
“Especially since you have no previous experience in game development”
I’m not sure how you inferred that, I have quite a bit of experience in game development.
Is your goal ultimately to make a game or simulation of some sort? If so, you should seriously question the wisdom of building your own game engine. It will be much cheaper and easier to use an off-the-shelf engine such as Unity, UDK or CryEngine. Especially since you have no previous experience in game development, there are a lot of minefields and issues you probably haven’t thought about, that you can sidestep by using an off-the-shelf engine.
All the features you listed are very basic and any mature off-the-shelf engine should have them. The only exception is the video enc/dec bit. Many engines have support for playing video files, either full-screen (cutscenes) or into a texture that can then be rendered in the 3D scene (for showing video on a TV in the game world, for instance). Support for encoding video is probably less common. If you just need to capture video/audio of what the engine is outputting, that can be done with external tools like FRAPS. If it’s something more complex you’ll likely need to mod the engine, but that can be done with a source license and will be way cheaper than building the whole engine from scratch.
They’re still boxes, right? Set up a coordinate system that’s aligned with the box, in whatever orientation it’s in. Then the box is axis-aligned in that coordinate system, by definition. If you transform the vertices into that coordinate system, you can calculate the min and max. Then generate the 8 corners from the min and max, and transform them back into world coordinates.
The three major issues he posted are indeed a problem, although they are just inconveniences. I’ve learned to accept that for the greater good that browsers at least offer the ability to become gaming platforms and even much more. Plus you get use to the limitations rather quickly and just work with it. ECMAScript 7.0 has plans to evolve the language from out of the stone age. Overloading, concurrency, real classes.
Seems to mostly complain about type safety, which I agree with. The cloning position thing, it seems like wouldn’t be very hard to work around and passing by reference is kind of a necessity.
Yes, I want to grow it in whatever orientation it is. I’m not sure what you mean tho. An AABB doesn’t have 8 points to define its bounding box (like a frustum do), an AABB only has a (float3) min and max. So I’m lost here Reed!!!
Do you want to grow the box while maintaining a fixed orientation? If so, you can just transform the plane vertices into the box’s coordinate system. The box is axis-aligned in its own coordinate system so you can treat it like an AABB and just take min/max of everything.
We’ve released version 1.0.4.Alpha.
Unity3d Is Very Powerful, we currently don’t have any documentation on the game, as it is still in alpha and were still working on it. The French revolution idea we will come back to, its just that at the time, i didn’t know the true power of the Unity Engine, As now me and my partner have gotten better with it we’ve discovered more things that we can do to make the experience better. We hope to get the game on Steam, It will probably be out mid this year(2014).
Here is the right download link http://www.opqam.com/download
It’s a great news ! What is the script language used in the editor ?
True, well I still have somewhere an implementation of single-pass depth-fail shadow volumes using geometry shader. I even tried plausible shadows using penumbra wedges and visibility buffer (but meh, for complex models this introduces tons of issues, yet yields correct penumbra shadows).
As for shadow mapping - it isn’t possible to achieve correct penumbra shadows with them. And for most solutions they use jittering (which I personally HATE, noise is just pure evil on screen, and players hate it) - so I am using quite heavy filter that doesn’t result in noisy result.
Ray traced shadows are good (I work with ray tracers a lot), doing realtime ray tracing in whitted style isn’t a problem on good gpu. Path tracing is, it is just noisy. Don’t get me wrong, there are ppl with good results (Jacco Bikker with his Brigade for example - nothing against Brigade, it is awesome piece of technology, it’s not just suited for games yet), but it is still noisy and it will still be noisy within next years. I think thats the main problem with path tracing for now, the noise is too huge compared to real world (there is noise too in your vision, but barely visible), I think we need some improvement of current algorithms. Of course, for static frames or movies, it is awesome.
My post on frame-based timing in JetEngine.
Godot UI is really well integrated to the engine, i don’t think it can be separated, as that integration is what makes it so powerful (the whole Godot editorUI is programmed in Godot UI toolkit using the C++ API).
I found a solution some place on the net, the problem is exactly the same as the “Ladders in the alley” problem. Here is the way to solve it. I tried to understand the way it’s done, but I can’t. The author is unknown and left no explanation at all (maybe it was Einstein LOL). Do you think you are capable enough to understand it?
a = longest ladder.
b = shortest ladder.
c = ladders crossing height.
Problem = solve distance between ladders at the base.
dist = sqrt(b^2-m^2)
What did you use as gui ? it looks pretty clean and powerfull, can it be extracted and used as a standalone gui ?
There’s three equations in my post, and the three unknowns are alpha, beta, and C. You know A and B. Of course C is the only one you care about, but my point is there are three equations and three unknowns, so it should be solvable. It is not a linear equation or a quadratic one, so it would have to be solved by substitution. You could use trig identities to eliminate the trig functions, expressing cos in terms of tan or vice versa. I tried putting it into Maxima to solve but it did not come up with a result. That might only be because Maxima isn’t smart enough to do it.
That’s 3 separate equations, and Stainless’ equation uses 2 unknown and 1 known, unsolvable. Yours is the same, 1 known and 1 unknown, still unsolvable. Each of the 3 equations can’t really be incorporated together can they?. Would the quadratic equation be useful here?
Ok. Khan will have to do.
You have also C = A*cos(alpha) and C = B*cos(beta). Together with Stainless’ equation C = 10/tan(beta) + 10/tan(alpha), that’s three equations in three unknowns, so should be solvable, in principle.
C = A*cos(alpha)
C = B*cos(beta)
C = 10/tan(beta) + 10/tan(alpha)