Jump to content

Program in C++, C#, Lua... What Happened To BlitzMAX ? ?


Guest Red Ocktober
 Share

Recommended Posts

Guest Red Ocktober

there seems to be something missing on the home page...

 

Program in C++, C#, Lua, or just about any other language...

 

this is how it reads on the home page...

 

shouldn't it say Program in C++, BlitzMAX, C#, Lua, or just about any other language...

 

i'm sure that omission had to be an oversight... right... i mean, we're not gonna open up the next release and suddenly find no bmx folder as part of the download...

 

... are we?

 

please say that that's not in the plans... :)

 

 

--Mike

Link to comment
Share on other sites

the way i understood it was that 3.0 will be written in c++ and will still support the framework for BlitzMax but you will be calling the c++ .dll ( which you will have to include in your distribution ) as opposed to it being linked into your BlitzMax .exe natively as it is now.

 

Seven

AMD Phenom II X6 Black Edition, 8GB, 120 GB SSD, 2TB HDD, nVidia GTX 570 1.2GB, Win 7 x64

Intel Core i5, 4GB, 120GB SSD, NVidia 360M 1GB, Win 7 x64

Link to comment
Share on other sites

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

BlitzMax is still supported, and always will be. Everyone in the BlitzMax community knows that Leadwerks supports BMX. Few people outside the BlitzMax community have ever heard of BlitzMax. So there's not much reason to list something most new people have never heard of. I'm actually trying to cut the wordiness of the front page down more, because there is only so much text people will read and absorb, so I just want to get the important points across.

 

BRL's lack of promotion has some very real consequences. If they had promoted BlitzMax, maybe they would be making more sales of it, and maybe they could continue to perfect it instead of switching to that Flash/Java thing they are doing now.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

BRL's lack of promotion has some very real consequences. If they had promoted BlitzMax, maybe they would be making more sales of it, and maybe they could continue to perfect it instead of switching that Flash/Java thing they are doing now.
They are doing the right thing. It makes no sense to make BlitzMax more bloated at this point of transition, since each 3rd party library it has will only need more and more people and resources to keep them up to date. What is really needed is that it works. So far it worked on Windows, Mac, Linux (only Intel Linux though), and with the new concept it will basically work on every toaster. That's a real step ahead in my opinion.

 

C++ has been able to work on every toaster since it was released, and now BlitzMax is nicely catching up. It is fully understandable that when you make a RAD compiler which has all the 3rd party libs integrated, and on the more platforms it works, the less you can first have of the 3rd party libs supported. That's why they cut down the number of 3rd party libs to make it more cross-platform.

 

In future, they will add more of the 3rd party libs, and within a short time it will even beat C++ in cross-platform abilities, because with C++ not every 3rd party lib works on all platforms, but with BlitzMax 2.0 they will.

 

That's actually something I would like to see from LE too, the ability to adapt to new technologies. Voxel engines are the future, like John Carmack uses in his new idTech6 engine. It might need some time to rewrite LE to use only voxels, but if it takes too long time, then some other engine will take the lead. ATI has already quite impressive videos about real-time voxel raytracing, so it's not something which is not possible today. I've been saying since 1980 (when I saw the mountain flying game on C64) that voxel engines are better, but people still kept developing polygon engines.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

good to hear Josh, i can't decide whether to use c++ or BMax for my LE projects.I would prefer to use c# but i was not happy with the wrapper. I would like the wrapper to be open source to the community ( hint, hint ).

 

nevermind, i just found the C# SVN....

AMD Phenom II X6 Black Edition, 8GB, 120 GB SSD, 2TB HDD, nVidia GTX 570 1.2GB, Win 7 x64

Intel Core i5, 4GB, 120GB SSD, NVidia 360M 1GB, Win 7 x64

Link to comment
Share on other sites

Guest Red Ocktober

ya know... i'll bet that there are a lot of things that were 'never heard of', also by a lot of people... now, just because you never heard of something, does that make it less relevant... or does that make you less informed...

 

the absurdity of this sorta arguement cannot be overstated...

 

the so called 'facts' presented by those who support this school of 'thought' are without substance... and, if i were to follow their unique brand of 'logic', i'd wind up being a proponent supporting an official DarkBASIC wrapper for LW...

 

i encourage the developer, the the same developer who relied on BlitzMAX in order to get this entire Leadwerks thing off the ground in the first place... not to fall victim to this sort of absurdity...

 

i'm not a BlitzMAX fanboy by any means, and i've often criticized it... but to dismiss it as not being relevant here simply because someone's never heard of it... well, i can only regard that as not a being fault in BlitzMAX... but as indication of a level of ignorance on the part of anyone who would take this position...

 

