The cross-platform ideology

BlitzMax Forums/BlitzMax Programming/The cross-platform ideology

ImaginaryHuman(Posted 2004) [#1]
I figured it was high time to start up a thread about the ins and outs and ups and downs of creating truly cross-platform software.

I am starting to notice already that many BlitzMax users are more interested on just getting software to work on their own platform, using various native techniques to achieve what they want to happen. That's fine. I guess there is going to be a whole spectrum of portability.

In keeping with the highest ideal of the cross-platform basis of BlitzMax, it would be most ideal to create software that doesn't do anything natively different so that is truly can be ported with no change on any of the BlitzMax platforms. You might think of that as `pure` cross-platform compatibility. Then you're going to have your various degrees of incompatibility, people wanting to specifically access the Win32 API or specifically write for the Mac Aqua user interface, or perhaps specifically support quicktime or to support only windows media player, etc etc...

I just wondered as to all your thoughts and opinions about the importance of being fully cross-platform and whether it really matters?


RexRhino(Posted 2004) [#2]
I think cross platform is the best selling point of BlitzMax... Shareware/freeware software authors normally cannot afford to write for multiple platforms... But now, it is almost trivial to get your software running on the big 3 platforms (and maybe more in the future?).

Considering the incredably lack of games relative to the PC platform on Mac and Linux, it seems that a program that barely gets people's attention on the PC platform, could be quite a success on the other platforms.


Warren(Posted 2004) [#3]
The Mac is actually not as badly off as you imagine. Walk into any Mac store and check out the shelves and shelves of games. Just because they don't carry them at BestBuy doesn't mean they aren't out there...


Robert(Posted 2004) [#4]
Although various user libraries are not always cross-platform, the good thing is that the main BRL libraries *are* fully cross-platform.

My main concern at the moment is lack of a proper system for submitting module update and new modules, which would allow other a given update to be rated as "safe" for each of the three different platforms.


ImaginaryHuman(Posted 2004) [#5]
I would like to see a setup that is `approved` or the official setup which has modules that are only cross-platform.

Having said that, looking at different parts of the module code some of them have ?MacOs ?Linux ?Win32 for doing different things if compiling on different platforms, so in some way maybe just to even get things to LOOK as though they're cross-platform, BlitzMax has to pull a few native strings.

I would also like to be able to maybe have a separate section of modules that are not just public (like jpeg loader, opengl etc) but general public domain, sort of `take it or leave it if it works it works if it doesnt it doesn't` to establish which modules are reliable and which are a little tentative etc.


Warren(Posted 2004) [#6]
All cross platform code generally does that. The same EXE isn't running on multiple platforms - you still have to compile. So having an OS specific routine for each compile platform is totally acceptable.


GfK(Posted 2004) [#7]
Walk into any Mac store and check out the shelves and shelves of games
Erm.... Mac store??

/me looks around, confused...


Barnabius(Posted 2004) [#8]
It's nice to have cross platform ability with BlitzMax but I am afraid after a while it'll all end up on a Windows platform. One does not have to look further than this forum where, after the BMax release it was still pretty quiet until the beta for Windows platform was released. Check the number of posts clearly posted by Windows users using BMax on Windows vs. posts by Mac users using BMax on Mac. Numbers tell the real story...

Don't get me wrong. I am all for Mac, Linux, Windows development but as I already said, it looks like it'll all end up on Windows only.

Barney


MikeHart(Posted 2004) [#9]
One does not have to look further than this forum where, after the BMax release it was still pretty quiet until the beta for Windows platform was released.

Barney, you have to be fair. There were 99% Windows guys here before. The word about a new development tool on the MAC has to spread around first. I'm sure they will come. Same goes for LINUX. The news on WWW.OPENGL.ORG was a great idea they had.


Warren(Posted 2004) [#10]
Erm.... Mac store??

/me looks around, confused...

Yes. I don't know how else to phrase that, sorry... Maybe you don't have one in your city.


AntonyWells(Posted 2004) [#11]

It's nice to have cross platform ability with BlitzMax but I am afraid after a while it'll all end up on a Windows platform. One does not have to look further than this forum where, after the BMax release it was still pretty quiet until the beta for Windows platform was released. Check the number of posts clearly posted by Windows users using BMax on Windows vs. posts by Mac users using BMax on Mac. Numbers tell the real story...

Don't get me wrong. I am all for Mac, Linux, Windows development but as I already said, it looks like it'll all end up on Windows only.


Even so, most of those windows coders will still take advantage of the cross platform option when releasing their software. Like I plan to.(Don't have a mac or linux.)


flying willy(Posted 2004) [#12]
There's a few mac stores in my city.

I'd like to point out so long as I can just code something and it works on all 3 there's no issue how it's achieved under the hood.


FlameDuck(Posted 2004) [#13]
I think cross platform is the best selling point of BlitzMax... Shareware/freeware software authors normally cannot afford to write for multiple platforms... But now, it is almost trivial to get your software running on the big 3 platforms (and maybe more in the future?).
Yup, the same for me. The single coolest thing BlitzMAX does is embrace the "Write once, compile anywhere" (providing anywhere is on a Linux, Mac or Windows platform) ideaology. The fact that all the cross platform head-aches are handled by someone else, is most assuredly going to make BlitzMAX the number 1 choice amoungst would-be software developers.

It'll be interesting to see what kind of stunts the so-called competition is going to pull over the next 6 months. This is an exciting time to be a prospective shareware author, I'll tell you that much for nothing!

There's a few mac stores in my city.
I don't even think there's one in my country! Never the less, lots of people still buy them.


Floyd(Posted 2004) [#14]
Best Buy, one of the big chain stores here, sold Macs earlier this year. That didn't last, though.

And even then they had almost no software for sale. They had the latest OS X and some video editing software. That was about all. There were no games.


Robert(Posted 2004) [#15]
That implies a problem with Best Buy rather than Apple.


flying willy(Posted 2004) [#16]
there are a couple of mac headquarter flagship stores in my city as well as literally dozens of private stores, plus pc world - the largest pc retailer in the country does them.

GFK is probably not realising that pc world is in his town, selling macs right now :)


Warren(Posted 2004) [#17]
To be sure, Macs aren't nearly as prolific as PCs. But it IS generally incorrect to say they don't have any games ... they have lots of them - they're just harder to find. :)


ImaginaryHuman(Posted 2004) [#18]
Well anyway, back on topic ... (yes we bought a mac at a mac store) ... I think it would only be fair to say that Blitz Research wouldn't have put all the time and effort into creating BlitzMax as a cross-platform write-once-compile-anywhere solution only to give up on supporting that cross-platform compatibility by only eventually supporting Windows users. I'm sure there's probably more Windows users than the other two platforms, especially given most previous incarnations of Blitz run under Windows, but I don't think that means everyone will now just migrate to Windows or that BlitzMax will only end up there. Why would Blitz Research go to all these lengths to fulfill this vision only to give up on it. I have a bit more faith in BlitzMax being successful as a development tool for easy cross-platform deployment as well as for achieving great results on any of the given platforms.

And it would be great to see it even migrate to other platforms in future as well, to the Amiga perhaps, Acorn, BeOS, etc. It's definitely a big selling point for BlitzMax that it makes it so easy to get your creations out to a wider audience, and maybe it is even doing a service to mankind by trying to get people to let down their guards a little and act like we're all part of the same human race.


BlitzSupport(Posted 2004) [#19]

It's nice to have cross platform ability with BlitzMax but I am afraid after a while it'll all end up on a Windows platform.


This is almost certain *not* to happen -- Mark is a confirmed Mac-head now. He's not going to drop support for his own preferred platform!

Remember that only the supporting stuff has to be written for each platform, most of which is now in place. Since the actual modules are mostly written in Max, Mark only has to recompile them on the other platforms -- "instant porting" rules!


flying willy(Posted 2004) [#20]
OT: I have really fallen in love with osx 10. I like the way it treats me as a user.

Macs have a lot to love.


Hotcakes(Posted 2004) [#21]
Having said that, looking at different parts of the module code some of them have ?MacOs ?Linux ?Win32 for doing different things if compiling on different platforms, so in some way maybe just to even get things to LOOK as though they're cross-platform, BlitzMax has to pull a few native strings.

Of course! =] How do you think the freesound or freejoy modules work? Or the windowed mode - altho for all I know the window mode could use a very simple implementation of fltk (which I believe is what they're going to base the GUI module on - good stuff there) - Win32 API doesn't work on MacOS ;]

Erm.... Mac store??

There are about as many Apple stores in Adelaide as there are EB's.

Check the number of posts clearly posted by Windows users using BMax on Windows vs. posts by Mac users using BMax on Mac.

Numbers only tell me that there are more Windows users than Mac users on the forums at the moment (which makes sense considering a) there are more pc's than macs in the world and b) previous versions of blitz were pc only). Couple that with the fact that the vast majority of pc threads are bug related (which makes sense because the pc versions are betas).

Once the official pc platforms have been released and the initial hype has died down, I think the people:posts ratios will work out rather evenly.

[quote]I am starting to notice already that many BlitzMax users are more interested on just getting software to work on their own platform,[quote]
I think the Blitz community is so wonderfully diverse and talented, that given 12 months from now there won't be much you can't do with BMax in an easy newbie friendly way. Obviously there's nothing you can't do with it right now, but you have to code a lot of hard bits yourself. People will eventually fill in the gaps here and there and eventually you'll find a good, vast array of modules written for a lot of things, some of them will be OS specific, some of them cross-platform. So basically I don't think it matters. People will have their preferences as to which direction they want to take, as they should. I'd personally like to see mostly cross platform stuff worked on by people for now, which is what is happenning for the most part anyway. So that's good. It's all good. What was the question again?


Jeremy Alessi(Posted 2004) [#22]
Macs have some games yes ... but in CompUSA tonight it was like 20 - 30 games ... that's not a whole lot. On the PC there must have been near 1,000 on the shelf or something ridiculous. Indie games definitely sell better on Macs.


FlameDuck(Posted 2004) [#23]
Obviously there's nothing you can't do with it right now
*cough* Singleton Pattern *cough*


Diordna(Posted 2004) [#24]
Damn, people are ignorant today.

Where do you get Mac games? THE INTERNET. It's called MacGameFiles.com. Go to any decent self-respecting computer store and there'll be whole isles of Mac games. (Notice I say "decent" and "self-respecting." This does *not* include Best Buy/CompUSA.)

Why would it turn Windows-only? OpenGL and all of the built-in modules are fully cross-platform. I'm having people compile my games for other platforms and the only thing that needs changing is the directory that the prefs file is saved in.

And what's with this strange obsession with saying "MAC" as if it's an acronym? What would it stand for anyway, "Meaningless Acronym Computer?" (You'll get it if you know what I'm talking about, people :) )


AdrianT(Posted 2004) [#25]
looked up my favourite games. and for sites that had mac games.

IGN, gamespot, ebgames etc don't have any.

http://www.simplygames.com/mac.asp

which was at the top of Googles search

1 Battlefield 1942 Deluxe Edition

2 Shrek 2

3 Republic: The Revolution

4 007 Nightfire

5 Worms 3D

6 Delta Force: Black Hawk Down

7 Call Of Duty

8 XIII

9 Unreal Tournament 2004

10 Command & Conquer Generals

Anyone know of any good Mac gaming sites? as currently it looks very good for indie developers indeed, as there really arent many games worth mentioning at all.

Out of my favourites I did find Splinter Cell, and the first KOTOR but not a lot else.


Diordna(Posted 2004) [#26]
Usually Macgamefiles.com is good, but sometimes their listings aren't up to date. Try versiontracker.com/macosx. I know UT2k4 and Worms-something are on Macs. haven't checked the rest of them yet.


iamnothing(Posted 2004) [#27]
I rarely see Mac software anywhere I go unless it's 1) an Adobe application or 2) a Macromedia application. That's not to say that it's not out there, it's just not in the shelfspace market for anyone but specialized retailers. Mac and Linux gamers are a rabid bunch, but they're seen as a non-market in most retail eyes. So they've moved their buying power online rather that traditional retail channels. You can see PC gaming moving in that direction as well in a number of stores. The console sections grow while the PC section shrinks. In a number of EB and Gamestop stores I've been to in the last year, the toy section (Spawn and Final Fantasy figurines) is almost as big as the PC games section. And the games that are on the shelves are usually only the top sellers.

Mac gamers changing their shopping habits to online shopping is quite a plus for indie developers who don't have a prayer of getting their title shelfspace at a local Games 'R Us store. We have to work ten times as hard to be seen, but Mac and Linux gamers are already searching for us because they've either been shuffled out of the stores (Mac) or were never allowed in (Linux).


Kanati(Posted 2004) [#28]
Where do you get Mac games? THE INTERNET. It's called MacGameFiles.com. Go to any decent self-respecting computer store and there'll be whole isles of Mac games. (Notice I say "decent" and "self-respecting." This does *not* include Best Buy/CompUSA.)


If you are talking about an apple store, the closest one I have to me is 3-4 hours away. I used to do that for the amiga, but I ain't doin it any more.

Kanati
Athlon64 3500+ / 9800XT / 1.5G ram / 1.2 Terabytes
Inspiron 8600 / 1.7Ghz P-M / FX5650Go / 1G ram / 120Gig
800Mhz G4 Powerbook Titanium / 512Mb ram / stuff... or someting


Diordna(Posted 2004) [#29]
I didn't say "an apple store." I said "any self-respecting computer store." Microcenter in my area fits that bill nicely. So does the Apple Store downtown.


Hotcakes(Posted 2004) [#30]
*cough* Singleton Pattern *cough*

Yeh. Say what? =]


FlameDuck(Posted 2004) [#31]
Yeh. Say what? =]
Can't you Google? Anyway it's a special type of object where you only ever want one in exsistance. Not currently possible in BlitzMAX because constructors are always public, thus there is no way from preventing idiots from spawning a 1000 instances of your particle system (for example).

Oh, and since almost all Factory patterns are based on the Singleton pattern, guess what else you can't do? :o>


Warren(Posted 2004) [#32]
Flameduck has apparently purchased a book on design patterns recently. I think he's cited at least 3 of them by name in the last 2 weeks. :)


FlameDuck(Posted 2004) [#33]
Flameduck has apparently purchased a book on design patterns recently.
Well not really. I borrowed it at the library. :o>

I am however currently working on a paper on how to apply tradtional design patterns to game development, which might explain the sudden interest.


Hotcakes(Posted 2004) [#34]
Can't you Google?

I don't care enough =]

guess what else you can't do? :o>

I'm guessing... I don't know, Factory patterns? =]