Coding itch again, should I use Bmax ?

BlitzMax Forums/BlitzMax Programming/Coding itch again, should I use Bmax ?

RifRaf(Posted 2013) [#1]
Interested in making a small 3d game project that if I finish would set out there as freeware..

Is Bmax still a good option for windows 8? Any reason not to use it with say mini b3d ?


Chapman7(Posted 2013) [#2]
I started to make a game with minib3d. Its a very nice compatible 3d engine but it's lacking features (particularly its ability to support alpha textures). I had to switch to using masking but it doesn't quite make the models look how they are supposed to.

I am trying to figure out how to get OpenB3D(opensource C++ version of minib3d) working with BMAX since it has quite a lot more features but I can't seem to get it working yet.

If you are fine with using masking, I think minib3d is a pretty nice option.


ImaginaryHuman(Posted 2013) [#3]
Tried Unity?


Chapman7(Posted 2013) [#4]
Tried Unity?


traitor.


ImaginaryHuman(Posted 2013) [#5]
On the contrary, I think BlitzMax still rocks and is an excellent language/platform... but it is not the best tool for the job in all cases. Unity is very good at 3D and the free version has plenty to offer to build a `freeware` game.... just seems that programming it using a strap-on 3d engine wouldn't be as pleasant an experience.


Hardcoal(Posted 2013) [#6]
he's no traitor! the guy asked a question.
what do you expect people to say.. ye use blitzmax

blitz research should keep on developing blitzmax if they want people to remain here. but this is not going to happen.
they would not contradict monkey..

I dont move to unity because its not made for making apps
only games..


Chapman7(Posted 2013) [#7]
Haha I was just messing. But I agree Hardcoal, I soooo wish that Blitz Research would come back and do a bit more with BlitzMax (THE MAIN THING BEING A 3D ENGINE).

Its such a lovely language and it allows people (especially younger people) with not much programming knowledge, to make apps and games AND people that do have programming knowledge, to make games and apps incredibly fast.

A 3D engine (Max3D) would have been the icing on the cake that is BlitzMax but without it, it's just a glorified BlitzPlus and it is SO frustrating that they have the know-how but not the motivation to complete it.


dynaman(Posted 2013) [#8]
I've been toying with Bmax and minib3d myself (be sure to use the one that has working rotation if you do). The other option is switching over to Panda3D and Python, using Eclipse as an editor brings all the intellisense goodness that I love and Panda3D has a lot to recommend it.

If Mark would make a proper 3D module for Max I would jump on it, alas he has moved on.


BLaBZ(Posted 2013) [#9]
minib3d is very proper!

I've been using miniB3D for the last 3 years on a large project and its offered a phenomenally stable foundation.

I've added SSAO, FXAA, Shaders and Newton Physics. The "engine" truly rocks if you know how to rock it.

BlitzMax is so much more capable than BlitzPlus.


Chapman7(Posted 2013) [#10]
BLaBZ how do you use Alpha textures on models?


dynaman(Posted 2013) [#11]
> minib3d is very proper!

Old and no longer updated is not proper.


BLaBZ(Posted 2013) [#12]
@Chapman using shaders

In this fragment shader I'm setting the alpha to a specific color, you could just as well make it transparent have another texture(multitexture)

precision mediump float;
uniform sampler2D texture_color;
varying vec3 vertex_light_position;
varying vec3 vertex_normal;
uniform vec3 alphacolor;

	void main(void) {
		float diffuse_value = max(dot(vertex_normal, vertex_light_position), 0.0);
		
		if (texture2D(texture_color, gl_TexCoord[0].st).a < 0.9) {
			vec4 color = texture2D(texture_color, gl_TexCoord[0].st);
			color.r = (1.0 - color.a)* alphacolor.r;
			color.g = (1.0 - color.a)* alphacolor.g;
			color.b = (1.0 - color.a)* alphacolor.b;
			gl_FragColor = color;
		} else {
			gl_FragColor = texture2D(texture_color, gl_TexCoord[0].st)*diffuse_value;
		}		
	}





@dynaman - It's old but most of the deprecated functions still exist in the most recent version of OpenGL. In terms of compatibility it will be awhile before computers aren't able to render minib3d properly.


Really, features just need to be added to make it more modern.

Ideally, all the functions would be updated to OpenGL ES 3.0 with modern features.


Chapman7(Posted 2013) [#13]
Wait... So you are able to actually make it transparent or do you just change the alpha-pixel to a color?

If you make it transparent, what version of minib3d do you use? Because honestly alpha not working in the latest (not the extended, just the regular) was a HUGE drawback for me but if it can work, I would be very very interested


BLaBZ(Posted 2013) [#14]
I'm just turning it into a color, I imagine you could use a similar technique to do some alpha blending


JoshK(Posted 2013) [#15]
If Mark would make a proper 3D module for Max I would jump on it, alas he has moved on.

There is one. It's called Leadwerks 2, it's written in and designed for BlitzMax, and it does everything people are asking for here.


BLaBZ(Posted 2013) [#16]
Out of curiousity, I've already purchased le2 but with the release of le3 any plans to release le2 to the blitzmax community!?


Chapman7(Posted 2013) [#17]
JoshK once LE3 is supported on Linux, I would buy a BMAX wrapper if it was kept up-to-date with LE3 changes. (ontop of buying the engine of course).


Polan(Posted 2013) [#18]
I can't find any info about LE3 and blitzmax. Only some pre-release mention that there will be module for BMax. Is there one?


Chapman7(Posted 2013) [#19]
No Josh thinks that since BRL moved from BlitzMax to Monkey, that it's no longer worth supporting BlitzMax. On the contrary, I think that BlitzMax is quite complete EXCEPT for a cross-platform, feature rich 3d engine. Josh could essentially grab up the market for it here. The only variable is whether or not people are willing to pay $200 for the engine.

I would use minib3d but the soul thing that I can't stand about it is that it doesn't support alpha textures. It's extraordinarily fast and you *can* use shaders. But I can't figure out the alpha z-ordering issue so it's unfortunately not really an option.


Juggernaut(Posted 2013) [#20]


If Mark would make a proper 3D module for Max I would jump on it, alas he has moved on.

There is one. It's called Leadwerks 2, it's written in and designed for BlitzMax, and it does everything people are asking for here.




But Mr. Klint, didn't you stop selling LE 2 few months back ? Or is it still
available for licensing ?


GaryV(Posted 2013) [#21]
Josh could essentially grab up the market for it here.


That would only work if there was a market here, which there isn't.


Polan(Posted 2013) [#22]
Hm.. wasn't LE2 windows-only?


Chapman7(Posted 2013) [#23]
That would only work if there was a market here, which there isn't.


Maybe because there isn't a solid solution for a 3d engine? The forums definitely fell silent after Mark said no-go on Max3D and switched to monkey.

But newcomers (particularly younger people) still need something. As well as those who are coming back because they have a "programming itch"


GaryV(Posted 2013) [#24]
Maybe because there isn't a solid solution for a 3d engine?

There have been plenty, but hardly anybody uses 3D.


The forums definitely fell silent after Mark said no-go on Max3D and switched to monkey.

You are a bit revisionist on the history. Monkey was a few years after the implosion of Max3D.


But newcomers (particularly younger people) still need something. As well as those who are coming back because they have a "programming itch"

Any of the well-established solutions will work fine, for the few wanting 3D. I would recommend Leadwerks 2 or miniB3D.


Chapman7(Posted 2013) [#25]
"Hardly anybody uses 3D." - o.0

"You are a bit revisionist on the history. Monkey was a few years after the implosion of Max3D."

Not sure why you are having to nitpick details. The point I was making was that the user-base fall came with the lack of interest from the devs.

Any of the well-established solutions will work fine, for the few wanting 3D. I would recommend Leadwerks 2 or miniB3D.

As I mentioned in my earlier posts in this thread, minib3d doesn't have many features (particularly alpha support) and Leadwerks isn't cross-platform (especially Leadwerks 2).


UNZ(Posted 2013) [#26]
@3D engine
There are so many engines. Have you ever looked at http://www.blitzbasic.com/Community/posts.php?topic=72893
I dont think mark should invest his time to another engine. I'd be happy if he would invest in BMax though.

@RifRaf
I suggest you try some other systems as well. Take a look at the jMonkeyEngine for example.


GaryV(Posted 2013) [#27]
"Hardly anybody uses 3D." - o.0

Most people have moved to 2D. This is an industry shift, not a BlitxMax shift. It is very hard for indie developers to push 3D games out the door.


Not sure why you are having to nitpick details.

Just correcting your mistake.


The point I was making was that the user-base fall came with the lack of interest from the devs.

The lack of Max3D is 100% because of the users, not Mark. The users asked Mark to stop working on it and release it as open source because they thought they could do a better job. Mark did as they requested. Be careful what you ask for, you just might get it.


As I mentioned in my earlier posts in this thread, minib3d doesn't have many features (particularly alpha support)

Odd, other people have used it for commercial games and have done quite well with it. But as you said, the issue is not with the engine, but that you can't figure it out: "I can't figure out the alpha z-ordering issue."


and Leadwerks isn't cross-platform (especially Leadwerks 2).
At the time LE2 was written, Windows was the only profitable platform. Now, the industry has largely moved to mobile development.

BlitzMax natively supports OpenGL, so there is nothing stopping you from creating the engine of your dreams.


Chapman7(Posted 2013) [#28]
(Deleted)


RifRaf(Posted 2013) [#29]
(be sure to use the one that has working rotation if you do

dynaman, can you point me to that one.. seems there are many minib3d links


dynaman(Posted 2013) [#30]
Here is a link to the discussion about it. Although the discussion is a year old I downloaded from the link pearman posted and it still works.

http://www.blitzbasic.com/Community/posts.php?topic=66672

You will have to compile the module to get it to work, instructions for that are floating around as well.


Chapman7(Posted 2013) [#31]
I thought the latest MiniB3D used quaternions


dynaman(Posted 2013) [#32]
> I thought the latest MiniB3D used quaternions

The one pointed to at the top of the minib3d thread certainly does not. If there is a newer one it should really be linked to in that thread.


Chapman7(Posted 2013) [#33]
Huh. There is a TQuaternion file but perhaps it's not used


dynaman(Posted 2013) [#34]
Maybe you need to do something special to activate it, but turnentity does not work like the blitz3d version. It always rolls around the global axis and not the local axis. Werner's version rolls around the local axis.


AdamRedwoods(Posted 2013) [#35]
The forums definitely fell silent after Mark said no-go on Max3D and switched to monkey.

yes, blitz3d almost had a successor called Max3D, but Mark couldn't maintain it himself and tried to get the community to take it.... but the community wasn't there. oh well.

miniB3D+Monkey lives on!
http://monkeycoder.co.nz/Community/posts.php?topic=5703

it's working on win,mac,linux,ios,android,win7,xbox,flash, and html5.

slow development but, hey, i'm not getting paid for it. shaders work on it, too.

the soul thing that I can't stand about it is that it doesn't support alpha textures.

if you set one of the "GL_REPLACE" lines to "GL_DECAL" in TMesh.bmx
Select tex_blend
						Case 0 glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE)
						Case 1 glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_REPLACE)

should offer a little bit of alpha texture, but the lighting equation doesn't work on it (always bright).


Chapman7(Posted 2013) [#36]
if you set one of the "GL_REPLACE" lines to "GL_DECAL" in TMesh.bmx


Didn't work. I've done as much as I could, trying to get alpha to work properly


GaryV(Posted 2013) [#37]
yes, blitz3d almost had a successor called Max3D, but Mark couldn't maintain it himself and tried to get the community to take it.... but the community wasn't there. oh well.


The community badgered Mark and told him he wasn't doing a good enough job. The community begged Mark to release it as open source because they thought they could do a better job. Mark gave in and gave the community exactly what they asked for. None of the people running their mouths followed through on their promises and Max3D died.


Chapman7(Posted 2013) [#38]
Just because some people were antsy and wanted to get their hands on whatever Mark had, doesn't mean the "community" badgered or begged him.

And besides, it was a joint decision to release Max3D to open source. Mark in his own words was having a harder and harder time making the engine as well as having a hard time finding time to do so.