while a move to c++ for the underpinnings of the language might be a sound move from a funding support perspective, don't forget where you came from...

 

a lot of the initial support for Leadwerks was gleaned fromn the BlitzMAX community, and a lot of the current Leadwerks developers and contributors come from that same community...

 

dropping BlitzMAX from the home page as a language to write Leadwerks apps in, especially using the justification of reducing the 'wordiness' is, in my opinion, a mistake... one that will cause LW to loose licensees...

 

 

i recommend you put it back... one more word isn't going to contribute that much to the wordiness... but it might be worth several license sales...

 

many developers... coders as well as art centered types, will find their way to Leadwerks via the Blitz pages...

 

 

--Mike

Link to comment
Share on other sites

My thoughts on this is that C++ is, has always been and will always bee (except pure ASM)

the ground bolt to build on. No 3rd Party things needed, works on all platforms etc etc etc.

 

I would make the engine in C++ and then make an BMax API instead of

having a BMAX engine with a C++ API. Other languages as C# or what the

community is interested in doing can still be done as before, by the community.

 

So my 2 cents for a C++ engine with a Bmax API. No one loses anything and the

engine won't be dependent on BMax developer team.

Roland Strålberg
Website: https://rstralberg.com

Link to comment
Share on other sites

keep in mind though that BMax is pure asm after the project is built. It uses flat assembler to compile the final .exe, library etc. I wrote my own compiled basic language using fAsm and it is a clean, fast way to do it. I guess what i am saying is alot of "compiled" languages like c++, BMax etc. all end up as assembly code. The advantage to c or c++ is tighter asm code from years of refinement. But most things can only be done one way in cpu land.

 

Compiled blitz code example at asm level

    mov eax,5
    mov [var],eax

Compiled c++ example at asm level

    mov eax,5
    mov [var],eax

that may not be correct syntax as i am a little rusty at asm, but you get the point :P

AMD Phenom II X6 Black Edition, 8GB, 120 GB SSD, 2TB HDD, nVidia GTX 570 1.2GB, Win 7 x64

Intel Core i5, 4GB, 120GB SSD, NVidia 360M 1GB, Win 7 x64

Link to comment
Share on other sites

keep in mind though that BMax is pure asm after the project is built. It uses flat assembler to compile the final .exe, library etc. I wrote my own compiled basic language using fAsm and it is a clean, fast way to do it. I guess what i am saying is alot of "compiled" languages like c++, BMax etc. all end up as assembly code. The advantage to c or c++ is tighter asm code from years of refinement. But most things can only be done one way in cpu land.

 

Compiled blitz code example at asm level

    mov eax,5
    mov [var],eax

Compiled c++ example at asm level

    mov eax,5
    mov [var],eax

that may not be correct syntax as i am a little rusty at asm, but you get the point :P

 

Yes. That might be true, but you missed my point.

I don't dispute the BMax language, the point was to minimize the dependency on

3rd party software as BMax and its modules are.

 

I'm sure BMax is a great language but still it makes the engine dependent

on the BMax developers when thats not needed. If the engine was written in C++

and then had a BMax API that dependency would be gone. BMax user would still have

an engine API

Roland Strålberg
Website: https://rstralberg.com

Link to comment
Share on other sites

Guest Red Ocktober

i gotta ask several questions...

 

1- can't BlitzMAX also be used to create dll's... if so, Roland's point looses it's validity in light of Seven's argument above...

 

2- if say Leadwerks is written as a dll... it would also have to be compiled as the respective macintosh equivilent to provide the cross platform compatibility that exists now... right... i mean, currently, Leadwerks is completely cross platform, and, in theory, it could be compiled in BlitzMAX on a mac or in linux, and be off and running... right?

 

3- again, say Leadwerks was written in c++... we would have to wait for Leadwerks to be totally rewritten in c++... time wasted... time that could be put to better use... yes, no...

 

 

i'd have to say... i'm more inclined to go along with the point Seven makes... that regardless of whether it's written in c++ or BlitzMAX... the final results won't be that much different...

 

yes... no... ?

 

--Mike

Link to comment
Share on other sites

..by upcoming bmax2 , what will have ability to run on pretty much everything out there (cant wait to get it and do my PS3 stuff for PS3, not just PC), LE should have more simple path to go anywhere i think...but again, everybody is free to use whatever suits her/his needs..im just a bit sad that Bmax is dropped from list of supported languages on main page..cant see why, because its one nice and elegant beast..seriously..

  • Upvote 1

 

Link to comment
Share on other sites

The problem is the AAA game industry has put all their chips on C++ and so it becomes the "standard". Any other language (not just BMax) will have a hard time breaking into "mainstream" for games, or anything else for that matter. The fact that BMax2 will run on anything won't really matter much. Linux is a pretty good example of this. Linux runs everything from wrist watches to massive servers, yet it sits back seat to other OS's. If it does it all and can run on anything why would that be?

 

