Build Your Own Arcade Controls Forum
Main => Software Forum => Topic started by: protokatie on December 07, 2008, 03:13:50 am
-
I haven't coded in about 6 years, and do not want to bother with ansi C (DJGPP) or .net. I was looking into the more "pathetic" (read powerful for what I want to do) languages. IE Blitz Basic or Dark Basic. Which one should I go with? I have experience with the C++ and ASM features of blitzbasic from my good ol' Amiga days.
Anyone have experience with both? Which should I go for?
-
What is your aversion to .NET?
As for Blitz or Dark I'm sure Space Fractal can point you in the right direction in respect to those langauges.
-
Dark basic is excellent. You can do very nice thing very quickly.
Action Script 3 (Flash) seems very good too. Adobe provide a free development kit. (Flex)
What kind of thing you want do? 3d or 2D? I guess you want go to this kind of language it is to do graphics things.
-
From what Ive heard and seen, Blitz is much better.
Look at the number of finished examples, as well as the high quality of the examples on
the Blitzbasic site. Many of which have gone commercial.
As far as I know, Blitz is also open to language changes... so many people have
created many additional add ons and tools that never would have been.. if the
language was completely closed off.
-
What kind of thing you want do? 3d or 2D? I guess you want go to this kind of language it is to do graphics things.
Well, I was thinking of using the 3D features of either blitz or dark to make a front end (not like the 3D arcade one, it would still be a 2d-ish front end, but utilizing Zbuffer and vector morphs/transitions to allow for some interesting effects).
The 3D caps of Dark seem better, but neither software states whether or not it supports alpha channeling (Just translucency. Although I think darkBasic supports alpha blending...).
With that info, which do you peeps think would be a better choice (bearing in mind I have used Blitz back in the Amiga days). Blitz has what they call "newtype" variables (structures) and allowed for inline assembler, does dark offer these features?
-
I believe Blitz uses the DirectX API "under the bonnet" for 3D so it would most certainly support alpha transparency and texture stages.
-
I don't have experience with Blitz. I have just toyed with Dark , i have been impressed how it was easy to do 3d things.
But as suggested Headkaze , why not to go with C# .NET and XNA ?
You have C++ experience, so i think you can easly go with C#.
In addition the Visual Studio Express Edition is free.
And there is tons of documentation and sample on the net.
-
I'm a C# developer so I'm on the fence here.
I kind of agree with the C#/XNA route, except that writing stuff in XNA really ratchets up the base requirements for computers that can run the software. Stuff in XNA runs SLOW on anythind that doesn't have decent hardware accelerated graphics.
However, XNA is VERY VERY easy to pick up.
-
I'm a C# developer so I'm on the fence here.
I kind of agree with the C#/XNA route, except that writing stuff in XNA really ratchets up the base requirements for computers that can run the software. Stuff in XNA runs SLOW on anythind that doesn't have decent hardware accelerated graphics.
However, XNA is VERY VERY easy to pick up.
I totally disagree. .NET is JIT compiled (not interpreted) so you are running native binaries. There is a slight performance penalty though p/invoking the DirectX API layer but it is only about 2 to 5% depending on what your doing. XNA is a wrapper for the DirectX API so it has the same requirements as any Direct3D application, so yes you need hardware accelerated graphics but that would be the same deal if it was a DirectX program written in C++.
An interesting article to read on this is Microsoft XNA: Ready for Prime Time? (http://www.devx.com/codemag/Article/35571) although it's a little old (written in October 2007) it gives an interesting overview and opinions from game developers in the industry.
-
Headkaze are you working for Microsoft? ;D
-
Headcaze: Not my point. I believe since DX9 (or at least since Managed DX) all 2d objects are actually 3d objects and treated as such, so all XNA programs need hardware acceleration to run smoothly. ( I could be wrong on this point)
What I'm not wrong about is that XNA requires a video card supporting Shader Model 1.1 at a minimum, with many apps requiring Shared MOdel 2.0.. so stuff written in XNA will not run on more antiquated PC's.
I'm writing an app in XNA myself, but basically I'm not attempting to cater to people with ancient PC's. (I'm catering to me, and me alone).
IF you want to cater to a lot of the people on these forums that ask if they can emulate NFL Blitz with a celeron 1.2ghz and 512 mb of ram running windows ME, then you should use something else. THat's all I'm saying.
-
[EDITED after reading all posts, but the post is much the same]
I have BlitzBasic, BlitzMax, Pure Basic and Dark Basic all registered and they are all good and bad points on all languages. BlitzBasic is the old version of BlitzMax.
Personal I prefer BlitzMax, because it have a simple and good syntax, and is fully object orienting system, without being complicity. The good thing is it doesn't require a decent machine, and nor it was not designed to do that, which is why I choices that for MultiJuke/MultiFE... Howover it best for 2D, but it does exists 3d modules (one of them is based on Blitz3D). The major problem here is, it does not have direct movie support, so it require to interface a dll/windows calls to support it, but it which can been found on the forum, but that might break combatible with other OS than Windows.
Pure Basic have I not used for game, but more small utilities, because it can do some thing BlitzMax can't do, like creating tiny files and dll's and still not require any runtime files. The syntax can been harder to understand than BlitzMax, but can been more powerfull for right users.
Dark Basic is a pure DX9 based and it allways require users to download lastest version of that, which can been bad thing, specific for older machines. But Dark Basic (Pro) does 3D kept simple and even I could understand what it does, even it use a aw-full number system and not the object system like BlitzMax and PureBasic. That can been a problem for FE's, becase you really not known how many games users have. I'm do sure some have created a database dll or extension to avoid that problem.
Dark Basic is the only language which cant compile other than Windows, unlike BlitzMax and PureBasic.
So it up to dedicate what type of application to use, since all 3 languages have plus and minus side... The best of all language is they does not require runtime files or such that.
-
Headcaze: Not my point. I believe since DX9 (or at least since Managed DX) all 2d objects are actually 3d objects and treated as such, so all XNA programs need hardware acceleration to run smoothly. ( I could be wrong on this point)
What I'm not wrong about is that XNA requires a video card supporting Shader Model 1.1 at a minimum, with many apps requiring Shared MOdel 2.0.. so stuff written in XNA will not run on more antiquated PC's.
I'm writing an app in XNA myself, but basically I'm not attempting to cater to people with ancient PC's. (I'm catering to me, and me alone).
IF you want to cater to a lot of the people on these forums that ask if they can emulate NFL Blitz with a celeron 1.2ghz and 512 mb of ram running windows ME, then you should use something else. THat's all I'm saying.
What do you mean when you say "all 2d objects are actually 3d objects and treated as such"? XNA is a wrapper for DirectX 9 so it is the same thing. Are you talking about sprites? Again it's just DirectX 9; sprites in XNA are the same sprites in DirectX 9. The only "2d" API left is DirectDraw and you can't use that in XNA only MDX which has been depreciated just as it's been depreciated from DirectX. Shader 1.1 was introduced when DirectX 8.1 was released, that was in 2001. The chances of people not owning a video card that supports PS 1.1 is minimal.
-
What do you mean when you say "all 2d objects are actually 3d objects and treated as such"? XNA is a wrapper for DirectX 9 so it is the same thing. Are you talking about sprites? Again it's just DirectX 9; sprites in XNA are the same sprites in DirectX 9. The only "2d" API left is DirectDraw and you can't use that in XNA only MDX which has been depreciated just as it's been depreciated from DirectX. Shader 1.1 was introduced when DirectX 8.1 was released, that was in 2001. The chances of people not owning a video card that supports PS 1.1 is minimal.
I think i was referring to the fact that directdraw is deprecated and Direct3d is now used for everything including 2d (d3dxsprite, etc.). Anyways I'm hijacking a thread here for no reason -
Here' my 0.02 cents:
I think it may be more beneficial to go with XNA for the following reasons:
- C# is one of the most popular programming languages in use today.
- Dark/Blitz while great for rapid game development are niche languages and provide little benefit outside this use.
- If you're able to write complex software in C#, even if you're not a developer by trade you could probably get a job as one, especially with a finished product and code to demonstrate your skill. It could benefit you career wise.
You should see some of the stuff I see out there written by "Senior" developers that is absolute garbage. Many of these "Senior Consultants" or "Senior Analysts" couldn't write something minimal in XNA if they tried. Just read up on proper programming practices if you can (Code Complete version 2 by MS is a great book to understand a lot of the do's and don'ts of software development, especially as it pertains to Microsoft languages.)
I'm not saying you'll get a job as a senior developer, but you could easily work your was into a JR or mid level developer job by demonstrating the skillset learned while developing your XNA project.
Check www.ziggyware.com for GREAT examples.
I know you wanted to stay away from .net, but it's not that daunting, the tools are free, and there's TONS of examples out there.
-
I guess this is a hobby job and he never intended to go the commercial way or get a job with his skill, just a fun project. Then he can go whatever language he want, like I did. This is propenty why he might look for a basic language, even XNA example might been a great one.