BlitzMax 3D Solved
Miscellaneous Forums/General Discussion/BlitzMax 3D Solved
I think most people should feel complete now that the Irrlicht engine has been fully wrapped in BlitzMax. From what I read on Gman's page, every function in Irrlicht can be used through BlitzMax. Is there really a need for another engine due to Irrlicht's power and development?
The Irrlicht wrapper can be found at,
http://www.gprogs.com/forum/index.php I personally haven't used it yet but it seems to be getting very positive reviews and since it can call every function, I think this is the engine to use until Max3D, which from what I read, may not even get done. Mark seemed to hint that there was a possibility he wouldn't finish Max3D, and that the users of BlitzMax would have to settle for MiniB3D.
Anyway, at least you all have Irrlicht right now so I'm expecting more pics of games being developed with this engine. Peace
NOTE: the alpha B3D mod is now included in the above distribution.
Is this a Irrlicht wrapper for Blitz3D?
"Mark seemed to hint that there was a possibility he wouldn't finish Max3D"
Is this a i heard that someone heard that...or does anyone know if development of max3D has really been stopped and/or there are doubts on continuing the development of it?
Wait a minute - isn't Irrlicht a pile of tosh? I remember downloading this a couple of years ago and promply uninstalling it.
There is a Q3 map demo supplied which shows the shortcomings of everything. The supplied demo is an advert for why not to use the engine. It has 'werelight' things floating about that don't cast light - so what's the point of them - no dynamic lighting - no shadows - no point - no point at all - the demo might as well be written in Dark Basic.
Yeah I was spreading the "No Max 3D" rumour and now I'm not sure of my facts. I'm sure Mark said something but I can't find the link and may have misinterpreted.
@puki. You must've downloaded something else. Irrlitch most certainly has dynamic lighting and shadows.
http://irrlicht.sourceforge.net/features.html
I can't find the link either. The one I thought it was in has an Internal Error.
Mark did not say he had STOPPED work on Max3D. He simply said that he had to re-evaluate so had no idea of timescales any more. He then suggested the best
response to :
"When will MAX3D be available?"
would be with
"What Max3D?"
<edit> P.S. Think
this was the thread as it is the only real match for 'Max3d' and Marksibly in the author field.
Hmm the link is dead...
Didn't I just say that :
The one I thought it was in has an Internal Error.
<edit> In fact that looks a bit too long ago.
<edit2> and wasn't there a worklog more recently than the Xmas one?
Sorry, i've just seen the link first...i was one of those ENFP persons ;O)
Is there really a need for another engine due to Irrlicht's power and development?
Yes. That's like saying now that there's a
Steven Colbert ice cream do we really need other flavors?
Is this a i heard that someone heard that...or does anyone know if development of max3D has really been stopped and/or there are doubts on continuing the development of it?
I'm sure it will be finished eventually. From what I understand the 3D module has had a couple of "false starts" - if I where a gambling man I'd say it's a second-system effect thing - which of course doesn't bring the release date any closer. I'm sure the 3D module will show up eventually, until then I'm going with Truevision3D, when it does arrive, if I'm still using BlitzMAX by then, it'll be something to evaluate at the time.
Another endorsement for Truevision3D here.
I've been playing around with the beta of 6.5 - I think it's a perfectly good and fairly simple step up from Blitz3D. I first bought a licence to it about a year ago, and it's been sat on my 'virtual shelf' as it were. But recently I've rediscovered it and taken the time to learn how to use it, and it's certainly a great lib to use.
It also has a decent art pipeline, unlike most engines. It has it's own native animated format with plugin exporters for most 3D packages. Hopefully it will support more formats in the future.
It's compatible with Blitzmax using Gabriel's TV3D wrapper - and it works excellently with many other languages too such as C#.
Some might criticise TV3D 6.5 for the time it's taken to move to public release. But those people haven't seen the amount of work that's gone into it - looking back through the change logs over the past two years you'll see that it's a substantial piece of work.
Well when I say "Is there really a need for another engine", I meant a main "holdover" till Max3D arrives, if ever. I'm with you on Truevision FlameDuck, but I want something in constant repair/evolution, and that to me is either Ogre3D or Irrlicht and Irrlicht is the one that has the highest recommendation from people interested in game develoment.
And the wrapper for BlitzMax is free!!! The 1.3 version will be up soon and will be complete with access to all functions. Don't know about physics just yet but I believe you can use BlitzMax's sound system(how that works with 3D sound?). fI am really interested in this and it's been something I've been dwelling on for the past weeks. I just see so much potential. Hope I'm not wrong.
But is the TV3D wrapper for BlitzMax stable and complete? Could I program a game from the ground up and have access to all functions? I'd buy it but so many people on their forum have been complaining for a while about this and that.
And I want to go on a forum besides this one and 3DGameStudio that has so many proven and released products designed by members.
I meant a main "holdover" till Max3D arrives, if ever.
I think it's dangerous using anything as a stopgap solution of Max3D. First of all there's the very real possibility that Max3D won't arrive, ever. Then there's the possibility it won't be as useful/complete/widely supported as your current engine. Thirdly switching engines is usually an expensive exercise.
But is the TV3D wrapper for BlitzMax stable and complete? Could I program a game from the ground up and have access to all functions?
Well the wrapper was developed by Gabe for his own major game project, so I'm going to go with yes, even though I haven't really used it yet.
And I want to go on a forum besides this one and 3DGameStudio that has so many proven and released products designed by members.
I think the percentages are pretty much the same, regardless of which forum you join. Finishing a project is more about the craftsman, than the tools in my experience.
Gman's work on the wrapper is fantastic. I have used it some and it's quite handy.
Lately I have begun having some doubts on wether to use Irrlicht or Ogre3D for my outdoors project. If you look at outdoors screenshots, Ogre3D looks great and Irrlicht looks a bit dated. I know that you shouldn't judge an engine by screenshots, but...
-AF
I don't think that any of these engines are hobbiest friendly in the way that the Blitz3d's engine is. By this I mea that they aren't as easy (or enjoyable) to use as Blitz3d for people who want to play around with 3d game creation but don't have any great interest in programming. Simply wrapping these sort of engines is not enough; for any of these wrappers to deliver flexibility and user friendliness comparable to Blitz3d (or MiniB3d) they would need to combine the engines' inherent functionality with a blitz3d-like command set.
Personally, I think that Cobra will be a better bet than these wrappers once the 3d module is released for it(or when the Ion module is released for BlitzMax). Right now, if I was dead set on developing a 3d game in BlitzMax, I would either wait for the official 3d module or use MiniB3d.
Well that's the same reason why I've been wanting to use Ogre and the fact that it seems to be an "Indie standard". But when you go a bit deeper look in the forums and hear people speak on the subject, they all seem to be saying that Ogre is simply not for the solo developer which most people on this forum are. There are experienced C++ users that say it's a bit too difficult, not to implement, but because it's simply not designed for game development.
I do judge based on screenshots myself sometimes, but I've seen Blitz3D shots that look better than commercial game engines. Irrlicht is much more advanced, I believe in every area, including FPS, so I'm still gonna grab it.
I agree with FlameDuck that Max3D, if it does appear, may end up being underwhelming in some ways (then again, it may be the best thing out there), and since it's not guaranteed, maybe I should stop thinking about it until I hear the announcement, and the specific date of it's release.
And let's not forget the 2D/3D engine nobody seems to talk about, GlBasic. It has great features but I never hear reviews. I downloaded the demo and it was pretty comfortable.
I personally wanna use Irrlicht for smaller frame games, like puzzles and such, but with higher level effects for eye candy. Definitely not trying to create a Blitz3D size project.
They aren't as easy as Blitz3D, but they are not really hard either. I have thought a lot about letting go of BlitzMax and use C# instead, because these 3D engines are quite easy to use.
-AF
I hear you proud3bme. I am currently using Irrlicht as well, but Ogre is tempting. :)
Thanks for GLBasic tip. I hadn't heard of it before.
-AF
I've seen Blitz3D shots that look better than commercial game engines
Blitz3D is a commercial engine though?
The simple fact of the matter is: you can talk about this engine or that engine until you're blue in the face, but this isn't going to help you complete a game. As Flameduck says, it's not about how powerful the tools are.
And moving from Blitz3D to anything has a learning curve. Learning Blitz3D has a curve too, you've just forgotten about it. If you consider yourself totally proficient with Blitz3D, you should have no issue moving to another engine. There's always the initial bumps when you look at a new language or engine (such as how to initialise a viewport), and this is why I kept turning back to Blitz3D.
But if you get over these with TV3D, you'll realise that the syntax and commandset is just like Blitz3D, but with the added benefits of shaders and fancery trickery. I'm sure the same is true of Ogre etc.
But is the TV3D wrapper for BlitzMax stable and complete?
Stable? Yes, very. Complete? Well it wraps every function of every class. The only sense in which it's incomplete would be that TV3D itself is incomplete and new stuff will be added oeriodically. The wrapper gets updated as soon as humanly possible after the new version is released. I think it was done in two days last time there was a new release, but someone will surely correct me if I'm mistaken.
Could I program a game from the ground up and have access to all functions?
Yes. I have.
I'd buy it but so many people on their forum have been complaining for a while about this and that.
Do we have another forum I don't know about? :D
I don't see many complaints on our forum. I see a handful of bugs reported, and each one fixed. I get a few bug reports privately in email, and all of those have been fixed too, or the user shown where his/her code is wrong if it is not a bug. There are zero outstanding bugs at the moment, and I've just recently fixed one bug which hasn't even been fixed in the official release of TV3D. ( Yes, seriously, I have one bug fixed which you won't have using the engine with C++, which I think isn't bad :P ) Most bugs are fixed before anyone finds them because as FlameDuck says, I'm using the engine for my own project and I'm using a lot of the engine in order to do that.
I'd have to agree with Caff that the step up from Blitz3D to TV3D is relatively small. It didn't take me long to have a handle on the basics, and even the advanced stuff isn't terribly tricky.
@Gabriel
Do you have an example how code looks like for setting up something easy?
..so, in order to properly use wrapper for TV3D, I have to purchase first TV3D, and then buy wrapper?? How much is wrapper anyway??
greetings :) thought id chime in a bit about Irrlicht. first thanks to all for the complements and support both past and present in all my mod adventures. the Irrlicht mod is probably my crowning achievement and has been well received for the most part since its inception 2 years ago this month. happy B-day Irrlicht mod :) the mod has been in place since late April of '05 with Irrlicht v0.09 and is currently going through its 9th version update to Irrlicht v1.03 (which will hopefully be completed sometime next week).
i originally chose Irrlicht for several reasons. it had an interface that i could relate to, seemed full-featured as a 3D render engine, was targeted for all three major OS (in the spirit of BMAX), didnt require lots of different libraries, and it could be wrapped up and be used by BMAX. the wrap itself actually turned out pretty dang groovy, meeting all the design goals i set out for it.
i think the feature im most proud of is the near one-to-one API syntax and usage with Irrlicht proper. it is very feasable to use the documentation that comes with Irrlicht as the documentation for the mod and to translate examples and code from the Irrlicht proper library forum.
the second feature that makes me tingle is its ability to extend some of the wrapper types using BMAX and have them used directly by the C++ Irrlicht engine (see the CustomSceneNode example). pretty dang proud of that one :)
ive found over the last 2 years that there are many similarities in Irrlicht to the B3D command set. for the most part, many of the features are there out of the box its just a matter of coming up with the right terminology or putting them together in the right combination. because of this, much progress has been made on iB3D which is a B3D-esque command set for the Irrlicht mod. while the Irrlicht mod is a complete wrap of Irrlicht, iB3D is not yet complete and probably wont be for a long time. a big kudos to Mark and Co. iB3D has really made me appreciate what a near-perfect blend of functionality and ease of use Blitz3D really is.
given all this, i want to say that i dont feel Irrlicht is the end-all solution for BMAX. thank you though for the thought and vote of confidence. i am truly humbled by it and many other similar thoughts. im very excited about MiniB3D and where its headed but there are also several other good options from top-notch devs are out there... some mentioned here and the rest in other similar posts. most, if not all are free to try. i would encourage everyone to find one that suits you in concept and can functionally achieve what your goals are.
Here's a C# sample for TV3D. Blitmax is even easier to look at.
This creates a scene, creates a teapot, colours it / adds a bit of shininess, then slowly rotates it until you press escape.
Note the f after the numbers (0.5f) indicates that this number is a float.
TVEngine TV = new TVEngine();
TVGlobals TGlobals = new TVGlobals();
// Set anti-aliasing to 8 samples
TV.SetAntialiasing(true, CONST_TV_MULTISAMPLE_TYPE.TV_MULTISAMPLE_8_SAMPLES);
// Set your beta-key/license:
TV.SetBetaKey("username","licence key");
// After setting the beta-key/license its time to init the engine:
TV.Init3DWindowed(this.Handle, true);
// Something good to do is to enable the auto-resize feature:
// Get the default viewport and set autoresize to true for it:
TV.GetViewport().SetAutoResize(true);
// Lets display the FPS:
TV.DisplayFPS(true);
// Set the prefered angle system:
TV.SetAngleSystem(MTV3D65.CONST_TV_ANGLE.TV_ANGLE_DEGREE);
// Create any other components after TV init.
TScene = new TVScene();
// Create a teapot, position at 0, 0, 5
TVMesh teapot = TScene.CreateMeshBuilder("teapot");
teapot.CreateTeapot();
teapot.SetLightingMode(CONST_TV_LIGHTINGMODE.TV_LIGHTING_MANAGED);
teapot.SetPosition(0, 0, 5);
teapot.SetRotation(-30, 0, 0);
// Create a material (equivalent of brush)
TVMaterialFactory tvm = new TVMaterialFactory();
int matty = tvm.CreateMaterial("testmaterial");
tvm.SetAmbient(matty, 0.01f, 0.0f, 0.0f, 1.0f);
tvm.SetDiffuse(matty, 0.9f, 0.0f, 0.0f, 1.0f);
tvm.SetSpecular(matty, 0.9f, 0.9f, 0.9f, 1.0f);
tvm.SetEmissive(matty, 0.5f, 0.0f, 0.0f, 1.0f);
tvm.SetPower(matty, 1.0f);
// Cover teapot in material
teapot.SetMaterial(matty);
bDoLoop = true;
// Lets setup the Loop:
while(bDoLoop)
{
// Check if the application has focus, if yes thats when we process the loop.
if(this.Focused)
{
teapot.RotateX(0.03f);
teapot.RotateY(0.4f);
// The actual render loop
TV.Clear(false);
// Render everything
TScene.RenderAll(true);
// Quit loop if escape key pressed
if(TInput.IsKeyPressed(MTV3D65.CONST_TV_KEY.TV_KEY_ESCAPE)) { bDoLoop = false; };
}
}
// Remove all objects from the scene
TScene.DestroyAllMeshes();
tvm.DeleteAllMaterials();
// Remove the engine
TV = null;
@gman
Is there a working OSX version for 1.3?
@taumel - the v1.3 dylib is created (thank you to jonasled) but not yet made available. at the point i finish the conversion of the mod all should be good to go. v1.2 worked pretty well on the Mac (and was the first version to do so). i have high hopes for v1.3.
..so, in order to properly use wrapper for TV3D, I have to purchase first TV3D, and then buy wrapper?? How much is wrapper anyway??
No, the wrapper is free. Before it was released a number of people said they wanted to donate, so I set up an option to "buy" for $39.95 US which people can use to show their appreciation. People who do that also get the source to the wrapper, and priority support as my way of showing my appreciation for their appreciation ;)
Do you have an example how code looks like for setting up something easy?
I don't have a really bare-bones example. The simplest I have is this which creates a scene, creates a teapot, loads a shader, makes some changes to the shader, applies it to the teapot and then rotates the shader-painted teapot until you press escape. There's a lot of extraneous code in there, but I wanted examples to show things which weren't strictly necessary as well, because then you learn more. Comments could probably be better, but I think it's self-explanatory.
SuperStrict
Import glimmer.tv3d65
Global pEngine:CTVEngine=CTVEngine.Create()
Global pWindow:CTVWindow=CTVWindow.Create(640,480,"Metal Shader Test")
Global pScene:CTVScene
Global pInput:CTVInputEngine
Global pTextureFactory:CTVTextureFactory
Global pLightEngine:CTVLightEngine
Global Teapot:CTVMesh
Global CartoonShader:CTVShader
Global ShaderLight:Int
' Set Beta Key
pEngine.SetBetaKey("<Change This>","<Change This Too>")
' Initialize Windowed
pEngine.Init3DWindowed(pWindow.hWnd,True)
' Set Window to AutoResize
pEngine.GetViewport().SetAutoResize(True)
'Display the FPS
pEngine.DisplayFPS(True)
' Create the Scene
pScene=CTVScene.Create()
' Set the background color.
pScene.SetBackgroundColor(0.2,0.0,0.0)
' Let there be Light ( the shader doesn't strictly need one, but in a real world situation, we would want the shader to use data from a real light. )
pLightEngine=CTVLightEngine.Create()
' Create a point light which is at (50,50,0) with pure white color (1,1,1) and has a radius of 100.
ShaderLight=pLightEngine.CreatePointLight(_cTV_3DVECTOR(50,50,0),1,1,1,100,"Bump Light")
' Create a Shader
CartoonShader=pScene.CreateShader("NewShader")
' Load the effect file with the shader in
CartoonShader.CreateFromEffectFile("Metal.fx")
' Set our light vector to the same ( albeit closer ) as the light.
CartoonShader.SetEffectParamVector3("LightPos",_cTV_3DVector(1,1,0))
' Create a Mesh Object
Teapot=pScene.CreateMeshBuilder("Teapot1")
' Add a teapot mesh to it
Teapot.CreateTeapot()
' Set the scale
Teapot.SetScale(2,2,2)
' Set the position
Teapot.SetPosition(0,0,10)
' SHADER CHANGES
' Set the Mesh Format ( not used for this shader, but will be for normal mapping and other shaders using the Binormal and Tangents
Teapot.SetMeshFormat(17)
' Set a blank Texture
Teapot.SetTexture(0)
' Apply the shader to the teapot.
Teapot.SetShader(CartoonShader)
'Init Input after main init
pInput=CTVInputEngine.Create()
pInput.Initialize()
'Main loop
While(pWindow.AppQuit=False)
' UPDATE, but only if pWindow says we can.
If pWindow.Update()=True
Update()
Render()
DoInput()
End If
Wend
'pWindow.Close()
'Destroy everything
pLightEngine.DeleteLight(ShaderLight)
pLightEngine=Null
CartoonShader.Destroy
CartoonShader=Null
Teapot.Destroy()
Teapot=Null
pScene=Null
pInput=Null
pEngine.ReleaseAll()
pEngine=Null
GCCollect
End
Function Update()
' Rotate the teapot
Teapot.RotateY(0.0001)
Teapot.RotateX(0.001)
Teapot.RotateZ(0.0005)
End Function
Function Render()
' CLEAR THE SCREEN
pEngine.Clear(False)
' Render the teapot.
Teapot.Render()
' Flip the buffers
pEngine.RenderToScreen()
End Function
Function DoInput()
' if Escape is pressed, tell pWindow we quit.
If(pInput.IsKeyPressed(cTV_KEY_ESCAPE))
pWindow.Quit()
End If
End Function
@Gabriel&gman
Thanks! :O)
I dislike the transform syntax a bit as i prefer something like
object.transform.rotation.x=1
object.transform.scale.y=2
object.transform.position.z=3
more.
By the way is this a local or world rotation and are the commands case sensitive?
I'm going to apply some common sense to this thread and a few probably won't like my deduction.
I'm assuming Mark isn't talking about Max3D anymore simply because he's stopped working on it. He used to mention it in the past and give status reports on it. Those have stopped. And since I'm assuming it's not a nuclear project and doesn't threaten national security, there's no real reason to keep it under wraps.
I think it's been a year or more since the last mention of Max3D from Mark. That spells disaster.
Either way, I wish Mark would let us know what's up with it.
That's not common sense - you're just trying to goad Mark into a response. Nice try though.
I remember where Mark's last post was concerning Max3d. I think it was Filax who emailed Mark and got a response which was posted on blitzbasic.fr (currently down) which then got cross-posted here somewhere.
Surely THAT is enough to jog somebody's memory to find the text?
I remember that thread.
Mark stated that he didn't know where he was going with Max3D and that he needed to rethink the whole thing.
There was also mention that it would be GL only on release with DX support coming later on.
TBH max3d is a no go at the moment. It could also be a no go for a very long time so waiting for it would waste you a lot of development time that you could apply elsewhere.
It's not all doom and gloom though because as mention there are various 3d solutions for BlitzMax.
Currently there's TV3D, MiniB3D, OGRE, irrlicht and a few other.
Remeber also that ION3D (squeakyduck developed 3D Engine) will also be available in the next couple of Months for BlitzMax and many other compilers.
I would also like to hear from Mark a little information on what is currently going on with Max3D. Its been a while now and I'm wondering if max3D is still in dev.
You shouldn't mix complete game engines with only 3d engines, as the 3d engines a) lack the physics, sound, game, net, ai and the whatever part and b) that it's your work to get all components working together nicely.
This isn't a issue for each project and parts of these things could be done with blitzmax but you really should consider this.
Well that's the same reason why I've been wanting to use Ogre and the fact that it seems to be an "Indie standard". But when you go a bit deeper look in the forums and hear people speak on the subject, they all seem to be saying that Ogre is simply not for the solo developer which most people on this forum are. There are experienced C++ users that say it's a bit too difficult, not to implement, but because it's simply not designed for game development.
It's not that Ogre is not for the solo developer, but that it is so powerful that many commercial game teams are beginning to use it.
I'm a solo developer, and am currently working on a game with Ogre, and everything is going fairly well. You don't need to be a C++ veteran to use Ogre, you just need to understand OOP (as with most professional-quality libraries).
Probably Ogre's biggest disadvantage for indie game developers is that it is a "graphics engine", which means no sounds, no physics, no collision, no AI built-in, etc. Ogre does come included with an input library, but that's all. It's up to you to choose the best AI/physics/etc. libraries for your project.
I dislike the transform syntax a bit as i prefer something like
object.transform.rotation.x=1
object.transform.scale.y=2
object.transform.position.z=3
You should be glad it's not like that. If it was, you couldn't use it with BlitzMax at all ;)
By the way is this a local or world rotation and are the commands case sensitive?
Local, unless the object has no parent in which case local and global would be the same.
And no, they're all BlitzMax functions/methods so they cannot be case sensitive.
That's not common sense - you're just trying to goad Mark into a response. Nice try though.
Nope. Wrong. That's just my observation. Feel free to interpret it as you wish though.
Btw, JustLuke, you don't want to know the status of Max3D? I find that a bit hard to believe. Which makes your stab at me a bit unconvincing.
Were well on our way to having a really good Ogre3D wrapper for Bmax. Our C++ coder Lina recons it will be about 4 months to a proper release.
Currently we have Ogre running in a Bmax window with Maxgui support as well as full CEgui support using XML or LUA . Newton, and Bmax input. YOu can mix and match the UI stuff so you can have standard OS gadgets mixed with skinned ones and have full control of the windows.
Were currently using it in a commercial App and hope to have some more gamecentric example demo's avaliable for launch. But all the basics needed for games are in there already.
Cygnus is the core Bmax coder working with Lina on Flow, And I'm mostly involved as the Artist/designer and producer in our commercial project.
Ogre has come a long way in the last couple of years and is way ahead of irrlicht in the rendering department, and I think Flow does a good job of taking care of the rest thats required to make it into a decent Bmax game framework.
Cygnus has plans to develop EasyFLOW which would be more like Blit3D, for those that don't need the extra depth and flexibility that ogre's API offers.
Are BlitzMax users expecting a super-high-end brand new engine, or do they just want Blitz3D functionality in BlitzMax?
Awww Evak [edit] Adrian T? [/edit], I've been wanting to mention Flow for a while haha.
Yes it's coming on quite well although as said, its around 4 months away from release. We've got a good team going this time round.
Lina is an excelent coder who is coding the Library. It's been done so that in Max, its as close to Ogre as possible- to the point where you can use most of the ogre manual to use the wrapper. The speed is pretty impressive and integration with Max is nice too. Some features lacking from Max have made some things hell mind.
Leadwerks: IMO, I'd like to have Blitz3D functionality, hence the whole EasyFLOW idea- but there are advanced programmers who want more, like shaders and DX9 features. I will use these too, but Blitz3D simplicity seems to be a must for quick prototyping- which covers more than just your "newbie" programmers- it includes pro's who just want to visualise.
Personally I want an engine that is as easy to use as Blitz3d, stable, and supports shaders. I have no interest in sacrificing simplicity for extra functionality. That's why Blitz3d was so appealing to me (and why I find Cobra intriguing too).
Blitz3D functionality in BlitzMax is here via miniB3D. There are some things to improve/optimize/implement but it works great and it is stable right now. (with "right now" being the most important aspect)
as far as a super-high end fancy-pants engine. no, not really.
maybe Mark is contemplating 'officially' wrapping an open source scene graph/rendering engine (like Open Scene Graph, OGRE, IRRLICHT , etc) rather than starting from scratch.
or, maybe he is taking a breather.
I think remaining backwards compatible with low end machines has really killed anything new from coming down the pipeline. I think we have enough of that to do us for a long time.
Now's the time for the bleeding edge stuff. I was under the impression that Max3D would be able to do all the new flashy stuffy (shaders etc). Which miniB3D, really cool in it's own right, wasn't meant and can't do.
Give us the option to natively compete graphically with Unreal and HalfLife etc. Those that want to make legacy software, well just don't enable those options.
Blitz3D functionality in BlitzMax is here via miniB3D
That's a bit of a stretch -- last time I asked for people to show me something done with MiniB3D I think only one person stumped up anything and most of their examples failed to run. Maybe things have improved since then?
@Gabriel
I just love clean and obvious object structures... :O)
Sledge, you must be referring to this thread from 3 months ago:
http://www.blitzbasic.com/Community/posts.php?topic=65450#731822 ha ha.
minib3d is at 0.41 stage right now.
the klepto2 module adds support for shaders and some other stuff.
Still, have things improved since then? Ho ho.
Theres dreamotion as well, which is another cross lang solution, and seems to be written to maintain a b3d "style"
http://www.dreamotion3d.com Its sort of an evolution of Elisa.
He may or maynot have said it in this thread, but flame is right when he says that the lack of a 3d engine isnt slowing anyone down, just a lack of direction/dedication.
That's not common sense - you're just trying to goad Mark into a response.
In fact, it's not even logical. Let's review:
I'm assuming Mark isn't talking about Max3D anymore simply because he's stopped working on it.
An assumption.
He used to mention it in the past and give status reports on it.
Followed by a memory.
Those have stopped.
And an observation (which scores you a plus point for being scientific about this part).
And since I'm assuming it's not a nuclear project and doesn't threaten national security, there's no real reason to keep it under wraps.
Followed by another assumption.
I think it's been a year or more since the last mention of Max3D from Mark.
Followed by
an outright fallacy.
That spells disaster.
That leads to an incorrect conclusion.
Now. Lets deduce the obvious. If your assumptions are true that:
a) Max3D is no longer under development.
b) Max3D is no threat to national security.
c) There's no reason to keep it a secret any longer.
Then the logical conclusion, would be that Mark had spilled the proverbial beans, and released it already, to anyone interested (like the people working on MiniB3D for instance). The logical conclusion is that one of your base assumptions is false. Considering the nature of Max3D I would say the most probable incorrect assumption is a), as b) is ridiculous, and c) effects BRL's ability to compete effectively.
Blitz3D functionality in BlitzMax is here via miniB3D.
Not. Even. Close. I can only assume it's been a while since you tried Blitz3D?
Regarding TrueVision3D:
TrueVision3D 6.5 is currently private Beta, and has been in development since 2004. Here’s an extract from the beta page:
2. What are the limitations of the current Beta Testing program ?
You have no NDA to sign but we will ask you to be silent about the new engine and new features in public places. Moreover you mustn't release any program / source code using the beta engine except in the beta forum or beta chat room. If you post source code in these places, be careful to remove your beta key & license key from your code. You will be the only person held responsible if your beta key is leaked or stolen. So Be Careful.
(Emphasis added)
Regarding the ‘beta’ status:
* There’s a recent topic in the private TrueVision3D’s Beta forum called “TV Media 6.5” that has some information about the beta status – specifically some likely accurate conjecture about release schedules. I won’t quote it here. Summary: a ‘proper’ release is likely still many months off, if not years.
Regarding Gabriel’s wrapper:
* It is for 6.5 only.
What this means for BlitzMax users:
* TrueVision3D 6.5 is not a viable 3d solution for BlitzMax coders unless your projects’ release date is some distance off, and non-specific (ie open to flexibility).
That ‘said’, I’ve been playing around with the engine using VB.Net and BlitzMax (with Gabriel’s wrapper). It is a powerful, full-featured engine but not for everybody:
* Windows only (DirectX9).
* No 6.5-specific documentation yet (you can refer to the 6.2 docs but there are some differences that might hinder your efforts).
* The available tutorials and samples are not written for BlitzMax. You need an understanding of one of the supported languages to translate them.
* Has its own architecture that some Blitzers will not appreciate.
I’ve also tried Irrlicht 1.2 (using gman’s BlitzMax wrapper). Personally, I don’t like the engine’s architecture. It feels ‘clumsy’. Perhaps it’s because Blitz3D’s simple yet versatile elegance has spoilt me, or, more likely, I’ve become a lazier programmer in my old age.
@FlameDuck
Not. Even. Close. I can only assume it's been a while since you tried Blitz3D?
it has been awhile but I stand by my assertion that blitz3D functionality is here (and in quite usable form) via miniB3D. it also will run (quite nicely I might add) on Ubuntu and Mac. there are quite a few things missing from miniB3D that blitz3D has but miniB3D is just one of many modules that can be used with blitzmax. at the 0.41 release it is quite stable and fast.
I've written nearly everything Blitz3D has into my own engine, but mine is a more tools-oriented approach. You probably wouldn't write a lightmapper with it.
I suppose I could rip a bunch of the code out and make a more hierarchy-based entity system like Blitz3D. To be honest, it would probably take a week to duplicate most of Blitz3D's commands, and then maybe a few more weeks to add animation.
The problem with a B3D-style system is a lot of high-end effects don't really work in a B3d-type system. Lightmaps and tangent maps have to be pre-processed, shader variables have to be set, and configuring it to all be dynamic will make it slower than a compiled BSP system. I suppose I could add vertex-based bumpmaps with a brush style/flag, and 3D World Studio could be used to pre-calculate the bump surfaces for large flat objects. Or you could write your own lightmapper.
Oh Yes, the Leadwerks engine. I will buy that if it isn't buggy and people start showing off some stuff. And to Gabriel, I wasn't talking about your wrapper that people are complaining about, I was talking about TV3D itself.
I do want to use OOP but that Cobra 3D engine sounds nice. Just have to wait to see the speed and such. Messing around a bit in Irrlicht shows that it really isn't too quick in some instances. Definitely not faster than Hyperion at
http://www.ozone3d.net/That's basically what I'm looking for. I'll keep doing the major projects in Blitz3D and some flashy small joints and demos in whatever works. If anybody can get the speed of Hyperion in a game centric engine, WOW!! It can be used to make games but the import system makes it a bit impractical. You wanna see how shadows and effects should look in a game, download the demo and run the examples. That Ozone engine is INCREDIBLE!!!
Not. Even. Close. I can only assume it's been a while since you tried Blitz3D?
Hmmm, well I have managed to convert Super Gerball perfectly to BlitzMax using MiniB3D, and that's probably one of the biggest completed Blitz3D games there is. If MiniB3D wasn't 'even close' to replicating Blitz3D, I doubt I would have been able to.
um MiniB3D IMO is the best 3d engine for blitz max it gives you everything you need to get started and you can add the rest. I would buy Leadwerks engine but you try justifying spending $100.00 on another game development tool to my wife.
I've converted a crap load of my old Blitz3d work to Blitzmax using MiniB3d.
You want know what I fear, With the extra engines people have on offer, Mark feels less in need to finish his, and even if he does finish it which I for one hope that he does. and soon.
All those people who have been using those other engines will be a lot less inclined to switch since they have already spent the time learning the in's and out's of their chosen engine.
Choice is good. but changing your mind once youv spent a long time with one method can be hard.
Finish Mark. were waiting for it. well I am.
And to Gabriel, I wasn't talking about your wrapper that people are complaining about, I was talking about TV3D itself.
Gotcha. Thanks for the clarification.
Si. do you have a demo of bmax super gerball?
anyway
[rant]
most people 'waiting' for engineX, Max3D, super 3D engine 2007, etc. would not create a darn thing with it anyway. complaint about lack of tools is so common among game development forums that i think it is an illusion. miniB3D is fully capable of running/rendering anything that most of us are capable of programming. Blitz[3D,max,plus,basic] are programming languages. very cool things have been made by people using all of them. The tools are out there. Design a game and program it! The flexibility that blitzmax+miniB3D gives you comes at a cost. It is not a point&click game creation tool. you have to program what you want, write editors, create loaders/file readers/etc. otherwise you would end up with a completely derivative and boring game. The miniB3D forum is open and there are lots of people there to help with questions you might have. There are lots of tools available now to use to create something unique and fun. pick them and get going.
I remember the "I need feature X" stuff from the DarkBasic forums 6-7 years ago. this is the same thing.
Remember that part of the fun of games programming is working within the constraints of the medium. For example, miniB3D does not have a LOD terrain system. should you:
A: create a space game
B: write your own LOD system
C: modify your game design to not include terrains
D: petition Mark sibly to write/modify B3D's terrain system for miniB3D
E: give up and complain about it
[/rant]
uh oh.
now that I have ranted, i better get cracking on posting something good i made with miniB3D!
also, check out klepto2's new worklog:
http://www.blitzbasic.com/logs/userlog.php?user=8309&log=1439
[rant]
The feature I would need is stability with fairly lowest common denominator hardware. If MiniB3D projects don't run reliably on integrated gfx Dells then it's next to useless - there are a LOT of those machines out there.
Personally I find Irrlicht very interesting. I hated having to navigate the whole namespace system to try it out with DevC++ so having BMax as an alternate access interface makes BRL's language itself appealing. Is it possible to try the Irrlicht wrapper with the BMax demo, though? [Goes and looks]
now that I have ranted, i better get cracking on posting something good i made with miniB3D!
That would be very helpful.
No demo yet bradford, soon though.
You want know what I fear, With the extra engines people have on offer, Mark feels less in need to finish his,
How do you figure that? It seems to me, that the more alternatives people have, the more immediately Mark needs to deliver a competing product. Lets say people switch to TV3D today. What's to stop them from switching to C# tomorrow? C# does offer certain advantages over BlitzMAX (more data types, multi threading, generics).
All those people who have been using those other engines will be a lot less inclined to switch since they have already spent the time learning the in's and out's of their chosen engine.
It depends on what your priorities are. If Mark delivers a superior product compared to your priorities, and your software is designed using a layered architecture, switching the underlying engines is a fairly trivial job.
Excuse me for not reading every post, just want to say:
As puki, I tried Irrlicht some time ago and I was pretty disappointed, a jerky, noninteractive walktrough in a non-lit dx5ish mini-level, where an elevator was the ultimate proof of power, although, the elevator didn't work for some reason.
Now I think this was an old version and irrlicht may be very powerful today. Good to hear it was wrapped for BMax. And what was that about the B3D mod??
About Max3D I'd like to note:
Mark said, the Max3D Project needs a "major rethink" and that he has no idea when it's gonna be released. This sounded to me like "it's gonna take a long time".
This is only speculation, but maybe some of us were also extremly sucking, asking every other thread: when? when? when? gimme gimme gimme! So maybe we are not worth to eat the pearls, kind of, or something.
Well I confess I said that too. Simply because I wanted to sex-up my engine.
As far as I see Believing in a soon Max3D release is probably more religious than believing in santa claus. Personally I start looking around for a substitute, where Irrlicht is a top ranking candidate.
But first I'm gonna add the final cut to my Blitz3D games, cause there's still a lot of power in Blitz3D that I didn't use so far.
You want know what I fear, With the extra engines people have on offer, Mark feels less in need to finish his
I agree entirely and feel that that is a strong argument to make for improving the language itself (i.e. add multi-threading, generics, closures, etc).
BMax's strength lies in it's modularity and it's ability to interface with outside code. There are already a # of decent 3D engines to choose from. There aren't all that many game-oriented languages to choose from. If you include C# in that list though, Bmax has some serious competition. I think Mark's time would better be spent making the language standout.
BMax's strength lies in ...it's ability to interface with outside code
I don't know I find the lack of structs a pain. Whoops I mentioned it yet again...
I really hope Max3D makes it. I have heard it said that Max doesn't need its own 3D system, but that would be a hell of a shame in my opinion and would leave behind a lot of the Blitz3D crowd who want an all-in-one solution... which is what the Blitz philosophy is all about.
The problem with third party 3D systems is two-fold : first, when the main 3D system is updated, you have to hope that the person who does the wrapper updates it in a timely manner, and doesn't start adding extra bugs.
Secondly, you dont always get the full range of goodies in the engine - the process on some wrappers seems slow, and may not be fully tested.
I read Marks most recent post, and its a little scary to be honest.
In the post for those that have not seen it he mentions having to spend more time than he would have liked working on Max and not Max3D, the real Truth of the matter is and Mark has said it himself, He's not finding the time he needs to put into Max3D and even when he does, there are things about it that he really does not like, things that need to be redone and things that are simply not implemented yet.
I honestly do think Mark Will finish Max3D, its not his style to let the project die, However I like I said above am really scared now that its going to take him to long to complete, and by the time its finished, it will be almost out of date.
I fear that picking, and sticking to, another engine may be the only course of action at the moment.
Given that I love the Blitz Syntax, I think I will be spending time working with MiniB3D, as it will require very little adjusting. I will use that until I hit a point where something I want to do cant be done with it.
you have to hope that the person who does the wrapper updates it in a timely manner, and doesn't start adding extra bugs.
and
the process on some wrappers seems slow, and may not be fully tested.
Is not two problems, it's the same problem twice. Besides which I'm not quite sure which wrapper you're talking about. Gabe, Leadwerks and GMan have all demonstrated their ability and commitment well beyond any reasonable doubt. Frankly I find it somewhat insulting.
Add to that, the issue you raise exist with first party 3D systems as well. I don't think anyone in their right mind is going to argue that progress on Max3D "doesn't seem slow". For anyone who does I offer this thread and every thread like it for the last year as Exhibit A.
However I like I said above am really scared now that its going to take him to long to complete, and by the time its finished, it will be almost out of date.
To [
sic] long for what exactly?
I think I will be spending time working with MiniB3D, as it will require very little adjusting. I will use that until I hit a point where something I want to do cant be done with it.
Then what? Switch to yet another engine? Give up?
Then I would have to move to an engine that can support the thing that I want or try and expand the engine to be able to handle it.
I actually wrote that in the above post but lost it and did a copy and paste, must have missed the last part out.
How fast is TV3D comparatively because most of its screenshots and video files display quite low frame rates for what is actually being done.
How fast is TV3D
What metric are you using for speed (the SI unit is meters per second) and how are you measuring it?
It's fast enough to handle everything I've thrown at it so far.
.. which is:
- a cow
- an old kettle
- some rusty nails
- broken headphones
and his own socks from a gym class in 5th grade, which he found in the back of his old closet when cleaning out..