Dave Stafford is CEO of Eclipse Entertainment . Since the Wild Tangent Aquisition of Eclipse's Genesis3D & Hollywood 3D technology (and most of the team), the Genesis3D game engine has be split between two companies: 1) Wild Tangent 2) Eclipse Entertainment. Both will be starting with the pre-alpha G3D 2.0 source, adding/improving it themsevles. Jet3D is the new name for Eclipse entertainments version of the "Genesis3D" engine. This is an IRC (chat) session with Dave Stafford, on Questions reguarding the "Jet3D" engine. ============================================================================================================================= Hi, it's 6:00, is everyone ready? Thanks for taking some time out to talk to the community. Ok... Will your late-november release include terrain? If not, may we see some screen shots of terrain? Yes, the next release will include terrain. It will be in a semi-functional state. The terrain should render ok but the editor support isn't ready. In what form will actors be placed; ACT files, A new format? Any idea what changes will be made to seperate it from the gen1.0 format? We will still have ACT files. The binary format will be incompatible but the APIs will continue to work (which is why we always recommend sticking with the APIs) What exactly is in the upcoming release that has been added since Alpha2? The most significant new feature for actors is vertex-weighting. There are some bug fixes, we'll expose the terrain functionality, and there will be a new logo. That's it. Re T&L support: Most modifications to support new features can be limited to drivers (a good thing) but some things, like T&L are such a big leap that they require engine support. Will Jet3d support larger texture formats like 1024x1024 Kaylon's question re large textures. The engine supports them already (even if the editor doesn't yet). The drivers simply mip them down for cards which can't handle them. Q: So, are you carrying all the work load? Re work load. I'm not planning on doing any programming (my day job keeps me busy) but I've got two contractors working and, once the source is released, the efforts of the open source community. As enhancements are developed in the community, how would you like to see the efforts organized so that they may be incorporated into the 'UberEngine'? (Dave I have seen your Cridentials(sp) you have a great background in programming) I'm planning to set up a cvs system so anyone can check in and out files. Once modifications become popular they will make their way into the official "blessed" tree. I want to make it very easy for people to contribute to Jet3D. Question: You say a 3rd party is/was working on the terrain. Who and are they still working on it? Charles Bloom was writing the terrain code prior to the Wild Tangent acquisition. He was contracting for Eclipse at the time. As far as I know he isn't working on it anymore. The geometry import feature. This may help those who want to import outdoor terrain type geometry, but mainly what I want to ask is when can we expect this impoirt function? And DXF not the commonly requested "3DS"? DXF is tough because (correct me if I'm wrong) it is only for simple geometry, no textures. I don't plan to support DXF but that doesn't mean someone can't add it. You'll have the source! Dave, how might terrain be integrated with buildings in a level? i.e. will terrain be a separate file? And how might it work in the editor interface? The integration for the engine is very simple. The terrain is rendered in one pass as a quad-tree then the rest of the world is rendered as a BSP tree. The terrain is just overlayed on top of the world so it's absolutely seamless. As for terrain in the editor- I expect most people would like to edit it as a height-map with a top-down view (but none of this has been written yet.) So it will NOT be in the editor itself then? You can see it in the editor. It renders in real time with everything else. You can't edit it in the editor. What sort-of import feature will it have? How soon availible. I figure The editor itself can wait as far as it being able to create terrain if we had such a feature... It is imported as a grayscale bitmap. Photoshop is our terrain editor for now. ;-) Will the Jet3D API support any special case effects like bump mapping? It doesn't yet but this is something easy to put in. The problem with bump-mapping is there isn't a standard implementation yet and every 3D vendor does it differently. QUESTION: Someone asked about Documentation, like do you need volunteers to work on Documentation (Sorry I closed the message window) Yes, volunteers to help with documentation would be great. It would be a really clever thing to make the documentation available in CVS as well! Then it could be updated by anyone with the time and interest. What will the JET3D engine license consist of? It will be as similar to the Genesis3D as I can make it. I am restricted from using Genesis3D code to compete with Wild Tangent (which means no Hollywood tech for Jet3D). Speaking of licensing would you consider any special case licensing? Say your licensing cost is $50,000 would you take say $30,000 and a logo on the box? Tough question- My principle is to make enough money with licenses so Jet3D doesn't turn into an expensive hobby. You wouldn't believe how expensive it's been! I'm open to terms but there isn't a lot of flexibility considering the low cost. Is the terrain geometry vertex/tri based? If so could that code be modified to import other vertex based geometry? The terrain is based on a height-map (triangles are dynamically constructed). This isn't compatible with explicit vertex-based geometry. No reason why you couldn't import it as a mesh though. I should add that you won't get the advantage of LOD support for performance. D_S> Do you consider the engine in its current state to be stable enough for use, or would you suggest sticking with the 1.0(1.1) engine until stabalizing contributions are made? The engine is pretty darn stable. In some ways it's more stable than 1.0. If you have experienced programmers on staff then by all means use the new engine. What's the extent of the restriction on web delivery for Jet3d? Will it impact the ability to make web-free but internet playable online games? (asherons Call Quake III etc) Good question- No, it doesn't impact multiplayer internet games in any way. That's such an important category that if it did have an impact it would be a killer. 1) 3d sound support ie(EAX, A3D) within the engine?? 2) when will there be a stable (level construction) geometry format compatible with newer versions of Jet3D? 3 Question 1- 3D sound support. We don't explicity support EAX but adding 3D sound support is not a difficult thing to do. The engine is "aware" of where sounds come from in 3D space. Question 2- Stable level file format. This is a tougher question. I wish we had forked the code after this work was complete. It could take some time to get there. What about curves? Anything at all exist? Re curves: We have some code for dynamic surface subdivision running (Mike Sandige got this working a long time ago) but it isn't integrated into the renderer yet. Most of the work here is really with tools rather than the engine itself. Q: What are the possiblities of SMP in 2.0, and will it be up to the community to port it to differnt os's (beos, linux) We spend more effort on the tools now than the engine alone. That's why we completely scrapped the old editor. SMP: It isn't entirely clear how to best take advantage of SMP in a 3D engine. John Carmack did some experiments with SMP in Quake and they weren't encouraging. That, plus few customers have SMP machines, takes the wind out of the sails. Question - Are any of the contractors working on the Editor or will that be more of a community project? Re SMP: I am personally interested in seeing progress on SMP but it isn't a high priority yet. Maybe when win2000 hits eh? Ports: It will be up to the community to port to Be and probably Linux. I am a newbie with Linux but in the short time that I've been experimenting with it I've been highly impressed. Editor: No contractors are working on the editor right now. I'm really depending on the community to help here. Could we hand-model terrain as well, if we so chose, to allow for overhangs, caves, etc? Re terrain: A single height-map doesn't permit overhangs. It is topologically flat. You can embed objects in it to get the desired effect. An overhang would be easy but a cave should probably be a BSP building. Re ports: There is a very good possibility of a port to a major console (under NDA so I can't mention the name). I plan on doing a *NIX port (any X-enabled unix system with OpenGL support). the ogl driver I'm working on now is the first step in that) (re: console. Dreamcast eh?) gmcbay- Re *nix port. Very cool, I would *love* to have it part of the official codebase. Just set a #define! Texture coordinates/info; Actor placement etc. isn't as much of a concern. I guess what I am saying is that as long as the actual world geometry (bare) is able to import into newer versions of Jet3D, then some of us will be happy with that for the time being. Import: Yes, I agree that import is very important. This is an area where the community can really help out (since it doesn't affect the underlying engine too much). Ports. It would be great if we can unify the code so that the different ports don't require a separate version. I've been mulling over the idea of using XML or similar ascii markup language to import and export world geometry. The result will be huge ugly ascii files that won't be directly useful to the engine, but that can be easily reimported to new versions of the editor, without worrying as much about binary compatiblity) XML... probably a good idea (compatibility at the cost of bloat) What actor movement will be support? Can bone movement be used directly? Re actor movement: I'm not sure I understand your question "can bone movement be used directly". You have control to animate a single bone. The root of the actor is usually a single bone to make animation easy. Didn't 1.0 have api calls for animating bones? (I think that is what Steive is talking about ...He left) Yes it did. QUESTION: All this talk of new great features is awesome, but what about the standard features that most every game engine has that G2(sorry, new jet3D) lack, like animating textures, sheets, zero colour for textures, etc... Animating textures comes up a lot. This, and many related things, fall in the category of a material property. It was planned but we hadn't gotten to it yet. It's still on the list of things to do. The work here is by far mostly editor work rather than engine work. Will the new release of the editor have spot lights init as Gen1 had? Has vertex editing ready to go within the new editor interface? Re spot lights and vertex editing: We hadn't gotten that far with the editor. Sorry, it won't be in the next release. They are on the list. What improvements have you done with the network code compared to 1.0? We abstracted the engine away from the network code. The philosophy was that network code was always highly specific to the details of the gameplay. I think we were only half-correct. The right answer is to have an architecture where objects on the client and server are well-defined and easy to control. In this sense, 2.0 is much further along than 1.0, even though there isn't any network-specific code improvements in 2.0 I know that with the new terrain that items (i.e. lights) can affect the outside terrain. Does this apply to seeing actors from both sides? (i.e. terrain to bsp and bsp to terrain) Yes, there is no seam between indoors and outdoors. It comes at a slight performance cost (two passes of rendering) but the effect is worth it. Lights on terrain: I should clarify. Actors are seamless but lights are specific to geometry. Indoor lights do not affect outdoor terrain. Any set date for the open source release? sorry a bit giddy as a Kid before christmas here : ) Date for release: I'm shooting for the end of the month but give me a little leeway if we run into problems. Dave, is it not possible to create two terrains, both "bowl shaped" back-to-back to create a fully-enclosed smooth cave-like area? Yes, it's entirely possible to layer one height map over another. Descent Freespace did this, right? Jet3D doesn't do this but an enterprising programmer could add it. Question - Dave, you keep mentioning the "List" can the list be posted somewhere? so we can see what is in the works? Good idea. The Jet3D forum has a suggestions/feature requests section. I could put it there or on a web page of its own. BTW, the "list" is a "want to do" not necessarily "scheduled to do" list. so... if it is night outside then light won't shine through an open door onto the terrain? Jim, that's correct. You can fake it with a static light outside near the door. Will any GTest like demo be packaged with Jet3D?... Anthony, no plans for it but it would be great if someone ported it over. Thanks everyone for coming! Can We do this again...maybe in 30-60 days? Sure, we can do it again...See you all back at jet3d.com!...Goodbye!