Abandoned

BlitzPlus Forums/BlitzPlus Programming/Abandoned

Pipes(Posted 2008) [#1]
Hello,
Is it me or does it seem that Blitz+ has been abandoned for Blitz Max. What's the deal? Am I missing out on something by not purchasing Blitz Max? I already bought B3D and B+. Why is it now necessary to again purchase something else? (Yes.. I know you have to make a living and I don't have a problem with it. The workman is worthy of his hire.) However, don't forget your past customers. Blitz+ seems incomplete and no upgrades seem imminent in the future. What's the deal? Maybe I should have purchased Blitz Max and let Blitz+ die an untimely and unappreciated death.

L8ter
Pipes


Beaker(Posted 2008) [#2]
BlitzPlus isn't abandoned, just complete and no longer evolving.

Are you missing out on something by not having BlitzMax? Yes, quite probably. OOP springs to mind.

Why is it necessary to again purchase something else? It isn't.

How do you think that BlitzPlus is incomplete? I've made quite a few projects using it, and never felt like it was incomplete.


ShadowTurtle(Posted 2008) [#3]
I think he means more additional components like grids, layout panels and so on...


GfK(Posted 2008) [#4]
Am I missing out on something by not purchasing Blitz Max?
Yep, because then you could use wxMax which is far more complete than blitzplus ever was. Plus if you were going to write a game, you have 2D alpha, scaling and rotation and its all easily switchable between DirectX and OpenGL, plus its cross-platform.

I already bought B3D and B+. Why is it now necessary to again purchase something else?
Its called 'progress'.

Do you *need* to forget about Blitzplus and buy Blitzmax? No.

Should you? Probably.


Nate the Great(Posted 2008) [#5]
I have a friend who owns blitz max and it is a very confusing language. I don't see the point in making types so complicated with lists and methods. I prefer B3d although scaling and rotating in real time in 2d is very useful.

Also, What is the difference between the original Blitz Basic and Blitz Plus?


GfK(Posted 2008) [#6]
I have a friend who owns blitz max and it is a very confusing language.
Um... no it isn't.
I don't see the point in making types so complicated with lists and methods.
Don't you see the point of using namespaces in VB/C++/C# either? Its called object-oriented programming and it is immensely useful.


Pineapple(Posted 2008) [#7]
I like Bmax, but I first programmed in B2D and liked b3d and b+ for their similarities. I own Bmax, but I don't appreciate it nearly as much. I hate how things changed so much, and then there isn't a complete guide for users switching to max.

I've also been very discouraged from giving max a chance because of the outright aggrivating fact that I cannot get various things to work, most of them being with building and updating modules.


Nate the Great(Posted 2008) [#8]
@GfK
Well I don't own blitz max so I haven't had a lot of time to figure some things out so I guess I shouldn't be too hard on it. It was kind of an overstatement to say it was "very" confusing, but its not as easy as Blitz Plus or B3d.

p.s. What is object-oriented programing anyway. I never understood what it was exactly.


Sauer(Posted 2008) [#9]
B+ has served my needs very well. There's still a couple of guys here using B2D if I'm not mistaken. Ultimately it comes down to the developer; if you feel like you're missing out, then yeah then Bmax is an option. If not, keep cranking out good stuff with B+ because it is still VERY possible.

I still believe its possible to produce a masterpiece in QBASIC.


Beaker(Posted 2008) [#10]
Bmax is slightly harder to learn, especially if you've never used OOP before. But it's very rewarding, and you gain transferable skills making many other languages make more sense.


Who was John Galt?(Posted 2008) [#11]
Bmax is slightly harder to learn, especially if you've never used OOP before.
OOP in Blitzmax is totally optional, i.e. learning Max doesn't have to be harder because it has OOP.

The reason you have to put hand in pocket again is because the new features of Max required a complete re-write from the ground up, which takes time, and time as they say is money. It's more than B+ with a few bells and whistles.


Pipes(Posted 2008) [#12]
I think Blitz+ is incomplete because there are some controls missing, (i.e. .rtf textbox, frames, spinners, splitters etc. ) that are standard windows controls. One thing that is definitely missing is the ability to use 3D with it. (WinBlitz comes to mind) I assumed, when I bought B+, that a certain amount of developement would occur in the form of updates. However none seem forthcoming and doubtless there will be any if it is of the opinion that B+ is complete. WinBlitz seems more complete than B+.
Before anyone gets the wrong impression... I didn't say I don't like B+. I do like using it and especially B3D. Anything that puts a wrapper between me and the windows api is a goood thing. However B+ is lacking in areas that other "basic" languages provide. That is disappointing to me because I am an avid Blitz user and bought the product in good faith. I've invested alot of time learning this form of basic and lothe the prospect of learning the subtlies of other forms of basic. (i.e. BlitzMax which is an entirely different paradigm) Who's to say if I purchase BlitzMax and invest time and money in that product that it won't be abandoned for the next greatest flavor that is developed.
Exactly why is wxMax far more complete, as stated above,
and why are these thing were not included or upgraded in Blitz+. That is my whole point.


CS_TBL(Posted 2008) [#13]
I don't see the point in making types so complicated with lists and methods.


You don't need to use lists for most stuff, methods are handy tho. Anyway, you're missing the point a bit:

Consider this pseudo B+ app:
--------------
global vars

functions

main eventloop with a waitevent() followed by function calls
--------------

Same stuff in BMaxGUI:

--------------
type bla

field vars

methods

end type

myvar = new bla

main eventloop with a waitevent(), optionally followed by function calls
--------------

Hardly any difference, no? The advantage is that your namespace only consits out of 'myvar', and not the whole rest from the B+ version.


Nate the Great(Posted 2008) [#14]
I get it kind of, but I have to agree with sauer, that it is posible to make some pretty good games in blitz plus. When I was 12, Blitz Basic Just came out, and I attempted to make my own 3d engine for Blitz Basic. Obviously it was a failure, since I was only 12 and I had no Idea how to make a 3d engine, but here is a file I pulled up from a long time ago.



It's not very good, but I was 12 and had no Idea how to make anything look 3d.


Pineapple(Posted 2008) [#15]
Failure? It's pretty good =D

On that topic, what's the best way to draw the quads so that far ones are drawn first and close ones last? I made one, but it had a couple issues.


Nate the Great(Posted 2008) [#16]
My main problem is that it doesn't draw the quadrilaterals in order. Also, do you have any code that fills in a triangle so that it is solid. I couldn't figure out how to do it. :(


Pineapple(Posted 2008) [#17]
That's my main problem, too -.- well, that and stuff behind the camera won't disappear.

And yea, I found it in the code archives and slighly modified it to suit my needs.

Check out this topic where my 3D engine is. It had a few issues, and I abondoned it to work on this but it didn't require much more work before it would support meshes and stuff. You're free to build on the source if you like.

Function Quad(x0,y0,x1,y1,x2,y2,x3,y3,mode=0) ;mode=1 draws twice, slower mode=0 draws once, slow. recommend use 0
Tri(x0,y0,x1,y1,x2,y2)
Tri(x0,y0,x2,y2,x3,y3)
If mode=1
	Tri(x2,y2,x0,y0,x1,y1)
	Tri(x1,y1,x3,y3,x2,y2)
EndIf
End Function

Function Tri(x0,y0,x1,y1,x2,y2)
	xval(0)=x0
	yval(0)=y0
	xval(1)=x1
	yval(1)=y1
	xval(2)=x2
	yval(2)=y2
	FastPoly(3)
End Function

Function FastPoly(vcount)

	RGBColor = ColorBlue() Or (ColorGreen() Shl 8) Or (ColorRed() Shl 16) Or ($ff000000)

	; get clipping region
	width=GraphicsWidth()
	height=GraphicsHeight()
	
	; find top verticy
	b=vcount-1
	y=yval(0)
	While c<>b
		c=c+1
		yy=yval(c)
		If yy<y y=yy d=c
	Wend
	c=d 
	t=c

	; draw top to bottom
	While y<height
		
		; get left gradient
		If y=yval(c)
			While y=yval(c)
				x0=xval(c) Shl 16
				c=c+1
				If c>b c=a
				If c=t Goto Finish
				If y>yval(c) Goto Finish
			Wend
			h=yval(c)-y
			g0=((xval(c) Shl 16)-x0)/h
		EndIf

		; get right gradient
		If y=yval(d)
			While y=yval(d)
				x1=xval(d) Shl 16
				d=d-1
				If d<a d=b
				If y>yval(d) Goto Finish
			Wend
			h=yval(d)-y
			g1=((xval(d) Shl 16)-x1)/h
		EndIf

		; calc horizontal span
		x=x1 Sar 16
		w=((x0 Sar 16)-x)+1

		; draw down to next vert
		If (w > 0) And (y > -1) And (x < width) And ((x+w) > 0)
	
			;crop left
			If x < 0 
				w=w+x
				x=0		
			EndIf
			
			;crop right
			If (x+w) > width
				w=width-x
			EndIf	
			
			; Draw scanline.
			For Lx = x To (x+w)
				WritePixelFast Lx, y, RGBColor
			Next
			
		EndIf
		
		; next	
		x0=x0+g0
		x1=x1+g1
		y=y+1
		
	Wend

	.Finish
	
End Function



Nate the Great(Posted 2008) [#18]
Thanks. I don't have any use for it now because I have blitz 3d, but I would have a few years ago. Mabe I'll start that 3d engine project again.


Pineapple(Posted 2008) [#19]
I made it with the intention of B+ gaining some sort of a 3D engine... ah well.


Zeachco(Posted 2008) [#20]
I personnaly do not know C++ very well but as we can include DLL I guess we can also use an external 3D engine that would be faster and that can deadl with OpenGL 2.0 and DX10... I tried also to make a simple 3D render from 2D geometrical function we have in B3D (If you ask why... i was running it on linux with wine and had some issue with DirectX 3D draw and my own desktop render)

I failed to...
-make camera perspective
-running fast enough to have complex polygone
-I was only handling ".x" file type >.< (as its the only one we can learn just by watchin the file how they save it)

that was 3 years ago (while I am writing this I looking to find back them hehe) and I never tried again to continue as they always provide new library for B3D (that we surely can transfer to B+ also) such as stencil shadow engine... physic engine (I LOVE THESE ONES)... and... well i do not have more at the moment but just in these 2 categories there is a lot of libray choice... Just have to work hard to find one that is free for shadows.


Seldon(Posted 2008) [#21]
I agree BlitMax is far better than B+ in any field. Anyway I think B+ can still be used to make good applications (you can use external DLLs if you know other languages) and it's a pity because as other users said it just needs few features to make it even greater:

- more standard Windows controls
- ability to use symbol fonts
- ability to load media files (images, sounds, etc...) from EXE's resources

I think the Blitz basic team should think about the possibility to license the development of B+ to some external teams if they haven't the time.


deps(Posted 2008) [#22]
I doubt B+ and B3D will receive more updates.
Maybe the occasional one to make sure it works on future Vista updates, and for whatever comes after it. But don't count on it.
I consider them dead languages. They won't evolve any more. They will most likely never get any new features. The reason BRL still sells them is because people still buys them.


If somebody doesn't want to leave B+ or B3D then that's fine. Use the tool you like the most. The important thing is that you have fun using them. You should consider migrating over to BMax, or any other gamedev tool you fancy, once the fun stops.


Sauer(Posted 2008) [#23]
^ A very good analysis.


andy_mc(Posted 2008) [#24]
BlitzPlus still has it's uses, you can still write very good 2D games using it, and there are some 3D engines that will work with it. it's also a great tool for writing development tools in, such as tile map editors, sprite editors, or scripting editors.
There's a team on youtube who are writing an RPG game and their map editor is entirely written in BlitzPlus for the simple reason that it was much quicker to write than using C++. http://www.youtube.com/gyrovorbis

I have a growin amount of subscribers on my Blitz programming for beginners series on youtube, alot of whom work in BlitzPlus.

You also have to remember that you should only change language when you not able to write your game in the language you're using.


Sauer(Posted 2008) [#25]
Yeah I just hope BRL doesn't do away with B+ entirely, because I'm sure once they stop 'supporting' it there will be more issues for those who still use it.

But I'm sure that day will arrive soon. :(


Dabhand(Posted 2008) [#26]
Not going to give to much away at this time, but I'm working on a pet project (When not grappling with 3D modelling) that should allow 2D creation in any language that can access unmanaged DLL's (Blitz+/Blitz3D being two) using DirectX 9!

Currently, these are implemented:-

DX9_Graphics3D
DX9_Cls
DX9_Flip
DX9_SetClsColor
DX9_StartImageDrawing
DX9_EndImageDrawing
DX9_LoadImage
DX9_LoadMaskedImage
DX9_CreateImage
DX9_DrawImage
DX9_SetAlpha
DX9_SetScale
DX9_SetRotationPoint
DX9_SetRotation
DX9_DegreeToRadian

I just now need to work on a few other odds and sods, so watch this space Blitz+ users.... You may be able to get life out of the old girl yet! ;)

Dabz


Sauer(Posted 2008) [#27]
Sounds cool Dabz, thanks and we'll be looking forward to it.


Dabhand(Posted 2008) [#28]
Expanded the list somewhat:-

DX9_Graphics3D
DX9_Cls
DX9_Flip
DX9_SetClsColor
DX9_StartImageDrawing
DX9_EndImageDrawing
DX9_LoadImage
DX9_LoadMaskedImage
DX9_CreateImage
DX9_DrawImage
DX9_SetAlpha
DX9_SetScale
DX9_SetRotationPoint
DX9_SetRotation
DX9_DegreeToRadian
DX9_End
DX9_DrawImageFromOrigin
DX9_LoadAnimImage
DX9_LoadMaskedAnimImage
DX9_DrawAnimImage
DX9_ReleaseImage

Its coming along! :)

I'm looking to match BlitzMax's capablititys regarding graphics, but the difference being DirectX9 will allow super doper frame rates too, and will unshackle Blitz+/3D users from DX7.

When this is over, and I'm pretty happy with it, I plan a DirectX10 pet jobbie lib... You could probably call this one a 'practice' session! :P hehehe

Next up, render targets! Oh er! ;)

Dabz


MGE(Posted 2008) [#29]
Hi Dabz! That sounds cool. Bmax already has a DX9 render pipeline working fine. (I'm using it in my game engine.) But the DX10 stuff would be soooo sweet. So...consider a Bmax version as well. :)


Dabhand(Posted 2008) [#30]

Hi Dabz! That sounds cool. Bmax already has a DX9 render pipeline working fine. (I'm using it in my game engine.) But the DX10 stuff would be soooo sweet. So...consider a Bmax version as well. :)



Yeah, I noticed that BlitzMax had it 'eventually' sorted, but if I make my own DX9 lib, I can use it in really any language I want in the future.

I reckon Blitz+ users can probably expect to up the frame rates by at least 250 more using my lib, on a intel GMA.

Not to be sniffed at really! ;)

Dabz


Dabhand(Posted 2008) [#31]
*cough*

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

Dabz