Who is still programming 2D only with BlitzPlus

Blitz3D Forums/Blitz3D Beginners Area/Who is still programming 2D only with BlitzPlus

DNielsen(Posted 2004) [#1]
@all
with the launch of BMAX, I am curious to know if I am the only one left behind programming 2D specific games using BlitzPlus superior 2D commands compared to the 2D commands in B3D?


RiK(Posted 2004) [#2]
for the meantime I will continue using B+ for apps requiring a GUI, but I'm sure that some of the excellent user GUIs will appear for Max very soon and I will very likely swith totally to Max then.


sswift(Posted 2004) [#3]
I'm using Blitzplus. Blitzplus is great for 2D games.

If I finish the current 2D game I'm working on, and it sells well, I may port it to BlitzMax so I can sell it on Mac and Linux, but I'll probably keep the PC version in BlitzPlus because Blitzplus has lower system requirements than Max.


big10p(Posted 2004) [#4]
I'm currently doing a little 2D game. I got hacked off with the difficulties of art workflow (or lack of) in the 3D game I was doing.

I'm using the 2D command set of B3D, though. I don't have Blitz+. So, what am I missing out on, then?

sswift: I don't suppose you want to let on what your 2D game is about? I have a horrible feeling you may have hit on the same idea as me. Not very likely, I know, but knowing my luck lately...


Clyde(Posted 2004) [#5]
I love 2D and retro, so I will always be doing some work with Blitz Basic.


Steve Elliott(Posted 2004) [#6]
Blitz Plus is not as good for GUI stuff as it should be - but is great for 2d games because it's 2d routines are faster than Blitz 3d.


big10p(Posted 2004) [#7]
Really? That's odd. Are they significantly faster, or just a bit?


Ross C(Posted 2004) [#8]
I say some of the features are faster. Drawimage, the rect commands, oval and line are slower in blitzplus.


Steve Elliott(Posted 2004) [#9]
The pixel plotting functions are definitely faster and Blitz Plus has been optimized for 2d only.

It also seems to have a few functions that improve performance - like setting the graphics driver to 1 and using the dynamic setting (2) when loading graphics.

eg)

SetGfxDriver 1 ; set mode & driver
Graphics GFX_WIDTH,GFX_HEIGHT,0,1

Global graphics_handle=LoadImage "<graphics file>",2)


sswift(Posted 2004) [#10]
"I'm using the 2D command set of B3D, though. I don't have Blitz+. So, what am I missing out on, then?"


BlitzPlus much faster at actually manipulating individual pixels.

My sprite system will render 50 masked spheres moving around at 500fps in both Blitz3D and BlitzPlus. That's when using the standard image commands.

But as soon as I turn on alpha blending, which my system does by reading and writing pixels from the image buffers, the framerate for that same scene drops to 14fps in Blitz3D, and triple buffering has no effect on the speed.

But if I enable alpha in Blitzplus, I will get 65fps with that scene with triple buffering enabled, and 90fps without it.

Btw, triple buffering means I read and write to an image, and then blit that image to the backbuffer. It is slower with scenes with not much blending going on, as in the above example where only the edges of the spheres are actually transparent, but in Blitzplus gives you huge speed gains when lots of transparent stuff is flying around.

Also, Blitzplus has special pixel commands which you can use to get around a 20% speed boost, but to use those commands you have to write seperate blitting functions for 24bit and 16bit video modes.


"I don't suppose you want to let on what your 2D game is about? I have a horrible feeling you may have hit on the same idea as me. Not very likely, I know, but knowing my luck lately..."

Hehe... Well if you want to email me what your're working on, I will tell you what I am working on, but even if it's the same thing, there is plenty of room in the shareware market for similar games, so I wouldn't worry about it. :-)


Oh, and more importantly than the fact that the 2D functions are faster, in Blitzplus I can capture it when the user clicks the X to close the window, and I can allow the window to maximize with a black border around the gameplay area. The reason I want to capture the X click, is so that I can pop up a nag screen before the user exits the game, and I want to support both windowed and fullscreen modes.


big10p(Posted 2004) [#11]
Thanks for the info. I thought B3D's 2D commands were pretty fast, tbh - well, fast enough for my game's needs. Things like line and oval seem a bit on the sluggish side, though, and all the pixel manipulation commands, too. For that reason, I hadn't even considered trying to do my own blending routines.


WolRon(Posted 2004) [#12]
BlitzPlus also creates a smaller executable since it doesn't have to include any 3D routines.


scooter43(Posted 2004) [#13]
I'm still developing in B+. I'm ready to port my code to Max, but I don't want to put my development on hold till Max is realeased.
sswift makes a good point, B+ requirements are lower. What version of DirectX does Max require?


scooter43(Posted 2004) [#14]
I mean will it require... Mark?


cermit(Posted 2004) [#15]
Doesn't BlitzMax use OpenGL? On this page it seems so, DirectX icons can be seen with Blitz3D and BlitzPlus but BlitzMax has OpenGL. (oh yes, forgot that B+ also uses OpenGL)

http://www.blitzbasic.com/Products/_index_.php


DNielsen(Posted 2004) [#16]
All who uses BlitzPlus, please look at my thread concerning DrawMovie() in "that" (BlitzPlus) part of the forum. I need help, and wish the old forum structure was still there. It seems like the entire "BlitzPlus" only forum has gone DEAD ...