Blitz3D almost unusable on Windows7

Blitz3D Forums/Blitz3D Programming/Blitz3D almost unusable on Windows7

Vorderman(Posted 2011) [#1]
I've just tried running my Stunt Race game on my work PC, which is a 2ghz Xeon with 12gb ram, Win7 64 and a Quadro4000, and not only does the Blitz IDE accept character input at about 1 char per 3 seconds but my game is getting about 20fps with 1 car.

On my ancient WinXP home desktop it gets a solid 60fps with 8 cars. Even my £300 Dell laptop with a mobility Radeon can get about 40fps with 1 car.

There doesn't seem much point even trying to do anything with B3D anymore, as the performance on Windows 7 is laughably bad.

Is there no chance it can be upgraded to DX9 level or something else done about the speed problems on Windows7? It's a fantastic language and would be a shame to see it rendered useless.

I'd happily pay for a DX9 / Windows7 friendly version, even if it had no new features.

Last edited 2011


Rroff(Posted 2011) [#2]
I've never had any problems with Windows 7 other than:

Some useage of native B3D sprites still seems problematic on some Windows 7 setups.

Certain useages of Read/Write pixelfast has performance issues on some (most) setups - around 40x slower directly reading the back/front buffers and some texture buffers than on Windows XP.

If you avoid these potential issues shouldn't be any problems.

EDIT: Just seen its using a Quadro card - the drivers for these are opptimised for workstation useage not gaming and can potentially be lacking proper support for DX7 under Windows 7 you'd need to try on a GeForce card or ATI/AMD Radeon to be sure.

EDIT2: Not the only one who'd happily pay to see B3D updated to DX9/Open AL with the core of the language syntax/functionality remaining intact.

Last edited 2011


Naughty Alien(Posted 2011) [#3]

I'd happily pay for a DX9 / Windows7 friendly version, even if it had no new features.


..well..i guess you know about it but ill repeat it anyway..Xors3D is B3D on steroids and DX9 up..


RifRaf(Posted 2011) [#4]
Naughty,

Xors3D is the only alternative for b3d command list in dx9 as far as I know, its come a long way in the last year and I do recommend it.

//some great points are.
* B3D command list almost entirely converted to work like it does in B3D
* Shader Support
* Quick turn around from the developer in regard to feature requests, and bug reports.

//some things to consider especially if you are converting a project

* Slower than B3D in real time mesh manipulation (addvertex, positionvertex ect) so some single surface libs wont work fast enough in Xors3D.
* Scale seems different.. so velocities gravity and things like that will have to be altered to have the same mechanics as it did in B3D
* Camera Zoom is different so you will have to adjust the zoom to get the same camera perspective.
* Some features require shaders to work at all
* Small user community seems inactive at times, however since the syntax is b3d you can still discuss general coding about your game here and use that information on your Xors3D project.


That's just what I've noticed in my tinkering, I plan to try Xors3D in more depth pretty soon.

Vorderman,
One user here that could fill you in on Xors3D if you had questions I think is MadJack, he has been writing TU2 in Xors3D for some time.

Last edited 2011


JBR(Posted 2011) [#5]
Hi, I'd recommend Xors3D also.

When I got Windows 7 my ZarchMan (B3D) would stall every now and again but after I got the 'directx_Jun2010_redist' it worked perfectly ... so worth a try.

Jim


SLotman(Posted 2011) [#6]
I say Bmax+miniB3D. MiniB3D is free, and it comes with source, so if something doesn't work for you, you can change it to whatever you like!

And even better: it's OpenGL, so it will work on Windows, Linux and Mac!


Vorderman(Posted 2011) [#7]
The main thing I need to be able to do is use Blitz's Tokamak library - my Stunt Race game is entirely dependent upon that. Moving it to a different physics engine would basically mean starting from scratch as the gameplay is entirely tuned to Tokamak running at a certain physics speed.

I've been using XNA for a lot of stuff also, and that's very good, but SRX is 100% linked to Blitz Tokamak.

I'll check out Xors3D - if I can use it with B3D as an addon then perhaps that will work.


Yasha(Posted 2011) [#8]
You should be able to use the library with most things as long as it doesn't interact directly with the Blitz3D engine on a low-level (i.e. hack the entity structures - taking a quick look at the help and .decls, it doesn't look like it does). If you used Xors3D with Blitz3D there would likely be no problem at all since Blitz3D would handle the physics engine in the same way, and it should be easy to interface with miniB3D too.

That said... Tokamak has at least one memory leak (static trimesh scenery). It needs a rewrite itself (especially the B3D wrapper, which is a literal second-wrapper-DLL type mess)!


Vorderman(Posted 2011) [#9]
Well I've tried Xors, but looking through the examples the framerates are very low, even on some very simple stuff, so I'm not convinced its worth the huge amount of time it would take to get SRX working. For anything else I'll probably use XNA instead, but I'd like to finish SRX and that has to be B3D.

I can get SRX up to about 30 fps with 8 cars on my win7 laptop, and I got the framerate up to about the same on my work PC by a)changing to 800x600, b)running fullscreen and c)creating an EXE and setting it to WinXP SP3 compat mode with visual themes etc.. turned off.

Seeing as it gets a solid 60fps on XP I think I'll just go with it - most PCs are probably more powerful than this laptop and even at 30fps its still pretty playable. I can always add extra options to drop out the scenery etc.. to try and get more FPS, and currently it's loading 8 cars with 4 seperate wheels for each and shadow casting etc.., so a lot can be optimized I think.

Last edited 2011


Charrua(Posted 2011) [#10]
try to deactivate shadows (they are very slow in modest machines, like mine)

basically turn off the second parammeter

xRenderWorld Tween#, Flase

and translate Blitz3D code should be made only prepending all B3D commands with an "x", a task that should be automated... (getting the list of b3d commands and looking for them on the source)

ther are some cases in wich the corresponding xors3d command does not exactly what the do in blitz, but the Team is constantly taking into account the advises of the users.

Juan

Last edited 2011


Mahan(Posted 2011) [#11]

[...]
Win7 64 and a Quadro4000
[...]

Well I've tried Xors, but looking through the examples the framerates are very low, even on some very simple stuff,[...]



My experience with Xors3D is that it is very optimized and fast in most situations.

Even my netbook (Intel 945 integrated "shit" gfx) does very well in most of the Xors3D-demos except where shaders are used but i guess the card simply lacks support for them. "Very well" here ofc. means very well considered how other games etc run on such a limited platform.

I do however have experience from the quadro workstation gfx-cards series, as I had one of those at my previous work computer, and I can seriously say that they do not perform well at game graphics. (someone already mentioned this). Both very low performance and also lots of incompatibilities.


Rroff(Posted 2011) [#12]
Unfortunatly for my uses AFAIK Xors3D doesn't do types like B3D does, and I use some clever manipulation of types to do data handling in realtime that other variable/structures can't handle (unless they use a similiar underlying linked list like B3D).


Vorderman(Posted 2011) [#13]
I tried Xors on my laptop which has win7 and a Radeon HD 4250, and it was giving single figure framerates in some of the sample programs. The Quadro is in my work PC.

The laptop will run Far Cry at max detail at excellent framerates and is quite capable of running my XNA programs at 60fps with multiple rendertargets and passes etc.., so it's not too lacking in power, but Xors was getting for example 3fps in the forest.bb test program, so a lot lower than I expected.


RifRaf(Posted 2011) [#14]

Unfortunatly for my uses AFAIK Xors3D doesn't do types like B3D does


Xors3D is just a 3D engine DLL. Which means you use whatever language you like, Blitzmax , Blitzplus & Blitz3d all work fine.


skidracer(Posted 2011) [#15]
DrawText is a known issue on Win7, make sure you don't use it.


Vorderman(Posted 2011) [#16]
Thanks yeah I've already removed all the debug on-screen text - with that on the fps was about 15 to 10 at best. Even using FastText it was very slow. I'm still using fastImage for some lap counter and HUD stuff, I'll have to check what effect removing that has.


Adam Novagen(Posted 2011) [#17]
Well, I dunno what's going on in YOUR setup, but I've been programming my Blitz3D game IN Windows 7, and tested it on TWO Windows 7 machines (although both are 32-bit; are you running 64-bit?). Neither machine has given any problems, allowing the game to easily run on an old X1300 256MB and a new HD6850 1GB, 60 frames per second at 1280x1024 while rendering over 1,500 flat quads.


Xaron(Posted 2011) [#18]
I don't have major problems with Blitz3D on my Windows 7 64 Bit Quadro Fx 1800 system. The only issues pop up with sprites.

Nevertheless Xors3d gets my recommendation as well. It's really fast, don't know why the heck it's so slow on your system.

Other alternatives:
http://www.leadwerks.com
http://www.nuclearglory.com

minib3d was mentioned but as far as I know some features are still missing like terrains and shadows...


Vorderman(Posted 2011) [#19]
I don't think it's specific to my system - I've now used Blitz3D on 3 Windows 7 PCs - 2 desktops and 1 laptop - and on all of them the performance has been very far below what I expected, and also far below the various WinXP systems I've tested on, especially considering that both Win7 desktops have been fairly powerful.

"60 frames per second at 1280x1024 while rendering over 1,500 flat quads."

Thing is, that doesn't sound like a lot to me, I think you're just lacking the reference point of running on a similar spec WinXP machine - I've been getting 60fps on various WinXP desktops for the past few years with 100k polys or more, and not just flat shaded but with huge textures and postFX, particles etc..


SLotman(Posted 2011) [#20]
Unfortunately, DX7 is emulated on Vista/Seven - so this things can appear, and there's nothing that can be done about it.

And who knows if Windows 8 will even have that emulation...

A DX8 or DX9 port of Blitz3D would solve the issues, but that would be a lot of trouble (specially for the 2D part) and I don't think it will ever be done.

As for XORS3D, it also ran very slow on my system when I tried it some time ago. And not being multi-platform... it's a major drawback nowadays.

So, the best option *for me* was miniB3D. Blitz3D doesn't have shadows either - and I didn't need any built-in terrains so far. And miniB3D has actual some improvements over Blitz3D - like better sorting of alpha meshes (not perfect, but still better).


RifRaf(Posted 2011) [#21]
It will be a very sad thing is Win8 does not emulate DX7 anymore. Xors3D did a good thing by supporting the Blitz3D command set, however I would still pay 200 to 400 USD for a Blitz3D 2.0 that is DX9 or better. I dont even care if it had shader support, or was object oriented and I certainly am not overly worried with cross platform as a hobby coder.

As far as I'm concerned it could be just like BLITZ3D but using dx9 + so that it will remain compatible with the up coming windows platforms.
It's the Blitz3D all in one solution I love so much anyway, run the IDE and code.. thats it, no modules to sync, no complicated system setup to use it, no extra libs needed for sound, input, and so on. Just simple hobby coding at its best imo.


I know the reality is this wont ever happen, but it would be my ideal solution. As it is.. if win8 stops supporting DX7 emulation.. I will probably switch to either Xors3D or Nuclear basic... I would give LE a try but every time I turn around a new version is out with an upgrade cost, and poor people like me cant afford to stay up to date

Last edited 2011


big10p(Posted 2011) [#22]
I think we all just need to accept that Blitz3D will be effectively killed off by a future version of Windows, and move on.


RifRaf(Posted 2011) [#23]
win9 or whatever could be many years off so there's no reason one has to move on just yet if win8 supports is.

Last edited 2011


Yasha(Posted 2011) [#24]
I wish people would give up on this dead pessimism horse.

The real reality is twofold:

1) Microsoft will never drop DX7 as long as more than two games anywhere use it, because Microsoft never drop support for anything unless retaining it involves security risks, or actively damages newer programs. It's their OS's big selling point and the cornerstone of their company philosophy!

2) By the time Windows 9 or Midori or whatever rolls around, the state of hardware will be more than sufficient to run B3D programs entirely in software rendered emulation.

The Wine project has shown that there's no such thing as an impossible situation, against much worse odds (i.e. Blitz3D apps work well on OpenGL over Linux...).

Last edited 2011


big10p(Posted 2011) [#25]
Yes, yes. You can technically still run MSDOS apps on Windows, but it's hardly a viable programming platform anymore.


SLotman(Posted 2011) [#26]
I wish people would give up on this dead pessimism horse.

It's not pessimism, just the actual situation.

On Win7 Blitz3D has problems with some 2D commands, and with Sprites - and there isn't much that can be done about it.

And with the stuff that don't have problems, due to the emulation, the FPS is way slower than Windows XP, which was the last OS with proper DX7 support.

You can still use B3D if it works on your machine, to code something for you. But if you want to sell it, or even give it away for free, be prepared to receive complaints about compatibility and/or poor performance.


xlsior(Posted 2011) [#27]
Microsoft never drop support for anything unless retaining it involves security risks, or actively damages newer programs


Or other hardware limitations -- for example, 16 bit programs no longer work under 64-bit windows.

Anyway, it's in Microsoft's best interest to maintain backwards compatibility: if they break things enough, people either will hold on to the current platform for dear life, or if forced to switch may just as well look at non-Microsoft alternatives... Neither of which is desirable to MS.


Xaron(Posted 2011) [#28]
I love BB3D by myself because of its power and easy usage. I think there's a need for a new version. So I thought by myself, why not starting something huge by myself? I have fairly knowledge of building compilers and engines so this wouldn't be a matter of how but more a matter of how long it will take.

I'd love to use such a language for my own projects but there are still some questions I'd like to discuss:

1) How important would cross platform be? I mean I'd choose OpenGL for rendering anyway but cross compiling itself can be a pain in the ass. Would it be ok to do Windows only first with the option to add Mac and Linux later? Or would you prefer DX9+ and concentrating on one platform? Any reasons why I should prefer DX over OpenGL?

2) I'd choose the original command set including a simple IDE so that existing code should work without changes. My main concern here is: Am I allowed to create a 1:1 copy of the command set? Of course I won't use anything from the original BB3D stuff!

3) Before doing such a task is there really a demand for this?

Oh and I need a good name for that baby! :)

Thanks for your answers!

Last edited 2011


TeaBoy(Posted 2011) [#29]
Nah, It's gotta be cross-platform, best to keep your options open :) so OpenGL is a must! so why not use BlitzMax to create the next Blitz3D :o) yay!!!

I would love to see an updated version of Blitz3D, I really enjoy coding in Blitz.


Paul "Taiphoz"(Posted 2011) [#30]
dont know if you tried this or not, but install an older version of Direct X, the backward comparability sucks ass, Im running Blitz3D on windows 7 here and not noticed any draw backs to my 3D work, but then I have installed DX8 and 9 on it.

DX 10/11 has most of the functionality of the older dll's but some stuff is missing and I think gets emulated, so try shoving in the older versions, they dont mess with 10+ slide in along side and pick up the slack for the older games.


Xaron(Posted 2011) [#31]
Using BlitzMax to create a BB3D 2.0 sounds a weird idea. :D

I'll definitely give it a try and keep you up to date. Might start a blog or something like this.

I'm still curious about the legal stuff but I think Mark would be fine with that (so just using the same command set).


josk(Posted 2011) [#32]
It would be good if minib3d was updated with more features and supported officially. It could be sold as the 3d add-on for max.

I wonder if enough people would pre-order it to make it worth while it being worked on.


Yasha(Posted 2011) [#33]
Haha, I was daydreaming about a Blitz3D Community Edition just last night. Similar to you, I could write the compiler, but came to the opposite conclusion; that I'd probably achieve more in the field of offending Mark, than making anything anyone wanted.


cross compiling itself can be a pain in the ass.


Not if you use any one of:

- Java Virtual Machine: install base is something like 98% these days, safe enough option
- .NET Framework: the core that you'd need for B3D is rock solid on Mono
- LLVM: more or less intended for use as a cross-platform compiler backend
- C: just pull a Monkey and use an existing cross-platform high-level language as your backend (this is a perfectly legitimate solution; don't reject it just because it looks like cheating - it isn't)

All of these are better than trying to write the backend yourself, because 1) you get cross-platform more or less for free, and 2) no matter how good a programmer you are, you don't have the billions of man-hours of time needed to perfect an optimizer to be as powerful as something like GCC.

I think it's quite important to emphasize that in the modern era, it's actually quite unprofessional to waste time writing a backend that emits machine code directly (unless you're doing it for fun!).


including a simple IDE


If you have to have an IDE, either make a plugin for an existing text editor (e.g. jEdit, Geany), or if you actually do manage to match the command set 1:1, you'd be able to set it as the compiler backend to IDEal or the original IDE anyway!


could be sold as the 3d add-on for max...enough people would pre-order it


... it's already available for free?

I was working on a port of miniB3D to Vala/C99 a while back, actually. If I bothered to finish that it would be (yet another) Blitz3D clone that could be used with any language on any platform. Should get back to it...

Last edited 2011


Vorderman(Posted 2011) [#34]
Come on Mark - give us a DX9 version of Blitz3D and many of us will happily pay for it!!!

We don't want new features or sparkly bits, we just want to be able to carry on using Blitz3D into the future because we love it so much.

Last edited 2011


Yue(Posted 2011) [#35]
Which is not real problem, many of you speak like graphics engine developers and what I have with confidence is that frames silent on the matter.

DirextX7 are native functions that have simply been updated to maximize the computing power. But Microsoft is more profitable to leave and that pulls the eligibility for future versions of Windows.

The updates are simply directX, amending the current functions and leave others.


Xaron(Posted 2011) [#36]
Actually DX9 is already outdated now so OpenGL would be probably the better option. I don't know what will happen with Windows 8, as DX10 comes with Vista and DX11 comes with Windows 7 only...

@Yasha: I'd thought about using lex and yacc as I know both rather good but will take a look at LLVM. Thanks for that! I don't want tor reinvent the wheel so I'd choose that combination of tools to create C code out of the Basic code and compile this with gcc

I think I'll create a small website and keep you up to date with the progress. It was always my dream to create something easy to use like BB3D. I don't want to create another engine but something like an easy to use rapid development package. I know this will take some time but I have a lot of patience and I'm not that young anymore (37) so I know the huge task.

I might differ a bit from the original BB3D as some stuff simply doesn't make sense. The Flip command for instance doesn't make sense in OpenGL...


Yasha(Posted 2011) [#37]
I'd thought about using lex and yacc as I know both rather good but will take a look at LLVM


LLVM's a backend solution, same as the other three I presented above: you output assembly for a simplified virtual machine, and then LLVM assembles it into real machine code for the target CPU and OS combination. You don't need to bother with this if you're going with C code. Lex, YACC etc. shouldn't really be affected by platform as they're totally portable, and are only for the front-end as far as I know, so you'd use them together with it (or not, depends what you want to do).

If you are using C code as your output though, here's a nice thing that will help a LOT: http://bellard.org/tcc/

It's a super-fast, super-small C compiler (under 1MB!). Handles standard C89 and C99. It also allows you to create-and-run in memory without saving an exe file to disk, same as the B3D compiler, so you might find it handy to use this as a built-in backend to replicate the original B3D's very fast compile times and Run button. (However, it doesn't do any optimization, which lets the compiler be very fast at the cost of slower output code.)

If you're a Schemer, I also have a miniature parser framework similar to Spirit, that may interest you (I've been trying to work out if I can port it to BlitzMax, but I don't think it will go).


The Flip command for instance doesn't make sense in OpenGL...


Really? miniB3D has a Flip command - in fact I think it uses the BlitzMax builtin Flip. (I know little or nothing about OpenGL.)

Last edited 2011


Yue(Posted 2011) [#38]
The wheel was invented thousands of years ago, now it only takes a decade Blitz3D and continues to be useful.


TeaBoy(Posted 2011) [#39]
or we could scrap the BB3D 2.0 idea and concentrate on creating loads of extras for Monkey ;o)


Adam Novagen(Posted 2011) [#40]
Back on topic:

Thing is, that doesn't sound like a lot to me, I think you're just lacking the reference point of running on a similar spec WinXP machine

I respectfully BEG to differ. I used that as an example simply because you were referring to problems on Windows 7. I did, in fact, program the better part of this game on Windows XP before upgrading to 7. I have seen nothing but performance INCREASES since. I must say that if there's a severe drop in performance, either there's something strange in your code (not banking on that), or your graphics drivers are dodgy (more likely).


xlsior(Posted 2011) [#41]
Iirc installing dx9 in addition to the preinstalled dx10 can often give a big performance boost in older programs.


Xaron(Posted 2011) [#42]
Hey Yasha, thanks for that! :) I'll definitely check it out!


Dark Soul(Posted 2011) [#43]
Most Blitz Basic users could care less about Multi Platform support. We picked Blitz because it was easy to code in, was way more powerful than any basic at the time we bought it. I myself just want a basic that can do games well, (what most shareware programmers attempt to make), that can support windows 7 so if we try to sell said game, the people with the money to afford new computers can also buy our game if they have any money left after getting that new duel core, or quad. DX 9,10,11 or Open GL, as long as it works on Windows systems, sorry but I have never nor do I to this day desire to make Mac games or games for cell phones. If I wanted to do that, there are plenty of other languages I could use, Blitzmax, Purebasic, GLbasic, I want Blitz basic 2.0, but one that works in Windows 7 the way Blitz works on XP. I have programmed on more languages than I could count, starting with Atari Basic, Action (wrote Midas Maze in it), Mac 65, Stos( Atari ST), 68000 Assembler, GFA basic, Amos (Amiga), C++ both borland and Microsoft, Purebasic, Darkbasic,80386 assembler, ect........ and still the one I'd use the most would be Blitz 2.0 if it ever got made. PC only if it must be. thanks for your time.


Vorderman(Posted 2011) [#44]
i agree, I'm not interesting in programming for a mobile phone or Mac, I just want Blitz3D to be usable on Windows 7 (and beyond).

I've no desire to buy Monkey, I bought BlitzMax when it was released but I've not used it a lot because Blitz3d can do everything I want, but with the Windows7 issues it looks like I will finally have to abandon it, which is a real shame as it could still produce some excellent stuff if only it wasn't tied to DX7.


Xaron(Posted 2011) [#45]
Ok, will start it. :) Windows first as it is the platform I know best. I will use exactly the same command set. Wish me luck, lol.


xlsior(Posted 2011) [#46]
I want Blitz basic 2.0, but one that works in Windows 7 the way Blitz works on XP.


It already exists, and is called BlitzMax.


Xaron(Posted 2011) [#47]
So where exactly is the 3d command set located in BMax, xlsior? ;)


Dark Soul(Posted 2011) [#48]
Blitzmax is not BlitzBasic, I have used both, Blitzmax is a good language, but in my opinion it tries to be too much like C++. I program in Basic because I like its syntax and ease of use. Knocking out games in Blitz basic is a joy. I'm not saying people shouldnt use Blitzmax, but its a different beast. If Blitzmax was the end all to be all then Blitzbasic would have been discontinued. You Maxers can have all the fun you want. We want Blitz basic and thats not gonna change anytime soon. I used Blitz all the way back from the Amiga days. and bought it soon as I got into PC programming. And I liked it for the very reason that it was easy to come up with a gaming idea then try it out quick to see if it made sense. No libraries needed, or mods. thanks for your time.


Yue(Posted 2011) [#49]
I will never be Blitz3D version 2, simply because Mark has a business mind, the goal is to make a single integrated product, but rather provide different options for different users, as such BlitzMax, never bring native command for 3d.

On the other hand, the product philosophy is to guide the user Bltizbasic novel, which is not a programmer to start programming, when suddenly you notice that we can not meet our expectations with a motor (Blitz3D, BlitzMax, Mono) is time to take a step further, changing the motor. BlitzBasic is a security update and possibly a new product out, but not Blitz3D version 2.0.


Dark Soul(Posted 2011) [#50]
Good Luck Xaron, do a good enough job and who knows, Mark might let ya sell it here lol. Call it Ztilb basic, thats blitz backwards. I'd help out, but I gave up Assembly and C++ a while back when i realized my brain likes to look at clear well thought out code, Not spaghetti.

I have done blitters and such in the past, Hell once created a character set Blitter in 6502 assembler for the old Atari 8 bits that used a 3 x 3 block of Characters to smoothly move a 2 x 2 char acrossed the screen , back in the old days when I was working on a Mario clone, (the Atari only had 5 sprites, 4 if you wanted missiles,soooo I made my own Character sprite engine) then the 8 Bit died. Yes I could have used Display list interrupts to clone sprites, but didnt fit the game i was working on.

After that I swore I'd never beat my brain against a wall shoving bits around unless it was in Basic or some similar easy to play with language. For me its all about the program I'm working on, not the code its done in. And now adays Basics are fast enough for what I do. So again, Give us Basic not C.
And yes I Know C, I know Forth, Pascal, and of course Assembler, But none of them has give me the fun I find in Just plain Blitz kicking ass in a game. After all , Look how many games were done in just Plain Blitz Basic. Boggles the mind.

And to Mark, thank you for Blitz Basic, even if you never improve it, I had my moneys worth of fun with it for sure. Thank you for your time sir, you have made programming fun for thousands I'm sure.

Last edited 2011

Last edited 2011

Last edited 2011

Last edited 2011


Yasha(Posted 2011) [#51]
@Xaron:

I was bored so I made a small start for ya. Here's a quick first attempt at defining the Blitz3D grammar:



I make no guarantee that I remembered everything. There are probably several errors. (EDIT: Yeah, caught a few already.)

Some things that could arguably be considered syntax aren't included - "Include" isn't there because it's handled in a separate step (I'd have done it before the parse step, myself); the fact that some expressions have to be constant isn't there (because that's really a semantic issue), and the fact that function parameters need to be ordered (i.e. you can't have an optional parameter, than a non-optional one) is ignored, because it's easier to handle it later (and most grammars ignore this - notably C++ and Python).

The notation isn't EBNF, but it should be clear enough if you do know any proper system or YACC (I can't be bothered to write out the extra operators). I also haven't bothered to define the terminals properly, on the assumption that those are handled in a separate lexer step.

In doing this I discovered Blitz3D actually allows you to do some really odd things in terms of stacking commands onto one line, so the fact that separators aren't defined through most of that is correct - they really are optional ion most places. For some reason the colon doesn't work as a separator in Type definitions though, only newline.

I'm sorely tempted to go the rest of the way (and plugging it into a parser framework wouldn't take long)... but I have work to do (sigh)...


@Dark Soul:

You might have more fun if you try looking at higher-level (erm... "modern") languages instead of extreme low-level stuff like that. e.g. Python, Ruby, Scheme, Java... Low-level languages are a pain to work in.

Last edited 2011


Dark Soul(Posted 2011) [#52]
Once again, I have used almost every language, its not that i cant program without Blitz basic, using Purebasic right now to do a game engine so i can write the games That i had hoped to do in Blitz, Was just hoping My jab at Mark would spark some interest in his finest language ever. but alas, its probably a false hope indeed. So you all can move on to blitzmax and pretend its blitz basic. I too shall move on and pretend its not, and we'll all be happy. thank you for your time. and happy Maxing, and before most of you try and lecture me, i was programmin before you got pubes. so nuff said lol

Last edited 2011

Last edited 2011

Last edited 2011


Naughty Alien(Posted 2011) [#53]

and happy Maxing, and before most of you try and lecture me, i was programmin before you got pubes. so nuff said lol



..i know some very young guys, doing extraordinary good work on tuning up car engines, and work is done way better than many other mechanics who did job while those younger fellas learn how to pee..i believe programming is no exception..just my 2 lil cents :)


Yasha(Posted 2011) [#54]
I have used almost every language


Oh? You've used Haskell? Tcl? Common Lisp? Standard ML? Prolog? Smalltalk? Scala? Clojure?

I'm actually quite offended by the above statement. A wide range of BASICs does not equate to "every language". In fact, knowledge of BASIC wouldn't even help you with any of the above (it would likely slow your progress in some of them), as they are so different from both it and each other.

You're perfectly entitled to like Blitz3D - that's a matter of taste, and anyway, so do I. But don't pretend it's the best language out there, or magically more "structured" than C or whatever (protip: functionally speaking, Blitz3D is just a subset of C; any program in it can be trivially rewritten as a C program using identical logic). There are far more expressive languages out there (and this is something that can be measured objectively), and if you did try them and decide Blitz3D was more logically expressive, it means you were doing it wrong (go and read this, then come back after your mind is blown).


Dark Soul(Posted 2011) [#55]
Offended?? Now that made me laugh. Honestly, you Blitzmax people sure are a funny lot. Anyway, if you seen the end of my Statement I laughed (LoL). I know a lot of young programmers also have the ability to form programs from the syntax of their choice. I was 18 back in the late 80s when I taugh myself how to program. Oh and Action for the Atari was a lot like C. Should have known I'd pick up a few that didnt understand one part of what i was saying, but thats Ok, and when I said Almost every language, I meant the main ones most people use, even tried my hand at Java, and the Android SDK to see what all the cell phone rage was about. Till I started checking cell phone sites and seeing Parker Brothers and the rest of the big companies were in play now and its way harder to get a cell phone game noticed. And no, I'm not a systems programmer. I write games. And by the way, C compiles out to Assembler so its also fair to say that it is a subset of 80386 machine language and anything done in C can also be done Assembler. But its gonna a lot freaking harder than either C or Blitz. If I wanted, I could program a Game in C, but unless I'm doing the next World of Warcraft or Halo I see no need to put myself through all that. So you all can have your opinions and I'll have mine. I was just trying to put a plug in for all those poor saps that miss Blitzbasic and want a new Blitzbasic that can rock Win7s world. As I also stated, I moved to Purebasic a while back because it works on win 7. Not as sexy as Blitzbasic and not as fast as Blitzmax, but its fast enough for what I need. I hope none of this offended any of you because the last thing I'd wanna do is piss off a bunch of people I dont know and could care less about, so as I bid you fairwell I'll leave you with this. BYE!!!

Last edited 2011

Last edited 2011


K(Posted 2011) [#56]
Moving on... what about Double precision? That would be lovely. I thought of writing it in to where it used type tag "variable&". Never got to it...


Blitzplotter(Posted 2011) [#57]
Vorderman, I'm using some fastlib libs myself at the mo, and was unaware of the fastext issue, thanks for hi-lighting it.

I too have programmed since the eighties and have had tons of gratification from coding in b3d - bmax to a lesser extent - let's not forget blitz basic 2.0

Vorderman, sad to hear of your woes with srx.

Last edited 2011


Xaron(Posted 2011) [#58]
double precision is a must have... well ok, might be a good reason to start another thread about how BB3D2.0 could look like. ;)

I think, BB3D 2.0 specific discussions can go here as well:
http://blitzbasic.com/Community/posts.php?topic=95581

I'd love to hear about some good additional ideas! :)

Last edited 2011


Yasha(Posted 2011) [#59]
you Blitzmax people sure are a funny lot


I'm not a Maxer, I'm just a computer scientist.

Almost every language, I meant the main ones most people use, even tried my hand at Java


Given that Java is the largest language in use in the world, that sentence makes no sense.

Especially since C (you do realize that there are things beyond C, right?) is decreasing in popularity and BASIC has never been mainstream at all.

also have the ability to form programs from the syntax of their choice


If you seriously think of languages as just syntax, then you really don't know anything.

I see no need to put myself through all that


...this is why people invent newer languages. So that the code becomes simpler, because the language is more expressive. If you'd ever bothered to learn another one you would know this.


Dark Soul(Posted 2011) [#60]
This is for yasha,

"The syntax of a programming language is the set of rules that define the combinations of symbols that are considered to be correctly structured programs in that language".

That is from Wikipedia. Not me.

Oh and I know it takes more than knowing programming syntax. The best programmers in the world can make the suckiest of games. Its about making a fun game, not coding.

And the only reason Java is used so much is that every person that can type a "Hello World" program in Java, C++ or whatever thinks he's gonna be the next king of Cell Phone games and its free.

It's been proven that most people don't get past the "Hello World" and basic loops of Java or C++ to do anything constructive.

Oh and C++ is used in mostly all commercial Games for the PC and Mac.

SO I have no idea what the hell your are talking about New languages, I program to make games. these are the only good languages I know of for that, unless you mean Python or you mean game and graphic engines. which is what Blitz is pretty much, a game engine.

And yes, I could get a game or graphics engine for C++, I have most of the C++ compilers that are any good. and could tag on a Game or Graphic engine and bang away on my keyboard putting code between {} brackets.

And the Basic we have today is not the Basic from the 80's or even early 90's. Its more like an easier, milder, slower version of C with a game engine.
And that's why I choose to use it, not cause I'm too stupid to use C++.

But because its an all in one package and BlitzBasic has made some great games in the past.

I pay for my programming languages when I need too and its a good thing, or Mark of Blitz and Freddie, developer of Purebasic would not have buyers for their Products,

Oh and as for me knowing nothing, My computer room is full of hardback and paperback books on the main languages ( even Java, and yes I can program in it , I choose not too), and hell I have magazines from Byte, Compute, Dr Dobbs, Amiga world, Start, Analog, Antic ect.. dating back to the early 80s and I've read them all, some more than once.

I wrote my own blitters for both the Atari 8 Bits and my Atari ST because the first models came with no hardware blitter and the software one with the OS sucked. In pure 6502 and 68000 machine language, But yea, I'm too stupid to use C, you're the idiot. learn to read the whole subject matter on which someone is typing about.

You're are like Fox News, reportin only what you want to make your own case look better. Better check, they might have a job opening for you.

I'm beginning to think you are the one that doesnt know anything. And what kinda name is Yasha anyways??, what are you?, Yoshi (from Super Mario Worlds) retarded cousin? . jk, struck me as funny.

This will be my last post on this subject since the start of this was about BlitzBasic not working properly with Win 7. Not what you and I know about programming.

So happy programming all. Xaron, good luck on your attempts. I hope you do something great. And Yoshi, errr I mean Yasha, SUCK AN EGG!

Last edited 2011


Adam Novagen(Posted 2011) [#61]
You do realize, Dark, that this entire rant you've flown off into (much of which is quite a tangent to what Yasha has actually been saying to you) was started simply because he said that low-level languages are a pain and less fun to work with? And that you've been reacting as though he said you couldn't use them? Are you even READING the posts you respond to? XD


TeaBoy(Posted 2011) [#62]
What's wrong with Java? I think it's a decent language :o)


K(Posted 2011) [#63]
Removed

Last edited 2011


Yasha(Posted 2011) [#64]
Removed

Last edited 2011


K(Posted 2011) [#65]
I guess. Your call.
EDIT: I took a look at Ravioli last night, think it looks good, a lot of it is stuff i want to do or end up faking with odd-looking syntaxes.

Last edited 2011


Vorderman(Posted 2011) [#66]
Ahahhaha, finally some progress!

I've managed to get SRX working in Xors. It's in a right mess with no textures, half the track missing etc..., but it runs at a solid 60fps with 8 cars, the gameplay is working 100%, the AI works etc.. and it's fully playable, so a big step forward.

Now I just have to tidy up all the graphical issues that I've had to bypass to get Xors working (mostly LoadAnimMesh issues with B3D meshes) then hopefully I'll be back where I started, but at 60fps.

Last edited 2011


jfk EO-11110(Posted 2011) [#67]
Just an addition: replace sprites by a substitute system, eg. the one in the code archive. Some ppl reported 3 fps with my shooter engine. after replacing the sprites it used to run ok (guess 60 hz or so).

Last edited 2011


jfk EO-11110(Posted 2011) [#68]
Sorry for undigging this thread, but I would like to see some sort of conclusion.

HOW DEAD IS BLITZ3D ??

a) very alive

b) starts smelling

c) dead since a couple of years already

I am not talking about support for latest hardware features or DX9/10 support. I am not talking about the ability to make the next uber game engine that beats the billion dollar projects of the leaders in the game business. Just as a Basic language for hobby Coders. Are there any serious compatibility issues with Win7 (other than the sprite issue mentioned)?

Does it still work on most machines out of the box?

Thanks for your opinion and analysis.

Last edited 2011


Yasha(Posted 2011) [#69]
Does it still work on most machines out of the box?


General consensus seems to be that it does. 'S'got games on Steam.

To be honest I get the impression the biggest problems seem more to be connected to things like UAC, which fall outside Blitz3D itself.


Damien Sturdy(Posted 2011) [#70]
I had to disable Touch Input on my Win7 box, at which point it worked fine and my Fun racer ran perfectly, with a crapload of cars, fullspeed.

until I crashed the car, then my engine blew up and I hit a wall and thus stopped moving completely.


jfk EO-11110(Posted 2011) [#71]
Ok, thank a lot for your responses. Looks like I'll keep it at least as a backup environment. THen again, if you watch the screenies of the latest Blitz3D game releases, eg. on the news Page, then it's hard to believe that this should have been it. Even one guy Ii know who is a true Unity believer didn't know what to say when he used to see it recently. "And...that's Blitz3D??"

Wish you all merry christmas and a happy new Year. Looks like I'll be buried under snow for the next weeks, so see you later!


John Blackledge(Posted 2011) [#72]
Dark Soul,
"i was programmin before you got pubes"

If I'm not mistaken, I'm the oldest Blitzer on this site (60 next), and been using B3D for nearly ten years, and programming professionally for 10 years before that in a variety of languages.... but I've never pulled _that_ one.

JFK and Yasha in particular, across all of these threads, make the effort and take the time to help and inform people.
... Respect.


RGF(Posted 2011) [#73]
With all my respects, it's not about the language. The important thing is the programmer...

I published this yesterday on youtube, pure blitz3d, not even used fastextensions, just pure old blitz3d... Runs at 60 fps on my humble, cheapest packard bell... Sorry for bad captured video quality

http://youtu.be/lYVCLPhlz5k