Maybe if BMax had more promotion it could take off?

 

 

i'd have to say... i'm more inclined to go along with the point Seven makes... that regardless of whether it's written in c++ or BlitzMAX... the final results won't be that much different...

 

 

Agreed that at a functional level it would be the same as it is for us. I think Josh mentioned something about these other hardware devices that he's aiming for use C++ and so if the engine was in C++ it would be "easier" for him to get LE working on a wider array of hardware since C++ is a very standard and popular language. Sounds like BMax 2 will be able to run on a wide array of hardware also, but it doesn't seem to be complete, so putting eggs into that basket wouldn't be wise. All that and I think investors are probably saying what is BMax? Which may suck but it's reality, and money makes the world go round sadly. :P

Link to comment
Share on other sites

I'm in no position of influence what is going to be done with LE in the future.

I was just giving my personal opinion and thats an opinion coming from a C++ developer.

I might be wise or not. In fact I don't care what Josh use to get the thing going

as long as it does and I can use it from C++. But if someone ask me I would prefer

the C++ solution.

 

I bought BMax and Blide to get started with that, but after a while i found that

although it works perfectly I made better results with C++. Why? Not because there

is something wrong with BMax. The reason is that I'm used to C++ since dirt was invented

and makes things faster in C++. So I guess its a question of ones personal background.

 

And I still think using C++ makes the engine less dependent on non-Leadwerks resources.

But that could be said about using OpenGL also, so in the end its up to what Josh find

best to work with.

 

I can live with any solution as long as the engine is good and has a C++ API.

 

Maybe if BMax had more promotion it could take off?

 

The question is if it should be Leadwerks task to promote it.

As all knows I vote for a C++ engine with Bmax API supported.

C# and other language API by the community as before

Roland Strålberg
Website: https://rstralberg.com

Link to comment
Share on other sites

BlitzMax runs only on 4 platforms, while C++ runs on all. That's a quite big difference of over 10 platforms. So you can make a DLL with C++, which can be used by BlitzMax on whatever platform BlitzMax happens to run, even the new BlitzMax2 can probably load a DLL, so LE would run on much more platforms with BlitzMax2 than with BlitzMax.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Guest Red Ocktober
BlitzMax runs only on 4 platforms,

leadwerks only runs on one... at least to date... so that argument for c++ is moot...

 

 

So you can make a DLL with C++, which can be used by BlitzMax on whatever platform BlitzMax happens to run,

and in what context would you use this dll in the world of the macintosh... again, since Leadwerks hasn't been compiled on OSX yet, the only valid point to be extrapolated is that it is already available on OSX by just compiling the Leadwerks.mod the way miniB3d was done... dlls are primarily for win32... no cross platform there...

 

even the new BlitzMax2 can probably load a DLL,

wishfull thinking... lets hope that will in fact be the case...

 

(a red light keeps blinking in the back of my head though... me thinks that dlls are on their way out... something to do with html5 tech and 3d... i don't have a clear picture yet, but i keep getting the feeling that bmax2 will have very little to do with dlls... i may be totally wrong on this...)

 

 

sorry mika... i'm just playing the devil's advocate here while i try and implement this code for my GameObjects to work in the old LW 2.26 Sandbox... without the trappings of the lua virus... :)

 

ya see... all this speculation is fine and good... but like the guy in the J.G. Wentworth commercials says... i want it now!

 

we went through 9 months of lua integration in order to make LW easier for art centric types... we could've done the same thing a lot quicker by providing the coders here with a solid api and a set of guidlines for creating Sandbox friendly objects...

 

then, coders and artists alike would've already had Leadwerks developed games selling... coders would've provided objects for artists, just like artist are now providing content for coders... one hand washing the other... the ying and the yang...

 

but no... here 'we' are today trying to make LW into a click and play development system... i just don't see it working...

 

plus...

 

the logisitcs of being everything to everyone is gonna windup becoming an overwhelming burden to a small shop like LW... the path that is being taken now is making me very nervous... i'm still hangin' in there... but i dunno...

 

i see BMax fading in importance when not too long ago i was told that it would be the key to crossplatform LW development... who knows what's next... :P

 

and now 'we're emabarking on rewriting the entire Leadwerks 'engine' in c++... boy we must be getting big bucks from somewhere to entice us to do this... cause, in spite of all the arguments for it, i still don't see any pressing reason for doing this...

 

 

 

--Mike

Link to comment
Share on other sites

I was not talking about LE 2.32, but about a possible future LE version, which is coded in C++. And the trend is to use more and more dlls, since then you can make decent modular plugin systems. DLL means not the windows DLL, but dynamic link library, which has its different names on different OS.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

