Coming soon!

Archives Forums/Blitz3D SDK Programming/Coming soon!

marksibly(Posted 2007) [#1]
Just getting some forums setup...


big10p(Posted 2007) [#2]
Just let me post here before puki...


(tu) sinu(Posted 2007) [#3]
....me too :-)


puki(Posted 2007) [#4]
Sniff!!!


Amon(Posted 2007) [#5]
Large!


_33(Posted 2007) [#6]
Let me guess: Now it's open source?


Barnabius(Posted 2007) [#7]
Open source? Highly unlikely. Why would Mark give away something than he can sell?

Anyways.. my credit card is ready. It's the only BRL product I don't have and it is an intolerable situation :-)

Barney


puki(Posted 2007) [#8]
Ah, "Barnibus" - I'm coming up your rear.


Yahfree(Posted 2007) [#9]
Hmm mark, want to shed some light on this? what is it?


H&K(Posted 2007) [#10]
Highly unlikely. Why would Mark give away something than he can sell?
Like maplet?


Yahfree(Posted 2007) [#11]
"like maplet"

i thought he lost the source to that, so he made it free? that and he was having problems with transations ?


H&K(Posted 2007) [#12]
i thought he lost the source to that, so he made it free?
Thats my understanding as well, but he still gave away something that was/is saleable


Naughty Alien(Posted 2007) [#13]
..this sounds interesting, but really, what is it about exactly?? I can mess with it and make B3D Dx9 upgraded or what??


popcade(Posted 2007) [#14]
My money is ready, just wondering houw do I call the existing decls for B3D, would be interesting...


Yahfree(Posted 2007) [#15]
i'm confused, Blitz3D source is going for sale? please enlighten us mark :)


popcade(Posted 2007) [#16]
It seems B3DSDK is a set of DLL/Lib/Header that works like DarkGDK/TV3D/PopwerRender etc, and it's DX/Win32 only, I'm curious about what language SDK it'll include... PureBasic? BlitzMax?


Barnabius(Posted 2007) [#17]
The way I see it, Blitz3DSDK should work with any language capable of calling functions inside a DLL. And regarding various userlibs... most of them should work O.K. as well, unless they specifically expect some of the Blitz3D runtime structures not related to the 2D/3D stuff.

Barney


Num3(Posted 2007) [#18]
A little bird posted in the PureBasic forums, saying that will be support for the SDK too :)

Thanks and bunch !!!!


QuickSilva(Posted 2007) [#19]
Oooo this sounds interesting... Looking forward to hearing more. B3D is my favourite after all :)

Jason.


Rob Farley(Posted 2007) [#20]
Yay! A wild speculation thread!

From what I heard from the voices in my head Mark is going to make blitz open source and then ANY request for any upgrade he will do FOR FREE and he'll write your game for you. Not only but also, he'll come round and clean your house, and although this isn't confirmed I hear he also cleans along the tops of doors.


BlitzSupport(Posted 2007) [#21]

A little bird posted in the PureBasic forums, saying that will be support for the SDK too :)


I am not a little bird! Besides, I only hinted and teased... :P


Kev(Posted 2007) [#22]
its intresting how much we will be able to do using blitz3d's sdk, like all others i hope mark gives a little more info.


From what I heard from the voices in my head Mark is going to make blitz open source and then ANY request for any upgrade he will do FOR FREE and he'll write your game for you. Not only but also, he'll come round and clean your house, and although this isn't confirmed I hear he also cleans along the tops of doors.



i believe mark cleans coal when not working on his projects ;)


patmaba(Posted 2007) [#23]
Hello,

I have a licence B3D and a BMax licence.

Will the sdk be free for the customers having the 2 licences?

Thank you


GfK(Posted 2007) [#24]
Will the sdk be free for the customers having the 2 licences?
Yes, and have the shirt off Mark's back while you're at it.

Always amuses me (in a not-funny sort of way) how everybody wants this, that and the other from Mark, yet expect it all gratis.


Barnabius(Posted 2007) [#25]
Will the sdk be free for the customers having the 2 licences?

Oh, I have all BRL's products so far. Will Mark give me Blitz3DSDK and add a $50 bill on top of that?

He may (and I emphasize may) give a small discount to previous customers but he is in no way obliged to give away anything. I don't think he invested time and money in creating SDK just to give it away...

Barney


Damien Sturdy(Posted 2007) [#26]
heh, I guess I was wrong- its not a rumor!

(Sorry guys!)


Amon(Posted 2007) [#27]
Hello,

I have a licence B3D and a BMax licence.

Will the sdk be free for the customers having the 2 licences?



There's always one. :/

This aint Tesco's.


Avon(Posted 2007) [#28]
I have a Tesco Clubcard, will I get points if I buy Blitz3DSDK?


QuietBloke(Posted 2007) [#29]
I have a library card.. can I just borrow it and return it when Ive finished with it ?


@rtur(Posted 2007) [#30]
I'm ready to pay $500 for Blitz3DSDK with sources or $50-$100 for DLL only version.


Gabriel(Posted 2007) [#31]
With or without source, I think it's very cool. I don't need it, but I think it's a cool product, and it's unlikely I'll go long without buying it, even if it ends up being another thing I just play with a little bit. ( fnar! )


big10p(Posted 2007) [#32]
I'm not trolling here, but can someone give me reasons why someone would want to develop a B3D app with c/c++, rather than writing the entire thing in Blitz3D? Seriously, I'm curious.


Gabriel(Posted 2007) [#33]
Well, leaving aside the fact that C/C++ is a much faster language than B3D ( as is BlitzMax, for that matter ) and the fact that C/C++ has a lot of language features that Blitz3D doesn't ( some of which BMax has and some of which it doesn't ) I would assume that the main market would be people who are experienced C/C++ programmers and don't wish to learn a new language.

I mean if you had been programming in C/C++ for ten years, had a huge library of code you had written for it, would you want to start again in a new language? I'm thinking probably not.


Abrexxes(Posted 2007) [#34]
So, you deal with full oop for fmod, physX etc in c/c++,and use the b3dsdk only to write every 500 lines a command like "Drawimage". lol

Experienced C/C++ programmers dont realy need a b3d.dll, there are lots of powerfull Dx9 and openGL "engines" around, updated every day if there are problems and powerfull workflow. They are really not waiting on a Dx7 wrapper with dokumentations like old DOS times.

Full agree with big10p. (I think).


_33(Posted 2007) [#35]
Blitz3d needs to be expanded upon. If the goal of this SDK is to let the user community expand the blitz3d capabilities, then it's probably gonna be a very good thing. Otherwise, I don't really see whare it will go.


Amon(Posted 2007) [#36]
Experienced C/C++ programmers dont realy need a b3d.dll


Ahhh! I suppose you know them all and have asked them this personally?

They are really not waiting on a Dx7 wrapper with dokumentations like old DOS times.


I don't see this in the B3D Docs. There's nothing wrong with DX7. Compatibility with older systems is a good thing.

The Blitz3DSDK is targeted at people who want it and not at people who don't.

I love it when people speak for the masses and think they know what everybody wants.


big10p(Posted 2007) [#37]
OK, that's enough - forget I asked. I don't want to be responsible for starting a flamewar. :/

Ooh, look over there - a doggie...


BlitzSupport(Posted 2007) [#38]
To add to what Gabriel said, even I have to admit that I would much prefer these days to develop 3D games using BlitzMax's syntax, and OO abilities, over Blitz3D's (even though I still very much appreciate the simplicity of Blitz3D's own syntax, especially for total beginners).

That's why I put so much effort into whining at Mark for this to happen, over several years, as did Simon/skidracer. The idea of writing 3D games in BlitzMax/B3D SDK, then 'porting/tweaking' to MiniB3D for Mac/Linux support, is very attractive indeed if you ask me.

Of course, it's not a 'next-gen' 3D engine, but that (of course) is not the point. Most people here are, I believe, realistically targeted at the indie/shareware (or even freeware) audience, for which Blitz3D's proven stability and compatibility is more than ideal, and BlitzMax's syntax just adds icing to the cake. (For more icing, those who prefer other languages, but simply tolerate Blitz3D because of its engine, ought to be even happier.)

EDIT: Abrexxes, I suspect that the SDK is not for you. What Amon said: experienced C/C++ programmers with an in-depth knowledge of Direct3D technicalities (a tiny minority) ought to look elsewhere. The rest will appreciate the Blitz3D engine for what it is.


big10p(Posted 2007) [#39]
TBH, the whole advantage of B3D in an OOP environment had slipped my mind, not ever really having done any coding with an OOP language, myself. I've dabbled with C++ in the past, but mainly coded in plain C.

I'll be interested to see how well the SDK integrates with bmax, given that the B3D commandset isn't based around OOP. If things look as painless as using Blitz3D, I may even take the leap and get bmax, at last. As James suggests, I don't really give a toss about DX10, shaders etc. - I wouldn't need them in any game I would likely want to write :)


Abrexxes(Posted 2007) [#40]
I really love B3D, but i see that you dont want to expand the blitz3d capabilities. You want to mix & merge everything with everything. :(

Ok, stop.


Barnabius(Posted 2007) [#41]
It's not C, C++ programmers who could profit by using SDK. There's plenty of BASIC like languages without any good 3D support. Their users may not like Blitz as a language but they will surely like the 3D engine, which although DX7 based is still one of the better engines around. PureBasic and Emergence Basic are two of such languages that come to mind. So, I'd say there's a lot of valid reasons for releasing B3D SDK.

Now... tell us. When will it be ready for consumption? :-)

Barney


Xzider(Posted 2007) [#42]
This sounds interesting.


BlitzSupport(Posted 2007) [#43]
@big10p... very crude, untested OO example:

Type Rocket

    Field x:Float
    Field y:Float

    Function Boost (wow:Float)
        MoveEntity Self, 0, wow, 0
    End Function

End Type

r:Rocket = New Rocket

Repeat
    whatever (... )
    If KeyDown (KEY_SPACE) Then r.Boost (0.1) ' "Wow" parameter...
    bbRenderWorld
    bbFlip
Until whatever... 



As James suggests, I don't really give a toss about DX10, shaders etc. - I wouldn't need them in any game I would likely want to write


I assure you that the same principles apply to me, and I'm pretty sure to most serious B3D programmers.


When will it be ready for consumption? :-)


Days, in theory, though it comes down to Mark's discretion, dependent upon license definitions, prices, etc, which may take more time than *anyone* might hope for...


impixi(Posted 2007) [#44]
Will the *entire* Blitz3D commandset be included in the DLL, or a subset?


Hotcakes(Posted 2007) [#45]
I wonder if the fmod stuff is being stripped out or not.

James/Mark - is it going to be open source? (For others with silly comments - "open source does not equal free" -BlitzMax)

I suppose it would probably be too messy for most people to understand anyway =]


Avon(Posted 2007) [#46]
I have to admit that I would much prefer these days to develop 3D games using BlitzMax's syntax, and OO abilities, over Blitz3D's

The idea of writing 3D games in BlitzMax/B3D SDK, then 'porting/tweaking' to MiniB3D for Mac/Linux support, is very attractive indeed

You, sir, have hit the nail on the head. BlitzMax syntax + Blitz3D's stable and easy to use engine = heaven!

That (untested) example code you posted has got me drooling already...


BlitzSupport(Posted 2007) [#47]
MoveEntity Self, 0, wow, 0

Of course, I've just realised that the above line is nonsense, but you get the idea!


(tu) sinu(Posted 2007) [#48]
this looks very interesting, my blitzmax has been sitting around collecting dust. This will get me to use it again.

@Blitzsupport
it'd be more like this?

Type Rocket

field entity:int

Field x:Float
Field y:Float

Function CreateRocket:Rocket()
ThisRock:Rocket = new Rocket
ThisRock.entity = LoadAnimMesh("rocket.b3d")

return ThisRock

end function

Method Boost (wow:Float)
MoveEntity entity, 0, wow, 0
End Function

End Type


big10p(Posted 2007) [#49]
@James: Looks straighforward enough. Nice. Trouble is, I'd also have to learn bmax and get to grips with all it's OOP goodness. I'd have to summon up enough energy to start learning yet another language. :)


SoggyP(Posted 2007) [#50]
Hello.

I'm all for using this, it might have saved me alot of headaches when creating my dissertation app.

Question: Will we be able to use this as part of an application or will it take control of the whole system? Err, what I mean is, for example, will I be able to embed the Blitz output window into a VB/C# app so I can use GUI and DB Interconnectivity, etc, or will I only be able to use Blitz 'Full-Screen'? ( I think that makes more sense)

Goodbye.


GfK(Posted 2007) [#51]
You don't *need* to get to grips with OOP to use BlitzMax.

You can do most things the 'old fashioned' way if you prefer.


big10p(Posted 2007) [#52]
Gfk: Yeah, but I'd want to get the most out of bmax if/when I move over, otherwise there wouldn't be much point me moving away from Blitz3D. :)


Mousey(Posted 2007) [#53]
I'd want to get the most out of bmax if/when I move over, otherwise there wouldn't be much point me moving away from Blitz3D. :)

lol, good point!


Gabriel(Posted 2007) [#54]
Gfk: Yeah, but I'd want to get the most out of bmax if/when I move over, otherwise there wouldn't be much point me moving away from Blitz3D. :)

Well you would still get quite a bit more speed, lots of new stuff like multiple lists for objects, list containing multiple different object types, binary lists, a proper native Windows GUI module ( like having B3D and BlitzPlus merged ) Slices ( very cool array manipulation ) and probably a lot of other stuff I've forgotten, even without learning any OO programming.


Barnabius(Posted 2007) [#55]
Question: Will we be able to use this as part of an application or will it take control of the whole system? Err, what I mean is, for example, will I be able to embed the Blitz output window into a VB/C# app so I can use GUI and DB Interconnectivity, etc, or will I only be able to use Blitz 'Full-Screen'? ( I think that makes more sense)


Here's a pic from shortlived (on the forums) B3DViewer app written in BlitzMax and using the SDK.



As you may see, B3D screen is inside MaxGUI canvas, so you are not locked into B3D full screen.

Barney


ShadowTurtle(Posted 2007) [#56]
1. I hope the SDK bases on interfaces ( like Direct3D/DirectX9/10 ).

2. This is a question: Do you now only update the SDK and forgot Blitz3D? So do please making blitz3d with the SKD compatible. Thanks.


Daz(Posted 2007) [#57]
Going on from what SoggyP it would be really nice if the B3D SDK could be used in conjunction with a .NET (VB or C#) form.

It would be cool if you could pass a hWnd parameter into the B3D SDK so the screen could be rendered inside an image control or a panel control, for example.

I think the ability to have the power of mxing Blitz3d rendering with the easy of .NET form design would certainly make creating level editors etc. a breeze (well the GUI part of it anyway!! :) )

As Barnabius' screenshot above shows, it looks like B3d SDK can render to a BlitzMax GUI form (I am assuming that is rendering to a canvas control) so I am hopeful that principal can be applied to VB or C# .NET.


plash(Posted 2007) [#58]
Here's a pic from shortlived (on the forums) B3DViewer app written in BlitzMax and using the SDK.



Never seen List Columns in a max app..


Barnabius(Posted 2007) [#59]
It would be cool if you could pass a hWnd parameter into the B3D SDK so the screen could be rendered inside an image control or a panel control, for example.


IF it's possible with BMax, then there's no reason not to be possible with any other language.

Perhaps this quick list of four functions ripped from the SDK DLL will be good enough as an answer?

bbSetBlitz3DHWND
bbBeginBlitz3D
bbGraphics3D
bbEndGraphics


I wish Mark would start selling this sooner rather than later. It'll make life much easier for everyone and he'll be getting some well earned cash as well :-)

Barney


Tom(Posted 2007) [#60]
Good stuff!

Will SystemProperty$() or a similar way to get hold of the DX handles be included?


tonyg(Posted 2007) [#61]
Silly questions.
Bmax does not have imagebuffers/texturebuffers/whatever or streaming sound.
B3d does.
To get those features plus Bmax syntax will I have to use Bmax (which is a 2d-in-3D system) to run a B3D dll as a 2D-in-3D system?


Barnabius(Posted 2007) [#62]
Someone else will have to answer these questions. I am not connected to BRL and all I've learned so far about B3D SDK is by deciphering the DLL and B3DViewer files, which briefly appeared on the forums few days ago. I must admit it reminds me of the times back in 70's when I was trying to figure out how to program HP's excellent 9845 computer, which we got almost six months before the docs arrived. Those were the joys of living in a communist country. But that's another story...

Barney


z4g0(Posted 2007) [#63]
Interesting...
the Blitz3D engine still faster and stabler than all 3D engine module I've tested for BlitzMax.

from BlitzMax, frankly, I'm waiting something more "nex-gen" than the 'old Dx7 B3D engine'... But at the moment there's no 3D modules that, for example, can import .b3D good and fast as Blitz3D.

So perhaps start using that DLL under a Bmax software layer could be a goog idea, hoping that, when minib3D (or 3D official module) will get a final version , the 'change' under the layer won't be too much painful


Daz(Posted 2007) [#64]

bbSetBlitz3DHWND



Cheers for the info Barney. As you said, if you can pass a hWnd parameter, you should be able to render inside any windows object in any programming language. Now I am a happy man!!!

This opens up Blitz3d SDK to a lot of users; not only C/C++/BlitzMax and .NET users but also the likes of Delphi, PureBasic etc.

I know some people will moan about it being DX7 but, after all, not everybody wants to develop using state-of-the-art DX10 technology which requires a powerful machine to run. Also consider the fact Blitz3d has an excellent 2D command-set which can now be utilised from these other languages.


Barnabius(Posted 2007) [#65]
Also consider the fact Blitz3d has an excellent 2D command-set which can now be utilized from these other languages.


Sprite Candy or nSprite2 in another language? Perhaps too big a rewrite but certainly a distant possibility.

Barney


big10p(Posted 2007) [#66]
Also consider the fact Blitz3d has an excellent 2D command-set which can now be utilised from these other languages.
Will the 2D commandset be included in the SDK, though? For some reason, I rather assumed it wouldn't.


Daz(Posted 2007) [#67]
Sprite Candy (and other expansions like Particle Candy) is an excellent addition to Blitz3d. I agree though that a Sprite Candy conversion would almost certainly end up being too massive a task.

Also, from what I remember of the structure of Sprite Candy, I am guessing the conversion would be a re-write of the source rather than a wrapper. That in itself would open a whole can of worms because Sprite Candy is a commercial product.


Will the 2D commandset be included in the SDK, though? For some reason, I rather assumed it wouldn't.


Ah, good question. It is funny how different people can assume different things. My initial assumption was any command which is part of Blitz3d would be part of Blitz SDK, with the exceptions being generic programming language commands e.g. if, while, repeat etc.

Maybe Barney could have a look at the SDK DLL and see if the 2d-based commands are in there.


Barnabius(Posted 2007) [#68]
Hey! There are other people here who downloaded the DLL and it looks like it's only me who enjoys to play with it.

Anyways, without going into too much details (which Mark probably would not like), it seems DLL contains more than 400 exported functions and regarding the 2D functions...

Index: 184 Name: bbGraphics
Index: 238 Name: bbLoadImage
Index: 416 Name: bbWritePixel
Index: 417 Name: bbWritePixelFast


Was that enough to set some minds at peace? ;-)

Barney


tonyg(Posted 2007) [#69]
Is there bbsetbuffer, bbloadmusic etc.
<edit > yes there is
Will I be able to say
Local image:TImage=loadimage("bmax.png")
bbsetbuffer bbimagebuffer(image)
or will I have to operate in three seperate worlds
Graphics for Bmax Graphics
bbGraphics for B2D
bbgraphics3D for B3D
I am sure the ability to use B3D in Bmax is great but it just seems 'odd'. In fact, I think I understand the reasons for C++,C Purebasic a bit more.


Daz(Posted 2007) [#70]
Just wanted to confirm that it is possible to render BB3D SDK in a panel control in Visual C# .NET. I have only tested using the Express edition, but I cannot see any reason why it shouldn't work in Visual Studio 2005 pro.

For this example I created a panel and a timer control.
Initially, the timer control to be enabled = false and interval to be 1.

The below code is just a translation of the example which comes with the SDK.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using bb = Blitz3DSDK;

namespace MyBB3DSDKTest
{
    
    public partial class Form1 : Form
    {
        int cube, light, camera;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            bb.SetBlitz3DHWND(this.panel1.Handle.ToInt32());
            bb.BeginBlitz3D();
            bb.Graphics3D(panel1.Width, panel1.Height, 0, 2);

            cube = bb.CreateCube(0);
            light = bb.CreateLight(1, 0);
            camera = bb.CreateCamera(0);
            bb.PositionEntity(camera, 0, 0, -4, 1);

            timer1.Enabled = true;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            bb.EndBlitz3D();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            bb.UpdateWorld(1);
            bb.RenderWorld(0);
            bb.TurnEntity(cube, .1f, .2f, .3f, 1);
            bb.Text(20, bb.GraphicsHeight() - 20, "Blitz3d SDK C# example to use a panel control", 0, 0);
            bb.Flip(1);
        }
    }
}



patmaba(Posted 2007) [#71]
The sdk is at price of 100$.

Is too much expensive, for all customer owner of license b3d and Bmax.

Can you reconsider your marketing approach for customers having license B3D wanting to migrate towards a BMax with 3d solution ?


degac(Posted 2007) [#72]
I'm waiting for some demos/products written in Bmax+Blitz3dSDK to see if there'S any difference or speed boost than standard Blitz3d.
Question: Has Blitz3dSDK the FMOD support built in as Blitz3d or not?