Featires of your dream 3d engine?
BlitzMax Forums/BlitzMax Programming/Featires of your dream 3d engine?
| ||
Please list them, looking for inspiration beyond the obvious. |
| ||
- A good terrain system with support of vertex and texture alpha splatting. - A real OOP implementation, not some slugish workaround. This time with documentation as reading all bmx just to use it the natural way is .... |
| ||
Pixel shader's :) and dynamic volumetric shadow :) |
| ||
Hello. A Free Bianca Beauchamp. Goodbye. |
| ||
Soggy, is she a woman or more importantly (or as importantly even) is she fit? If she's fit, I'm sure I can arrenge something. If she's not, don't bother me with your sexist remarks. (That's a joke.(No, that's a bad joke - Critic)) |
| ||
(Seriously again) Also, at this point I'm interested in co-writing the engine with someone, mainly to broaden it's appeal and mainly cos I'm really more interested in having a great engine to use in my games. So...if Anyone's got a reasonable amount of GL knowledge and obviously a fair bit of blitzmax knowledge, and is interested in having their name on the Vivid2.0 Credits, and making 50% of all it's profits, fire a w-mail this way-> Vivid@... |
| ||
- an engine good for both outdoors as well as indoors terrains/levels oh, I don't know if this is up to the 3D engine, but if possible.. streamed, threaded, dynamic loading of objects/models... |
| ||
Unprecedented polygon occlusion culling straight outa the box. |
| ||
Speed. A pixel shader language built for it, similar to BASIC. Or at least .fx support, because then I could use FX Composer. Shadows. Lots of polygons. No polygon limit. :) |
| ||
an engine with a proper art path so you can actually make something that looks cool with it. And a decent shadow system. Basicly Blitz3D with shadows, better occlusion, DDC textures, .FX shader support. And after using torque, some good scripting/mission builder editor stuff for quickly doing gameplay. |
| ||
Oh and it must get finished and delivered on time. |
| ||
Oh and it must get finished and delivered on time. There will be no release date this time around...(eyeball twitches) Mr Pickle, GLSL most likely, but a basic varient shader language that generates glsl code is a possibility. :) |
| ||
How about a compatible particle system, lighting, reflections and refractions, soft shadows, easy clouds/skies, animation features, recording and playback, save snapshots/movies, physics, collision detection, multiple cameras and windows, bumpmapping, spline models/landscapes, deformation, fluid dynamics ? ?? |
| ||
Hello. http://www.biancabeauchamp.com oops, disclaimer * Contains a woman with bits sometimes showing * Goodbye. |
| ||
Soggy, I'm sure I can fit something into her. I mean, fit her into something. |
| ||
just the ability to do this as simply as you can in blitz3d would be a start ; LoadMesh Example ; ---------------- Graphics3D 640,480 SetBuffer BackBuffer() camera=CreateCamera() light=CreateLight() RotateEntity light,90,0,0 ; Load mesh - textures loaded automaticaly drum=LoadMesh("media/geometricks_models/oil-drum/oildrum.3ds") PositionEntity drum,0,0,MeshDepth(drum)*2 While Not KeyDown( 1 ) TurnEntity drum,1,2,3,True ; local or global RenderWorld Flip Wend End oh yeah and all in opengl so the examples work out of the box on all 3 platforms would be real nice... |
| ||
-Loading shaders via Xml files (either A. the code for the shaders can be in the Xml file or it can provide a URL to the shader code) -Custom vertex formats -Compressed textures -No fancy features like entities or camera or things like that 'Course, I'm not really looking for a game engine. Just a rendering engine. |
| ||
I wish a fast and stable 3D engine like B3D is, with a built-in particle system and dynamic shadow. Also, a 3D world editor and lightmapper ala Maplet (Maxlet ?), with a built-in Droplet (object dropper). That are my wishes so far, which I am ready to pay for. Sergio. |
| ||
built in occlusion ( BSP, Octree, Portal whatever ) collision physics shaders. |
| ||
3D blobby objects? Material properties for each polygon? [edit] I guess environmental mapping would be nice, for objects of any shape, showing proper reflections. It would be nice to have some kind of scripting or animation language. |
| ||
1, works as advertised 2, gives same results across different OS and graphics cards (for features that are common to all graphics cards) 3, stable 4, works as advertised 5, gives same results across different OS and graphics cards for common features. 6, did I mention number 5? 7, and 3? Sorry to be a downer and a pedant, but there's no point in coming up with a AAA 'graphics engine' if it's not stable and robust across a wide variety of platforms. Forget Shader2.0, forget all these special FX, if it's not stable and doesn't perform robustly across different PC configurations, then just fogeddaboutit! |
| ||
Well, if you are looking beyond the normal, one thing I'd like to see is full deformable terrain/polygons. Also, vertex-based collision detection and force projection in-engine. That way when the collision occurs, the terrain (or even other polygon models) can be simply deformed from the engine (I'm thinking of the explosion that dents/craters the ground next to the player, or even dents the wall behind him). Been working on a simple physics engine to simulate it on terrain (using a height map for the ground and alpha mapping to modify), but a by-vertex process would look terrific (and be pretty unique)... |
| ||
Screen wipes/transitions |
| ||
That it ships in a completed form at some point. |
| ||
let's be honest you will not be on time with this, better start working on some game ;) |
| ||
That it ships in a completed form at some point. Which still doesn't tell us if the unreal3 demo was running on a ps3 or not. let's be honest you will not be on time with this, better start working on some game ;) No 3d engine I can use. Irrlict is nice and perfectly wrapped, but not as flexible/sensibly laid out as I'd need to spend six months using it for a game. |
| ||
it was running on a PC with the new GF7800 GTX according to all the gaming news sites. Not a PS3 |
| ||
Well, why show it a ps3 conference as a technical demo of the ps3 and why did Jeff specifically state they've been working on the ps3 version being shown for nearly three months. Man, I kind of wish they didn't go with Nvidia now. It's going to be out of spec by the time they release it... I suggest you quit warren out of protest. "I REFUSE TO BE A PART OF YOUR LIES I " " NEXT..." "BUT I.." "NO NO, YOU QUIT. WE ACCEPTED. NEXT" "...I'VE MADE A HUGE MISTAKE." |
| ||
im with Madjack, nothing more off putting for a 3d engine than it not doing what it says without you having to write it from scratch, also crashing for no apparent reason. |
| ||
Vivid2.0 will be a new benchmark in usability and stabaility. It'll do your taxes for you. It'll cut your hair when it's long. Trim it when it's short. (Lights a cigerette) I needed that... |
| ||
Hello Advanced animations animation blending, morphing etc |
| ||
Alberto, yep unlike vivid1.0, v2 will offer animation support of some kind. - Another similar question guys, is how would you prefer shaders(pixel/vertex etc using glsl) be exposed to the engine? The current two ideas I'm going ahead with are, 1.Automatic shader generation to emulate all fixed functionality but with optional extras like per-pixex/per-vertex light switches. 2.Material Shader skins. Objects that can be told how to maintain a shader and it's pars, and are activated per material. 3.Multi-pass shaders. Ability to define multiple shaders for use at once with vivid2 automatically re-rendering surfaces with each shader set binded by it.. Too long winded? Simplier setup? |
| ||
The whole topic of shaders is totally new to me and probably to a lot of other people. All I know is that they are a certain program that somehow gets run by pieces of the pipeline on the GPU, to do special stuff on a per-pixel or whatever basis, for lighting or special shading, cartoon effect, etc. To access that it would be great if it could somehow be easy to create/program a shader without having to use some external app or complicated extra instruction set. A simplified instruction set would be nice. You could have some pre-set shaders or have it so that certain variable are adjustable from within your app. |
| ||
Well, I´m interested in working on it, however, i am probably way too unproven as far as finishing something goes. I´ve got some decent ogl knowledge, as well as some ideas for engine design, however i´ve never actually made one before. Something I will request, though is to have a nice OOPy engine with most of the functionality implemented into the base class, or at least most of the commonly used methods abstracted. So for instance you can set up shadows for any object, even if its a camera (which it will do nothing for). Another thing is that it´s fast without sacrificing stability. In order to do this in the beginning you would fill up a bunch of global variables with information about the limitations of the current card/driver (commonly called caps). For instance, if the card supports vertex buffers loaded on the card, or vertex arrays, index arrays, etc, the list goes on. Then have it so that the user doesn´t need to decide on implementation details. Sometimes this is impossible though as the engine cannot predict future usage so you have to have stuff like CreateStaticMesh (Vertex Buffers, if the card supports them), or CreateDynamicMesh (vertex arrays, if supported). These could all fall back on the old ´n slow glBegin(GL_TRIANGLES), or better yet a buffer of stored graphics card commands (forgot the actual name for this). The point is that there are tons of ways to do things, and the responsibility of the engine is to pick the best one. The engine should also feature the ability to begin doing something within a few commands, like blitybasic3d - no complicated setup required. Allows for some quick scratchpad experimentation with ideas. Finally, an idea not in blity3d would be to have seperate worlds of objects. For instance a menu world, and a game world, so that you can switch between them without reloading. Oh, and make Render() a method of cameras. I might be able to help you on it, although right now might not be so good because im in germany right now for 2 weeks. The summer is a really good time to do something like this because i have a ton more free time. Yäy g€rmän keyböärd! Makes coding tough though - all the symbols are moved around :( |
| ||
btw, who is this person you said goodbye in the dream? |
| ||
Bot, no worries, something tells me this is going to take a few months at least anyway. Get in touch whenever, and I'll send the current build. (It's not nearly finished..so even if it doesn't work out it's not like i'm giving trade secrets away. ) Most of your suggestions are sound. Graphics3D wrapper already implemented. :) - Maximo, yet another one that got away. :) But not to worry, I'm now happily in unrequieted love with my doctor. (Begins to tie rope around neck) |
| ||
it was running on a PC with the new GF7800 GTX according to all the gaming news sites. Not a PS3 Wrong. |
| ||
Lol, wrong in what sense?(And beside in the sense of it not being right.) I saw on GAF that word is it was now running on two g7's sli'ed.. Ps3 alpha kit? |
| ||
"Wrong" seems like a pretty easy word to understand. Based on past experience, I don't want to use multiple syllables with you so I don't know what I can do to help you at this point. |
| ||
<Removed post to pre-empt any war of the words.> Of course I used a multi-syllable word there so I can't be sure that made sense. |
| ||
I'd love to see an engine that is fully Blitz3D compatible (or a Code translator that is fully capable of translate everything correctly), plus fast shadows, probably some shader FX and som additions to th collision system. But since Mark is working on a 3D Engine like this too (AFAIK), it won't make much sense to do this twice. So why don't you simply write a game engine from scatch? Something like doom 3. |
| ||
support for ATI and Nvidia's .FX format would be best for shader materials as most 3D apps and nvidia and ati's tools support them natively in a WYSIWYG fashion. SO no guess work needed with dodgy non artist friendly coder tools ;) Someone alreday wrote a DDC texture compresion module for Bmax, integrating this so artists get full control of their texture compression via tols like photoshop and paintshop pro would be another big score for me. I'm kind of hoping mark supports these things in his engine though, since they are pretty much industry standard and everyone uses them now. |
| ||
Jfk, while Vivid2.0 will certainly share some design points of b3d('Cos it's my fav 3d engine too really.) it'll be entirely oop based, mostly. Though i suppose it wouldn't be hard to do a b3d style wrapper of it's functionality? Evak, problem is fx is really a directx thing as far as I'm aware. Plus glsl is a really nice easy to use shader system(Compared to CG at least, which was a bloody multi-.dll infested nightmare of a set up...PS3 is teh doomed(i feel cheap...)) but dds, is more likely. got a link for that dds loader? |
| ||
Support of shader tools would be a must have in my next engine. ATIS Rendermonkey has OpenGL Support. Coding usefull shader effects from scratch is NOT fun. By the way, the only usefull shader tool i have found has been bought by activision shortly after release. Why compete with mark, if the world needs tools to create shader effects?:D Good Terrain support would be a must have too. That ugly stretched texture thingie in B3D is so frightening. Engine developed with Max/Maya in mind. Its a little sad if you first have to wait for "pudding's" next cool tool. |
| ||
best thing for shader would be hlsl as it isn't owned by OpenGL or DX. Whats the use of shaders that are restricted so a card or an api ... Takuan: If you can afford one of those 2 tools, buying a real engine shouldn't a problem anymore ;) |
| ||
Well, if you know a way of integrating what is essentially a feature of DirectX9 into an OpenGL-only engine I'm all ears, but I really wouldn't know where to begin. Why compete with mark 'Cos he kicked me off the Blitz Beta team years ago and I've still not got him back for it? :) Nah, I just need this 3d engine for my own game...may as well kill two birds with one stone and sell it. I'm half tempted to make it open source though..if I thought there was actually people interested and capable of helping develope it. TrinityOS went down...like the titanic so I'm not really convinced there is. |
| ||
T'would be cool to make a shader language that is translated into both glsl and whatever dx's shader lang is. Very hard to make, but not impossible. They both do the same kinds of things. It would be like writing a basic to C converter. I'll send an email. |
| ||
Yeah I'm very interested in writing a low level language that 'compiles' into at least glsl. I did start this for Vivid but it ended up being so horribly complex and ambitous..I tried to make it so it compiled into cpu AND gpu code, all from one source. (Just take a moment to think of the logistical nightmares of that if you will.) But anyway, I'll fire up outlook. |
| ||
I've just realized i dont have your email, at least not on any of my webmail. perhaps on my home computer. You can send it to botbuilder gmail com if you like. |
| ||
Yeah, it's Antony At Excess.eclipse.co.uk. |
| ||
doh, just found it embedded in the thread... |
| ||
In my little game engine im trying to write a resource manager that will automatically reload assets when they change on disk and have them update in game without restarting. |
| ||
there's stuff on the nvidia dev site for loading .fx in GL 3dsmax creates .FX or .HLSL files from the regular 3dsmax material editor with all your wysiwyg specularity, normal and a bunch of other map types. XSI has similar support now judging by what I saw on the developer news this week. Not sure if maya does, havent used that in over a year. |
| ||
Well those kind of shaders generally(But not always) require a lot of assistence from the engine/code that is using it. Normal Mapping demos for example require you to pass mesh tangents etc. So, although it is a nice dream to be able to produce wysiwyg shaders, it's rarely as easy as that. I prefer coding shaders myself. It's fun. :) Jay, check out the winAPI. there's a function to check if a file has been modified. |
| ||
yeah, only problem is that most coders aren't artists and have trouble getting a good overall look. Like your over enthusiasm for bloom, which most of the time gets in the way and completely screws up the textures and lighting in a scene. It needs an artist to adjust those things and get a consistent look. The WYSIWYG thing just works if your engine supports the shader format correctly, the problem with the .FX in GL is probably that the nvidia solution is windows only. Or that's what I gather considering it seems to be in DLL form. |
| ||
Tools are the single most important thing an engine can provide to have decent looking artwork. The UnrealEngine stuff we show looks so incredible due to 2 things: 1) We have kick ass artists 2) We have kick ass tools. UnrealEd has a visual, node based material editor and the artists have produced amazing results with it. Give them the tools and they'll take you places you never expected. Make them go through a programmer or type/edit text files and you're cutting your games throat. |
| ||
I'm all for tools, but I'm just trying to be realistic about what is possible. I've yet to see a shader produced from any editor that didn't rely heavily on varying inputs that simply HAVE to be generated by the application running them. (Be it Tangents, custom..well Whatever. Just goto shadertech and try to run one of their shaders without a slew of C++ code to back it up.) I suppose whatever Evak's on about may come with an api to do that, but I'm really against windows only. I want to make as much money as possible. So at the moment it's just not THAT big a priority to me. I'm sure Mark's engine will be no different in this respect.(Shrugs) Incidentally, the artists I'm working with are kick ass themself, and they're helping (Conceptually) with vivid2.0's design, work flow etc, so I don't think it'll be a problem either way. |
| ||
My last post and how it relates to your previous engines, was mostly from experience with Vivid and Trinity and old blitz projects we worked on where I often found that I had limited control of materials textures and lighting, often leaving me with oversaturated and or bleached out textures and lighting that that was often hardcoded so the only thing I could do to compensate was adjust my textures in photoshop. like forcing 4x multiply because you liked the way the lighting was closer to per pixel was a nightmare from an artist point of view, as it was almost impossible to compensate without some super drastic measures. Still, looking forward to see what you come up with. Hope you manage to stay focused on your projects this time and don't lose interest when things get tricky. I'd highly recommend supporting the B3d format ASAP as that is a really good game centric format that gives artists quite a lot of flexibility out of the box. And one of the better formats that supports bones and vertex weights. |
| ||
Vivid and Trinity and old blitz projects we worked on where I often found that I had limited control of materials textures and lighting, often leaving me with oversaturated and or bleached out textures and lighting that that was often hardcoded so the only thing I could do to compensate was adjust my textures in photoshop. In vivid, definitely the case with it's bodged up b3d loader, but one bug aside Trinity's b3d loader was practically all working. It shall be ported to Vivid2.0 Fairly easily though, so..that'll be in. I'm using 3ds for my current game(Artist insisted) though(just nuked the last bug.Was going to post a compatibility test, but not after mark's kick ass demo. I need to do some more cool <bleep> first..) |
| ||
hehe, going to be a while before I get to try anyones shader 2 engine demo's. Waiting for a 7600GT card to be released. A few months I'd imagine :) |
| ||
I've yet to see a shader produced from any editor that didn't rely heavily on varying inputs that simply HAVE to be generated by the application running them. (Be it Tangents, custom..well Whatever. Just goto shadertech and try to run one of their shaders without a slew of C++ code to back it up.) However much work it is, it's worth it. UnrealEd does it and it's just an amazing productivity boon for the artists. |
| ||
Where there's a will there's a way! |
| ||
But at the same time Warren, don't you find it hampens all round creativity fx wise? I mean with shaders you have the amazing ability to literally code any sort of material effect you can imagine, Now, if you build a pipeline that is tool-centric(And a tool that is wysiwyg based), surely this suffers as a result? You're basically taking away a fine pencil and replacing it with a ink stamp. |
| ||
Please list them, looking for inspiration beyond the obvious To answer your question I would like it to be noob friendly. If I cant install it and make my game with ease then its not for me. I also kind of agree with warren. The more tools you have to do the job the better it is. I've noticed a lot of new Game coding languages now coming with built in tools for editing all sorts of things for a game wether it be models, terrain or special effects. Looking forward to vivid2 though. |
| ||
Oh, new feature: Eventual support for my physics program's (the best program in the known universe) file type :D |
| ||
You're basically taking away a fine pencil and replacing it with a ink stamp. not really as the alternative is that your artist sits around getting depressed because nothing looks like it should, but he has got no control of what he's doing. Lighting and texture work involves a lot of subtle tweaking that often requires visual feeback to do well. leaving it to a coder and trying to explain what something is in words just doesn't work, particularly when you need it tweaked. Remember in Rifa, we spent days trying to get a specular map, and even with examples rendered with a 3dsmax material you didn't really understand what it was that the texture did. the core set of tools that an artist is going to use is going to be made up of a series of fairly generic shaders. Specular maps and masks and possibly fancy bump mapping. having precise control viw WYSIWYG tools means that you can tweak the map and the shader and experiment more with these base effects to get the variety you need. Coding shaders is often more trial and error and somewhat tedious and in many cases leads to lazy artists not producing work. Particularly if they don't get to tweak at all. Some shaders obviously don't need so much artist input, but essentualy taking control away from the artist is like trying to finish your work blindfolded and restricts creativity. Artists should really be in control of visuals and be able to create assets that are designed with a specific look. With trinity one of the nost frustrating things working on rifa was that the look of the game totaly changed from one day to the next depending on what you felt like tweaking. SO I might have spent several hours compensating for something you did that looked bad and ruined my textures, only to find that the following build was totaly different again and needed to be relit from scratch. I'm a firm believer that artists and coders should 90% of the time stick to what they do best. Only problem I see if that these extra tools are a hell of a lot of work for one person to produce. But thats why games are created with teams of programmers and artists, rather than a couple of individuals anyway. And those that dabble in both sides usualy have a solid understanding and proficiency in both. |
| ||
A Blitz3D-like engine, with a DX10 Renderer, soft stencil shadows, easy AI system, .fx Shader Integration, 'RemoveVertex' and 'RemoveTriangle' functions!!!!, and some kind of water and glass effects. |
| ||
.. and a time machine. |
| ||
1. OpenGL/Direct3D dual driver 2. Fat as Blitz3D 3. Shader 1.1 4. Cros Platform 5. Unicode 6. As powerful as OGRE/Irrlicht/TV3D That's very cool and have bixz potential |
| ||
Argh! The past me! The bumping... it burns!!! You imbecile, our meeting could cause a massive paradox in time and destroy us all! Anyhow, my dream 3D engine would have next to nothing except a basic framework to make 3D easy, and an extensive plugin system so I can turn off and pleasantly manage all of the useless features that I do not want. Of course, that plugin system would have dozens of pre-existing plugins to do fun stuff like hardware shaders. |
| ||
Shader 1.1 You are aware that by DX9.0c Dec 06, even DX does not officially support them anymore? :-) (was dropped together with Win9xStoneage Support) I would like to extend the plugin idea: The entity bases on a component system. So Physics, Collision, Material etc can be added to entities when needed, its not just there. (similar to XNA) |
| ||
not very often u see a 15 year old developer eh? :P You'd be surprised... 6. As powerful as OGRE/Irrlicht/TV3D Then why not just use OGRE/Irrlicht/TV3D? |
| ||
>6. As powerful as OGRE/Irrlicht/TV3D >Then why not just use OGRE/Irrlicht/TV3D? Actually I' playing DX8.1(call me old-fasioned), I found what I need is light and easy to use engine, Irrlicht is the most close, if there's no such great engine I dream about, sould stick with Irrlicht tho. As a side note, it's also a learning project. >Shader 1.1 >You are aware that by DX9.0c Dec 06, even DX does not officially support them anymore? :-) (was dropped together with Win9xStoneage Support) It actually still works, I'm not going HLSL soon, of course I have my reason to use some old techs, later days I'll isolate the renderer as an module and that should works with later DX. |
| ||
Please list them, looking for inspiration beyond the obvious. For you to actually finish and support it. Sorry, was that an obvious one? EDIT: Bah! Just realized this post is a year old. |