@Mike, yes BMax can build .dll's but you need BLide to do it. Well you don't have to have BLide, it can be done from command line too. BLide just has the UI to make it simpler although i have never personally built one for BMax.

 

I certainly think that it is NOT the responsibility of LE to promote BMax. As long as there is a LE .dll to link to any language can use it. I also understand that coding the engine in c++ opens up alot of doors because of all the available libraries, which make interfacing hardware, etc. faster and simple. All of those things could probably be coded with BMax, but why spend the time to reinvent the wheel. Recoding the engine in c does seem like a big time investment, but i don't think it would really be that time consuming. alot of code transfers to c++ easily by just using find/replace and adding the semicolons.

 

@Roland, good point. and, LUA scripting does make the engine almost truly a stand alone tool. although i still have mixed feelings using it lol.

AMD Phenom II X6 Black Edition, 8GB, 120 GB SSD, 2TB HDD, nVidia GTX 570 1.2GB, Win 7 x64

Intel Core i5, 4GB, 120GB SSD, NVidia 360M 1GB, Win 7 x64

Link to comment
Share on other sites

Guest Red Ocktober

@ Lum...

DLL means not the windows DLL, but dynamic link library, which has its different names on different OS.

i think most of us kinda sorta know that Lum... i just wanted to make it clear that a blitzmax app will run on all supported platforms... a dynamic lib (.dll or .a) won't...

 

@ Seven...

thx for the info Sev...

 

@ Roland...

yes... good point Rol... i'll go even one step further and say that lua actually make Leadwerks (in the editor) a true game engine... you should be able to assemble and play an entire game in the Editor...

 

 

--Mike

Link to comment
Share on other sites

i think most of us kinda sorta know that Lum... i just wanted to make it clear that a blitzmax app will run on all supported platforms... a dynamic lib (.dll or .a) won't...

That still makes no sense :)

A BlitzMax app is a .exe on windows, and a .(nothing) on Linux and Mac. It's the same for dll's which are .dll on windows, .so on Linux and .DyLib on Mac. So exe or dll makes no difference, it needs to be compiled on the OS on which it should run anyway. Unless you mean with BlitzMax app a BlitzMax source code, then it will run on 4 platforms (wintel, mintel, mppc, lintel), while a C++ source code will run on 18 platforms :)

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Guest Red Ocktober

ok... maybe i should've said a blitzmax app as source code...

 

just load it into BlitzMAX on windows, a Macintosh, or Linux... and click the run button...

 

 

sorry... that's what i meant...

 

while a C++ source code will run on 18 platforms
is that right... show me Leadwerks running on all 18 platforms...

 

oh... i'm sorry... we don't have any LW c++ source... we do have BlitzMax source (or at least some of us do), and that'll compile and run on OSX, Win32, Linux...

 

and even if you had LW c++ source... i doubt if it'd run on all of your 18 platforms anyways... (btw, which 18 are you referring to)...

 

that's the point i'm trying to get across to you... BlitzMAX by it's very nature is cross platform... just as c++ is... the difference is that we already have 2 years of BlitzMAX code we can use NOW... and maybe 2 minutes worth of usable c++ code...

 

which sceneario sounds most promising...

 

 

--Mike

Link to comment
Share on other sites

If BMX2 were BMX1 with more platform support and fewer libraries, I would be 100% in favor of it. In my opinion, BlitzMax should just be C++ without all the ****. However, to convert to all those different languages, it will have to be seriously crippled.

 

This is from Mark's blog:

Also, bmx1 is certainly not going away anytime soon, so I can see it remaining the preferred tool for 'low level' stuff where you need direct-ish access to platform specific APIs etc. Bmx2 (or whatever) will be a much more abstract, higher level system.

This indicates to me it won't be able to do basic things like access OpenGL and DirectX directly. Everything will be run through their high-level commands, so the net result is you have a language that can just draw 2D shapes on every platform.

 

He also says in the same blog function overloading won't be added to BMX1.

 

As far as version 3.0, the majority of the C++ code probably won't even be written by me. I can do the job of 2-3 programmers sometimes, but that's my limit! I'll be spending most of my time designing the specifications of how it should work, handling some of the tricky parts, and writing the editor. Leadwerks is not going to be operating as a one man band much longer.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

You know, one could easily develop a similar language like BlitzMax. I'm making a human language soon, since my Easy language is pretty much ready and done, which is made with C++ preprocessor defines only :), so human will go a step further and have its own preprocessor, so it can support any kind of AI context constructs. It will of course support also loading of DLLs, so it could look like this:

 

tutorial1.hum

I want to use Leadwerks Engine.
Draw a rotating cube on the screen.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...