Win 7 and B3D

Blitz3D Forums/Blitz3D Beginners Area/Win 7 and B3D

CodeOrc(Posted 2010) [#1]
Well my friend got a new PC and it will not run any games I have made with B3D...it says "cannot access the internet"...blah blah Win 7 garbage...etc...

So what is the relevance using B3D anymore? Not trying to sound negative, but I have made 3 games, all but ready to publish, then this hits.

Ideas, thoughts?

btw, I use V 1.98 across the board.

thx :)


stayne(Posted 2010) [#2]
I use Blitz3D on my Win 7 box (not connected to the internet) every day with no issues. Is his box connected to the internet? Are they online games? Not sure what you mean by "what is the relevance using B3D". If it works for you it's relevant. If it doesn't then find another language I suppose?


CodeOrc(Posted 2010) [#3]
@ stayne

I use Win XP Pro, tested these on 5 different Win7 boxes, both connected and not-connected to the Internet. Same problem regardless.

I really like B3D, so moving on is not an option I am willing to consider. B3D for me :)

I guess I will have to wait and hope that a Win7 patch fixes the problem or something.


GaryV(Posted 2010) [#4]
I use V 1.98 across the board.
Why are you using such an old and outdated version?


pc_tek(Posted 2010) [#5]
There are no issues with B3d on Win7. I have tested on numerous installations with no problems at all.

Have you virus-checked your system lately?

I also use V1.98. Just because there are updates available, it doesnt mean we should upgrade. If I remember, people who upgraded to 1.99 downgraded back to 1.98 because of problems 1.99 introduced.


stayne(Posted 2010) [#6]
Found this: http://blitzbasic.com/Community/posts.php?topic=39680#443111

Try updating B3D, maybe that will help.


GaryV(Posted 2010) [#7]
I also use V1.98. Just because there are updates available, it doesnt mean we should upgrade.
But it does mean you should not complain about any problems if you choose to use an extremely old and outdated version.


pc_tek(Posted 2010) [#8]
Programmers stick to what they know and what runs with their add-ons such as Fastimage.

I have never had a problem...nor do I think has 1000's of others who run V1.98 with Windows 7. The problem has to lie with his computer or the way its configured and not Blitz3d.

Lets have a poll on this...the results could be interesting.

http://www.surveymonkey.com/s/P2SJ5HS


SLotman(Posted 2010) [#9]
The problem is with DX7, which is no longer supported by Microsoft, and it's only emulated on newer graphics cards.

Video drivers for Win7-64 bits are showing some problems (because they don't emulate DX7 properly anymore, sometimes even drop some features to speed up DX10-DX11), and it will only get worse as time goes by.

Also, your survey is useless. I use both XP and Vista (for testing purposes), and there's no way to choose both on your poll.

And even if there was that possibility, what do you expect to achieve from that? You don't even ask if people have problems with B3D and their OSs...


PowerPC603(Posted 2010) [#10]
So, in a few years, DX7-based games (like the ones written in Blitz3D) won't run anymore on the newer OS's (like Windows 8 or something)?

That's too bad that they upgrade so fast and leave existing stuff out.
That way, coders like us will need to change to a different language every few years.

I'm designing my own game right now (a 3D RPG), and it will take several years before it will be complete.

So when the game is complete, and I want to sell it, I'll be faced with the problem that none of my buyers can run it? And to fix this, I'll need to re-program my game in another language? (I guess I'll be able to re-use my models/images/textures)
I also guess Blitz3D won't be updated anymore to DX9/10/11.

Microsoft could at least support their own older versions of DX, so older software (games, programs, ...) that depend on older DX-versions can still run.
They don't need to do any effort for this, as they already have the older DX-versions. They only need to include them in the new OS.

Or alot of angry gamers won't upgrade to their new OS.

Let's say the Microsoft only gives support for DX10/11 in Windows 8 (or whatever it will be called in the future).
Then all games (including World of Warcraft, LineAge2, Diablo2, and many great games) won't even start.


GaryV(Posted 2010) [#11]
Lets have a poll on this...the results could be interesting.
The poll doesn't change the facts. If you use an extremely old version of B3D that is outdated and no longer supported by BRL (any bug-fixes are applied to 1.105 not 1.98), then you should NOT fill the forums with complaints about these ancient versions. Trying to justify your behavior doesn't change the facts.

The problem is with DX7, which is no longer supported by Microsoft, and it's only emulated on newer graphics cards.
Amen

So, in a few years, DX7-based games (like the ones written in Blitz3D) won't run anymore on the newer OS's (like Windows 8 or something)?
As it is, they are not supported on Vista or 7. They are forced to run under emulation which is far from perfect and is increasingly not fully supported by graphics card manufacturers.

I'm designing my own game right now (a 3D RPG), and it will take several years before it will be complete.
Why in the world would you be using B3D in this scenario?

I also guess Blitz3D won't be updated anymore to DX9/10/11.
This has been stated numerous times over the many years.

Microsoft could at least support their own older versions of DX
It is not Microsoft's decision as Microsoft does not make hardware, the decision belongs to the manufacturers of the graphics cards, who make current hardware that does not support older versions of DX. Microsoft simply provides a problematic emulation layer to run older versions of DX -based software on modern OSes. It is up to the graphics card manufacturers as to how well they choose to support this emulation layer. With rapid advances in graphics hardware, it is increasingly difficult to support the emulation layer as the hardware is just not designed to work that way.

They don't need to do any effort for this, as they already have the older DX-versions. They only need to include them in the new OS.
You really do not understand what you are talking about. You do not understand the changes in DX over the years and you really do not understand the changes in OSes over the years.

Or alot of angry gamers won't upgrade to their new OS.
Gamers will buy any new OS that comes out, as they like the latest technology. What gamers won't do is buy legacy DX7-based games, none of the cutting edge games are using it and that is what gamers buy. The only people buying legacy DX7 games are the casual gamers. This is literally the only market where you can still get away with using DX7.

Let's say the Microsoft only gives support for DX10/11 in Windows 8 (or whatever it will be called in the future).
Then all games (including World of Warcraft, LineAge2, Diablo2, and many great games) won't even start.
They don't now, they run under emulation and some of the older stuff has to run in compatibility mode. Since Windows 7 introduced XP Mode, it is a good bet that 8 will even further break backwards compatibility in the OS (it has to) and will force legacy software to be run via XP mode.

BlitzMax has many wonderful 3D engines available for it that are based on current technology.


SLotman(Posted 2010) [#12]
Well, Direct-X 7 is from 1999-2000, so it's at least 10 years old now. Even on XP you can't run much stuff from DX5, which is from around 1997 - things done on DX7 is more than expected to break in the coming years, specially with the jump to 64bit OSs.

The biggest problem with DX7 is that it uses fixed function pipeline internally - and the gfx cards technology all use shaders (simplified function pipeline); that's why fixed function is only emulated nowadays.

If anyone seriously start a commercial game now, based on DX7, it's probably doomed from start, specially if it will take years to complete.

But you can use other 3D engines (some use opengl, some DX or even both) and still keep B3D as a language. There are several wrappers around.


Matty(Posted 2010) [#13]
On a related note:
Something that would be interesting would be if many of these wrappers and alternate engines for b3d such as Xors were wrapped for blitzplus - I'm curious to know if they would work for it.


PowerPC603(Posted 2010) [#14]

BlitzMax has many wonderful 3D engines available for it that are based on current technology.




But you can use other 3D engines (some use opengl, some DX or even both) and still keep B3D as a language. There are several wrappers around.



I have BlitzMax too somewhere (I bought it years ago), but didn't do much with it.
Should I use max instead of B3D? I find it more difficult to use.
When I bought it, alot of documentation you needed to find for yourself in the source-code.

Or is there any good wrapper for B3D, which has almost the same syntax as B3D itself and has all B3D commands built in?

Then perhaps I can change to a new engine, and still keep B3D for programming it.
I'm not that far in my game, so it's best to change now instead of changing when the game is nearly complete.


Why in the world would you be using B3D in this scenario?


I've played RF online and found this game fun, but too difficult past a certain level, if you don't have upgraded armor and weapons.
Now I'm making my own single-player RPG using Blitz3D, as it's easy to code and it's the only language (besides Visual Basic 6) I know (and own).

It will have some ideas from RF online, and a few of LineAge2.
It's like a mixture of both MMORPG's, but for single player. And with a good storyline. With most MMORPG's, you can play fine without even looking at the storyline. It won't be like that in my game.
And it will have some unique ideas, which I have never seen in an MMORPG.
Everything will be custom made, so no images/models/names or anything else will be copied from those games, only a few ideas (as you can't copyright those).


I know there are RPG-makers around, but I don't think they can offer the flexibility I need for my game.
With Blitz3D, I can make it exactly like I need it to be.


ziggy(Posted 2010) [#15]
This could be a plain and simple virtualization issue. Try to run your game as an administrator with UAC off in windows 7 and tell if it works or not. If it works, then the program is not oberving Microsoft directives on file storing/access. Some things that were allowed in XP are not any more in Windows 7. I would look to this direction.


GaryV(Posted 2010) [#16]
With Blitz3D, I can make it exactly like I need it to be.
Except working 100% properly on modern operating systems ;)

There are a couple of engines for BMax that have the B3D style syntax. IMHO, it would be a lot less hassle in the long run using BM and a third-party engine, not to mention more future-proof.


Yasha(Posted 2010) [#17]
Why on Earth would DirectX7 issues cause an error message about accessing the internet? Somehow I doubt that the original problem has anything to do with DX7.

Viruses, I say. Big green ones.

(Or more seriously, Ziggy's answer looked good.)


Warner(Posted 2010) [#18]
Or is there any good wrapper for B3D, which has almost the same syntax as B3D itself and has all B3D commands built in?

I would look into minib3d. Beside that, BMax has an import .bb file option, that automatically translates most of the basic stuff from blitzbasic into blitzmax.


AJ00200(Posted 2010) [#19]
Does anyone think that BRL might offer a free or discounted switch to BlitzMax once Blitz3D stops working, because them not upgrading to a newer version of DX has already been decided.


Kryzon(Posted 2010) [#20]
I have BlitzMax too somewhere (I bought it years ago), but didn't do much with it.
Should I use max instead of B3D? I find it more difficult to use.
When I bought it, alot of documentation you needed to find for yourself in the source-code.

Or is there any good wrapper for B3D, which has almost the same syntax as B3D itself and has all B3D commands built in?


Besides MiniB3D, try SoftPixel Engine by Lukas Hermanns. Download the B3D wrapper.
That wrapper for Blitz3D imitates most of the original command set, and converting that DECLS to your own module for BMax is no sweat.

BMax is also faster than Blitz3D, so 'in my opinion' it should be better for more serious projects.
It's always a tradeoff. When moving from B3D to it, you gain a lot of benefits. On the other side, you lose native DirectShow and DirectPlay support (not that you can't add that later on yourself, that is).


John Blackledge(Posted 2010) [#21]
Ok - let's try SoftPixel.....
Downloaded, decls to userlibs folder, and...

Demo1: Memory access violation
Demo2: Memory access violation
Demo3: Memory access violation
Demo4: Ooh - it runs; black window for a while, then renders a very smple scene at 1 frame every 10 seconds.

So what was the question again -
Oh yes, why do some of us want to stick with good old Blitz3D?

Q.E.D.


Kryzon(Posted 2010) [#22]
Come on John, I think you can notice that I was talking about using SoftPixel with BlitzMax, which doesn't have a native 3D engine.

If you have to use a whole different renderer with Blitz3D just because of compatibility, then you really have a problem and that is not related to SoftPixel or whatever other engine you use with it.

Same thing for Xors3D. Why try to CPR a dead thing like Blitz3D with a capable engine like this?
It makes much more sense to use it with BlitzMax and ensure proper compatibility and all the benefits you get from upgrading to better\improved software (especially since you won't lose the easiness that you had with B3D).


jfk EO-11110(Posted 2010) [#23]
Probably we must face the truth, support for DX7 will get more and more marginal and uncomplete in the future. A DX9 Blitz3D from Blitz Research in not likely to appear. Blitz3D simply was too good, had a too long lifespan. Like a car that drives a milliion miles, but one day it is declared illegal on modern streets. Wrappable Renderer may be a good way to migrate smoothly to DX9 or 10. You won't have to spend too much time in rewriting code and learning things. But with most Engines it will be up to you to write some functions that are emulating the original Blitz Functions. But I think it's doable.

Therefor I would'nt say consider Blitz3D a "dead thing". I have no intension to rewrite all the code I wrote and collected over the years. So as long as its heart is beating every Millisecs() - I won't dig it.

Edit: let me repeat: I would buy a new Blitz3D that is DX9 or 10 based.


John Blackledge(Posted 2010) [#24]
Kryzon,

Sorry...
- all the files were .bb
- all the code calls looked like B3D (no Bmax style commands)
- no explicit mention of Bmax, just BlitzBasic references.

Silly me.


John Blackledge(Posted 2010) [#25]
err... and additionally Lukas entitled the other thread on this site:
'SoftPixel Engine Wrapper 2.0 (only for B3D)'
- so I wonder why I thought it would work with B3D?


Kryzon(Posted 2010) [#26]
You were right to think it was only for Blitz3D, since it actually is. I never said it wasn't.

What I said in my post was to port that wrapper into BMax (becoming something of a more stable MiniB3D, a 3D engine that runs in Max while retaining the original command set of our beloved ancient language, plus advanced extensions). I'm currently getting ahold of all the resources necessary for this, even if it doesn't go beyond a DLL that is accessed by Max.
That wouldn't be so bad. It is exactly what the Xors3D engine is doing right now, with their BMax module: they provide a DLL and the module grabs the functions from it for use in BMax. It doesn't use classes, just integer handle casts (I think the only reason Xors3D does that is so their source is not exposed so much, because they could've also gone with static Imports using CPPs, headers and whatnot).

Edit: let me repeat: I would buy a new Blitz3D that is DX9 or 10 based.
Oh, sure, count me in as well.


jfk EO-11110(Posted 2010) [#27]
Since we're talking about Xors3D: what's the situation there, would you consider this complete enough to wrap the original Blitz3D DX7 Commands?


Cold Storage(Posted 2010) [#28]
If you're using B3D to create product in 2D mode only, then how much life do you think it has left?


Kryzon(Posted 2010) [#29]
Not much (even if it had some, it wouldn't be such a "clever" life). It uses DirectDraw (and that has been deprecated).
While it does what it's supposed to, you won't get hardware acceleration* (which happens in pixel-perfect quad sytems like Max2D), and won't get the blending and manipulation features that come with it (alpha blending, filtered and real-time rotation and scale).

*CORRECTION: actually you will get hardware acceleration, but as previously said, DD has been deprecated. Developers now are instructed to use quads for 2D graphics.
You will only get 2D hardware acceleration from it, as DirectDraw does not support 3D hardware acceleration.


Cold Storage(Posted 2010) [#30]
How much of an 'arse' would it be to convert a B3D to BMax?

Bearing in mind I used API's like BASS and a few other API's that were written specifically for B3D...

I'm aware BMax does some things 'in-house' that need API's in B3D, so I'm sure there'd be some cancellation there.

But in terms of sound manipulation, BASS is pretty good... unless BMax has better commands than B3D for audio?

As I'm developing something 100% 2D in B3D (no sprite blending or anything clever, JUST DrawImage of plain bitmaps) if I'm going to need to make a move to BMax I'd better do it now, before I get too far down the line.

Graphically speaking it's more a GUI type program than a game, so it doesn't need uber-horsepower.

Footnote: If B3D is essentially 'dead' why is it still being sold?


Cold Storage(Posted 2010) [#31]
P.S.

I've downloaded the demo of BMax and taken a look at the syntax.

BLITZ code looks more like C++ every day! ;OP

It's almost as if the whole idea behind Blitz Basic was to capture Basic programmer and convert them to C++ over 2 or 3 decades, LOL!


Kryzon(Posted 2010) [#32]
Ah, but you see, that "closer to C++ syntax" is optional. You can still use the suffix types $,% and #. Integers don't need any type definition or declaration, etc.
But for most formal programmers, these are seen as bad things that take away organization and cleanliness of code. Hence why we have the Strict and SuperStrict modes (which aren't THAT picky either, some think).

Footnote: If B3D is essentially 'dead' why is it still being sold?
Because you can still have sex with a dead body (geez, that was foul!).

Strange metaphors side, it still does what it's supposed to, and many are satisfied with that. But it won't be as compatible as it was a few years ago.

And also, because of the improvement. Mark has stated himself that BlitzMax is better programmed, and faster. Of course, if you don't hold these benefits in high regard, then there's no problem in using Blitz3D. I used it a lot too; it's just that now Max looks like the 'next' step towards improvement. And we always seek the best thing for ourselves (even if that resides with using DirectDraw API in our beloved Blitz3D).


Dark Soul(Posted 2010) [#33]
I like Blitz Basic over Blitzmax mainly for its simplistic syntax and the ease at which a person can get something up and running.

And I feel if Blitz3D is not gonna be updated to DX 9 then BR should have to put up a warning stating Blitz Basic may not run on windows 7 systems with some nvidia cards.

A much better solution would be to upgrade Blitz3d to full DX9 , raise the price a bit to $110.00 for the full package and to us faithful something like $30 or $40 bucks for the patch.

I understand there will be alot of work in the over haul so BR should get paid for the effort plus, would make people start buying Blitz3D again. A product that doesnt sell makes you no money at all, no matter what the price.
Thanks for your time,
Those who are about to Blitz Salute you!


Dreamora(Posted 2010) [#34]
An upgrade to DX9 is a massive undertaking, half the stuff would no longer work, all 2D commands would directly be out as DX7 was the last DX with DirectDraw ...

Also its written clearly on the page that it is DX7.
And the problems affect far less systems than one might assume. never had any and I've been on nvidia exclusively since GeForce 6 days


Dark Soul(Posted 2010) [#35]
yea DX7 is 2D with some 3D thrown in for good measure, but DX9 simulates it by using billboards and other such commands, funny how Purebasic moved to DX9 and is working fine, you can even switch between DX9 and DX7 if your program requires it in PB, and other languages are moving into the DX9 realm. I like Blitz Basic, Been using it for years but if it doesnt move into the DX9 world it's gonna find fewer and fewer fans.


ShadowTurtle(Posted 2010) [#36]
hm.. is here a wine-hq version for windows7/windows8 ? :D
You could put directx2opengl wrapper dlls and wine-hq into the project folder. The program/game must now started with wine-hq as host-application..

Today this is only a dream ... :/


... on windows !

Wine + Linux + Blitz3D works today without problems !!!1111 eins elf

Why do you not use QEMU + Linux + Wine + Blitz3D + Blitz3D Project autostart?
This solution provides a good resource packaging system, too (only game.iso and qemu64.exe are into the project folder)!

So i do make a new version of scream3d. Ok i must more than ever optimize the 3d tool to run on lower hardware but that is the way a shadowturtle mus go ....


by the way I AM NOT ON DRUGS!


Dreamora(Posted 2010) [#37]
funny how pb moved? Come on, PB has close to no commands at all in this release.
all 3d stuff is OGRE, they did not even invest time implementing an own, solid 3D engine and the only part on the 2D end that was ever hardware accelerated in pb is the very restricted, low feature special sprite type.

using pb as reference when it comes to such stuff can only end in a lose


_PJ_(Posted 2010) [#38]
BMax is also faster than Blitz3D


How so? In what sense do you mean faster, and faster at what in particular?


Dark Soul(Posted 2010) [#39]
never said PB had the 3D strength that Blitz basic does, PB does 2D well in 3D and also has a lot more commands than I'm sure your aware of. My point was and still is that almost all languages ,
be it for 2D or 3D are using DX9 as a base.

And I'd like to see Blitz Basic keep up, modernize, make it so we users of what used to be the top of the line basic can laugh at the others once again.

I'm not harshing or ragin against BR or blitz basic, I'm just sayin what a lot of other users are sayin. I want BlitzDX9 and I want it yesterday,or at least before the sun becomes a red giant and my need to program will no longer be an issue,

p.s. I dont use blitzmax and dont intent too anytime soon.,


Yasha(Posted 2010) [#40]
In what sense do you mean faster


Last time I bothered to check, code compiled with BlitzMax ran between five and ten times faster than the equivalent B3D code (control group: C compiled with GCC at O3 optimisation level is about 20 times faster than B3D). Note that this doesn't necessarily apply to miniB3D or any other BlitzMax module if you want to compare 3D functionality, only to the core language features.

I want BlitzDX9


Have you investigated SoftPixel engine? Take a look in the Userlibs forum.


_PJ_(Posted 2010) [#41]
Last time I bothered to check, code compiled with BlitzMax ran between five and ten times faster than the equivalent B3D code (control group: C compiled with GCC at O3 optimisation level is about 20 times faster than B3D). Note that this doesn't necessarily apply to miniB3D or any other BlitzMax module if you want to compare 3D functionality, only to the core language features.

That's interesting. So, basically, there is better optimisation done by the compiler in the way the code is compiled?
5 and ten times or 20 times faster is incredible!
A very definite difference!


Kryzon(Posted 2010) [#42]
Oh, it was indeed better programmed.