What kind of engine do you want?

BlitzMax Forums/BlitzMax Programming/What kind of engine do you want?

JoshK(Posted 2007) [#1]
I've modeled my 3D engine after the Source engine, because I believe that has given the best results, especially for outdoor scenes. The engine is available as a BlitzMax module, but most of my users come from 3D World Studio. We're very close to having everything we want, but there honestly hasn't been much interest from the BMX community.

Is the Source Engine in BlitzMax something you are interested in, or are there other features you are looking for? I'd like some feedback from the BMX community.


N(Posted 2007) [#2]
I'm more interested in an engine similar to Doom 3's as far as the content pipeline is concerned. This includes a level editor and exporters. As-is, you have no support for curved surfaces or even Source's rather neat displacement brushes (which are more or less equivalent to a curved surface) in engine or editor, so what else are you selling here? There's no animated mesh support from what I've seen, if I recall correctly you have no exporters for popular tools (thus increasing the amount of time spent not actually producing content), and overall it's just not a very useful engine right now, given that you simply could not produce a decent game with it as-is.

Another problem is that your editor is severely underpowered for any really useful purposes I can see, so I don't see a reason to bother buying your engine when I'd have to use 3DWS (bought it back when it was expected that we'd get useful features besides primitives and mesh placement [your terrain editor is terrible]). Considering you've more or less ceased to support the editor you can buy at the moment, save for making excuses as to why you haven't fixed bugs, why should anyone want to use it?

You need to fix up what you have now, not try to change its appearance for other people. Your engine isn't anywhere close to being usable in a finished product and your editor is underpowered and unsupported. Finish what you've already started instead of worrying about what a tiny, little community wants -- maybe ask people in the industry (that is the big part of the games industry that actually produces quality games) what they want, which probably isn't BlitzMax support in the first place. They'll probably want to be able to use animations.

Now for more painkillers and some Portal.


altitudems(Posted 2007) [#3]
I not a fan of Noel's tone and the biting way he decided to answer your question, but I agree with him about most of the still missing features.

However because this is still very much a work in progress, I won't count its current lack of polish, or completeness against it. I think it has great potential. And I'm glad to see your asking for input. Personally I'm not in the market for a 3D engine so I can't really comment on what I would like to see included, but only compare to other engines out there.

So I think what you have so far is great, but as a product, is not really ready to be used for commercial purposes.

Hopefully people who are more experienced with 3D game making can give better input than I can. I think you might surprised how many of the users here are watching your progress.


MGE(Posted 2007) [#4]
"What kind of engine do you want?"

A 3D engine so easy a caveman could use it. Seriously.


FlameDuck(Posted 2007) [#5]
I not a fan of Noel's tone and the biting way he decided to answer your question,
You need to stop reading things into it. There is by definition no "tone" in written communication - that's why it has a greater tendency to lead to misunderstandings.

A 3D engine so easy a caveman could use it. Seriously.
So what you're seriously suggesting is that Joshua first invent a computer and write an OS for it, that's so easy to use, a person who believes lightning is the manifestation of the wrath of god could use it? Good luck with that.

What do I want? Well it's a fair question I suppose and to be honest I haven't looked at it in ages, but I think number 1 on my list would be full Collada compliance (so I'm thinking more Unreal Engine-like).


LarsG(Posted 2007) [#6]
cross platform, easy to use (preferably object oriented in design, but it's not imperative), and hopefully it comes with some sort of editor. :)


z4g0(Posted 2007) [#7]
cross platform, compatible, simply and powerful (and wrappable in bmax module without conflicts with other modules) :D


Dreamora(Posted 2007) [#8]
Agree on most of Noels points and have to add compatibility as well.

The targeted "min requirements" make the engine highly useless for most BM users. No commercial professional with publisher will use BM and no one not beeing in this position will restricts its user base to a sub Shader 2 group as your engine isn't even 100% stable on shader 2 (FX 5200 Radeon 9550 and newer) ...
This might be due to the OpenGL boundness which is another problem to me who is interested mainly in Windows and OSX with windows beeing the primary platform where DX is the must have and OpenGL the nice to have, if I want to have ATI and Intel users playing my game as well, not only NVIDIA users ...

So far I test your engine quite regularily when there is a new version and I think the ideas behind it for the future extension are great. But as long as you skip the "stabilisation phase" of the core, the engine is a no go for me.

I need the core running before I need eye candy, otherwise I would still use Dark Basic Pro :)


JoshK(Posted 2007) [#9]
The targeted min requirements are shader model 2.0.

What I don't understand is that this is way more complete than Blitz3D or other engines. It has a lighting system for all geometry types, and has bumpmap and specular working with lightmapping, vertex colors, and hardware lights. Very few other engines even have an editor at all.


ziggy(Posted 2007) [#10]
I am a registered user of 3dWorld studio, and i found it buggy, spetially on lighting. then I bought gilles for lighting. Then I had compatibility problems with the .b3d files generated by 3DWorld studio and miniB3D. I was very excited when your engine was anounced, and I think you've done a very very good work, but I think there are some areas that make it not complete for game desing. I'm thinking on animations (correct me if I'm wrong) and DX support on windows, appart from the usual neverending bugfixing on all young engines.

I think, in my honest opinion, that DX suport for the engine is completelly needed, and animations support obviously with tweening and the like.

Apart from this, it would be great to have more support for standarized formats, and a fixed 3D world studio license with the engine. Lighting in the 3d world studio is buggy, slow, and sometimes just hungs without any progress. Some of the built in meshes generate a lot of flickering when exported as b3d and used in b3d, etc etc.

If it ever comes to be a complete stable package with all this areas fixed or properly developed, you'll get my money.


Dreamora(Posted 2007) [#11]

The targeted min requirements are shader model 2.0.

What I don't understand is that this is way more complete than Blitz3D or other engines. It has a lighting system for all geometry types, and has bumpmap and specular working with lightmapping, vertex colors, and hardware lights. Very few other engines even have an editor at all.


I'm aware of that.
But it does not run on this hardware stable. As mentioned, the day you can guarantee that it won't just bomb out on Shader 2.0 hardware (GeForce 5 and ATI Radeon 9550 and newer), call that the min specs.

And more feature complete would mean that it covers the WHOLE set of B3D features. Not just the nice to have eye candy part on which you seem to focus on.

Shadows are nice but get the art pipeline and animation working fully correctly before you go to eye candy. Right now the engine is great to showcase 3DWS levels but for doing a game it is as usefull as Nuclear Glory 3D. Eye candy for screenshot but not even alpha - beta phase capable. I would even consider Dreamotion 3D more beta phase capable, sorry.
(just to mention, I've an 8800GTS, a 7600 and an Intel GMA 950, all SM2 capable)

Right now the engine is:

1. Good for showcase
2. Good if you target non Windows system (no DX on windows is simply inacceptable for any engine. DX is the standard, OpenGL the nice to have addition if you want to have crossplattform or target nvidia. But it is crap on ATI and Intel)

3. Not good for a complete game as too many aspects that are just core aspects don't work
3.1 stability
3.2 "eye candy" bugginess
3.3 Art pipeline inexistant and the used main formats are not industrial standards. (ever heard of Collada? Full featured open standard should definitely be on the list of "must have or skip the launch". X and B3D are nice but both are non standard for model. OBJ, FBX and Collada and a few others are)
3.4 Either do an engine or an engine for an editor and bundle them. But don't build your engine for your editor and make them beeing standalone and still basing your stuff on the editors output.
I don't plan to get 3DWS, the export is as bugged as with CS2 (I'm part of several commercial application board mod teams and so far, 3DWS was the main reason for B3D import issues as it does not correctly implement B3D. In several cases still the same bugs posted on CS3 and CS4).
For that reason I don't plan to ever get 3DWS. The "self engine centric" orientation instead of making it industrial centred (check DeleD for a reference of what I mean) makes it a pricy yet quite pointless tool.
DIF is broken (you can't export to TGEA 1.0.3 DIF as there are no tools so you false advertise), B3D is bugged. MAP is not even specified which one of the possible MAP incarnations.
You better get a fully working OBJ exporter in, as we all are able to convert that to B3D or whatever we need.
If you ever get this kind of stuff sorted out it might be worth its money as the handling itself is quite great.
But the "external support" is sadly as worse as it ever has been with your editors. No actively and fully supported format support for import and export. Its always your format that is "genius" over any other format, point.


Winni(Posted 2007) [#12]
What JHOware said: "An engine so easy a caveman could use it." And it must run perfectly on Mac OS X.


N(Posted 2007) [#13]
What I don't understand is that this is way more complete than Blitz3D or other engines. It has a lighting system for all geometry types, and has bumpmap and specular working with lightmapping, vertex colors, and hardware lights. Very few other engines even have an editor at all.
In order for it to be more complete than Blitz3D, you'll need to add animation support. It's one of those core features that makes your engine worthless next to it.


Stu_ovine(Posted 2007) [#14]
from a LWE user (if you can say its usable)

>What kind of engine do you want?

ONE THAT WORKS WOULD BE NICE !


ckob(Posted 2007) [#15]
one thing I did not like with the leadwerks engine is how difficult it was to get a level from 3dws to the engine sample, I could change things in the editor and not have them show up on the map in the example. When I asked about it on the forums I just got the standard "it isn't that hard" reply which is why I don't use the engine anymore just lack of documentation and anyone helpful.


Beaker(Posted 2007) [#16]
http://www.blitzbasic.com/Community/posts.php?topic=72314


JoshK(Posted 2007) [#17]
The only way to do dynamic soft shadows is to make a GEForce 8800 the minimum spec. You could probably do a small demo with a lower-end card, but not an actual game.


Beaker(Posted 2007) [#18]
I disagree. Swifts (Blitz3D) shadows are fine for many games. Probably not great if you are aiming for a realistic FPS. But who wants those now we have Team Fortress 2. :)

They could also be speeded up a lot if they were built into the engine and utilised render to texture.


JoshK(Posted 2007) [#19]
Okay, I already have projected textures implemented, and they are pretty fast. I thought you meant a unified lighting system.


Dreamora(Posted 2007) [#20]
Leadwerks: Interesting statement on the dynamic soft shadows ... any problem with explaining why this would be and why Unity supports it if there isn't a single Apple machine with a that speced GPU? :)


JoshK(Posted 2007) [#21]
It depends on what you mean by "supports". Just because you have implemented a feature doesn't mean it is actually usable in a real game. Notice the FPS demo they have still uses lightmaps. I think if their shadow mapping was fast enough to run the FPS demo, they would have used it.

Show me a shadowmap demo of Unity with more than a small room. The example on their site looks nice, but feels slow even on my 8800.


Dreamora(Posted 2007) [#22]
Show me a demo of your engine which is more than a small room and at least shows the same level of bug freeness as Unity. Theirs shows of features and that to all users who download it. It might not be lighting fast, but at least it works everywhere where the minimum requirements are met.

Most users, including me and +- all above prefer 5% slower but working correctly on all systems, not only the developers machine.
I'm aware that this takes 5-20 times as much time as implementing the feature due to the fact that there are right now 4*2 generations = 8 generations of ATI and NVIDIA cards having support for Shader 2, but that is what actually makes an engine. Everything else is at best a tech demo or something similar that shows of a given feature on a given hardware.


JoshK(Posted 2007) [#23]
I'm friends with David and the Unity guys. I was in their office in Denmark talking to them about two weeks ago. I'm not slagging their product, but it looks to me like the shadow mapping approach they are using probably can't handle a large scene.


Dreamora(Posted 2007) [#24]
Don't see why it would have to ...

The implementations I've seen of shadowmapping so far always reduced the active workload to the sector / zone the camera is in and used less consuming technics in the areas that aren't directly around you where you are not able to notice differences anyway. Softshadows only make sense in the viewable area where filterings won't do the same job or "revert" the work done to calculate the softshadows.


ImaginaryHuman(Posted 2007) [#25]
I have yet to see ANY soft shadows which actually do look and behave like they are really soft and not just some fakey blurred edge. To do it properly you have to probably start looking at raytracing or radiosity. This brings me back to the main peev I have about 3D, in general, at this time in its development: It's a work in progress and it does not look realistic. You can even throw as many shaders at it as you like, it still doesn't look realistic. Partly that's because we're all trying to use triangles which really is a generalization of shape and is not very precice even with normal maps and stuff thrown on top. Lighting still hasn't got to the point of being global radiosity with proper radiosity shadowing and we still don't have proper simulaton of light as in ray tracing. It's still going to be quite a few years yet before the general level of hardware (not just the cuttinng edge) is fast enough to do the kind of realtime raytracing which is really going to be needed to solve all or most of these problems, and with solid geometry not polygons. Meanwhile we're playing with inferior systems, inferior half-baked ways of trying to create simulations of reality, and trying to do things that are way above and beyond the real processing power available. Only when the hardware gets to the level where it can render huge scenes realistically with brute force is it really ready for consumption, otherwise we're constantly trying to minimize and reduce and cut corners and have to come up with all kids of complex algorithms to try to cut down the amount of work to be done. Those kind of solutions are not complete solutions because they add to the amount of work needing to be done, while at the same time trying to remove it. So it's all very well asking what kind of engine you want but basically the hardware cannot run the kind of engine that you really want, regardless of who creates it or how stable it is. The best we can do is half measures and fake illusions of things looking right in some situations but not always. The debate then is really about what kind of tradeoffs seem acceptable or, given the limitations, what is the best of the compromises.


Beaker(Posted 2007) [#26]
Realism sucks. All I want are shadows that look ok, and serve a purpose: primarily, to give visual depth cues as to where something is (eg. a character) in relation to something else (eg. ground/wall).


Dreamora(Posted 2007) [#27]
Beaker: Agreed :-)


ImagenaryHuman: That is exactly the reason why most games are that extremely slow. Because people with no interest or capability to do 3D algorithmic programming can do it today due to the massive amount of engines.
Even Blitz3D already shows that ... compare what most are capable to do to what Fredborg did, or what filax' stuff look like etc. Or even just sswifts shadow system.
People with knowledge on 3D can do stuff that most others with the restricted view and even more restricted knowledge / capability will never be able to do unless the power of the computer doubles or quadruples.

Its not sufficient to understand OpenGL and shaders to create an opengl driven shader game. You need to understand hardware, understand a fair amount of more complex algorithms to use those shaders only where needed and a lot more.

If you don't do that, you will release a visual crap like ET:Quake wars. Once hyped but was released with terrain texture quality etc that is far below anything I would pay "HD quality game price" for. Perhaps when it dropped to 20-25$ but not for 60$
Thats one of the games that clearly show that knowledge outperforms "ideas" (Unreal / Source vs id tech)
id came up with new great ways of storing stuff for quite some time but somehow they forgot to evolve in how to use the new technology.
And beside those and crytek there aren't that many other teams who really have a deep understanding of graphics hardware, its capabilities and its bottlenecks as it seems. EA definitely doesn't have a single team with a fully fledged idea.