Can Monkey replace Blitzmax?

Community Forums/Monkey Talk/Can Monkey replace Blitzmax?

Tachyon(Posted 2011) [#1]
Can Monkey create native, stand-alone applications for Windows and Macinosh, just like BlitzMax does?

If so, what is the point of continuing to use BlitzMax (other than Linux support, which apparently Monkey doesn't do).


Yasha(Posted 2011) [#2]
If I recall correctly (still haven't bothered to get it myself) Monkey has C++, C# and Java targets. All of these meet the "native, standalone" specification to varying degrees (it's really a point of view thing) and should work across platforms.

(A Linux version of the compiler will crop up sooner or later, if it hasn't already.)

As for why continue to use BlitzMax... do you have a good reason not to? Unless you actually need the new features Monkey brings to the table, it should really be a matter of pure preference.

Last edited 2011


Tachyon(Posted 2011) [#3]
Why stop using BlitzMax? Well, a week doesn't go by that I am not asked when will my games be available for iPhone/iPad/iTouch/Android. As long as they remain in BlitzMax, they will never be available on a portable device.

I think successful developers are the ones that look ahead and anticipate the market. In this regard, BlitzMax is a sinking ship. Notice I didn't say that computer gaming is sinking...on the contrary, I think computers will always be a viable game platform. But, a smart developer will use a language that is compatible with as many platforms as possible. I need a "write once, port to many" type of language...BlitzMax was great for this 5 years ago, but not so much today.


GfK(Posted 2011) [#4]
Monkey can compile for mac and windows but its gl only. blitzmax is for now a more mature and complete product.


Steve Elliott(Posted 2011) [#5]
I've been thinking this too. Obviously Gfk is right, BlitzMax is a complete product and has DirectX 9 support - which is required on Windows. And Monkey doesn't even have decent collision detection for a start. But I'm sure these missing features will be added at some point.

Monkey doesn't have pointers it seems, and so I wonder if BlitzMax will be more powerful. My experience with Monkey is very limited because I've only had a quick look at the demo. Being able to run your game on so many devices appeals, but not if Monkey is a jack of all trades and master of none.


Yasha(Posted 2011) [#6]
Monkey doesn't have pointers it seems, and so I wonder if BlitzMax will be more powerful. My experience with Monkey is very limited because I've only had a quick look at the demo. Being able to run your game on so many devices appeals, but not if Monkey is a jack of all trades and master of none.


I would be very surprised if Monkey ever officially supports things that can't easily be represented in all of the compiler targets. On the other hand, as far as I'm aware pointers are pretty much the only BlitzMax feature that fits into this category... how badly do you really need them? (i.e. if you're coding with pointers, Monkey is almost certainly the wrong tool for the job)

Last edited 2011


Steve Elliott(Posted 2011) [#7]

would be very surprised if Monkey ever officially supports things that can't easily be represented in all of the compiler targets.



You see this is what I'm talking about. If you produce something for the lowest capable system there will be compromises. I have a feeling some system dependencies will creep into Monkey. Pointers was just an example.


skidracer(Posted 2011) [#8]
For windows, use the XNA target if you want DirectX.

If I was writing a game with Monkey I would first decide if I was targeting the desktop, the browser, or the handheld.

For the desktop I would use XNA for PC and GLFW for Mac/Linux.

For the browser I would use Flash.

For handhelds I would target iOS, and only once I'd made a shed load of money would I consider an android port.

Just because monkey allows you to target all the platforms from single code base doesn't make it a good idea.

Just because HTML5 is the next big thing doesn't make it a viable gaming platform now or any time soon.

Last edited 2011


CyBeRGoth(Posted 2011) [#9]
Is using XNA for PC games wise if you want to sell your games on Casual Game Portals though?

I have not checked in a while but the last time I looked you had to pay Microsoft some fees if you wanted to use XNA to produce any commercial games on PC or XBox.


Steve Elliott(Posted 2011) [#10]

For windows, use the XNA target if you want DirectX.



Interesting.


Just because monkey allows you to target all the platforms from single code base doesn't make it a good idea.



Yes, basically what I was saying - but it does makes porting easier, and only one language required to work with.

So I guess BlitzMax is still the daddy on computers, and Monkey the diddy on handheld devices :D

Last edited 2011


skidracer(Posted 2011) [#11]
Is using XNA for PC games wise if you want to sell your games on Casual Game Portals though?


That use to be the case, but latest XNA can support much lower spec dx9 hardware with it's new "Reach" driver.


I have not checked in a while but the last time I looked you had to pay Microsoft some fees if you wanted to use XNA to produce any commercial games on PC or XBox.


No it's always been free for PC development.

Last edited 2011


Uncle(Posted 2011) [#12]
Its horses for courses as they say. Monkey is nice, but I wouldn't consider it for writing games for PC or Mac yet. For me monkey is for mobile dev only where games are simplier and you don't mind working with a much lower command set.

Blitzmax however is far more mature and has several decent 3rd party graphics engine to satisfy most people. The command set is much more developed and needs less code than monkey to produce some quick games. As some mentioned early in monkey you have to code things like collisions routines etc. So there is a lot more ground work to done setting up a decent set of libraries with monkey. This of course will change over time, but may be stiffled a bit by trying to make the code work on so many platforms. Take for example today we can't have coloured sprite e.g. setcolor 0,255,0 does not draw sprite green because not all target support these feature. This is standard in Bmax. So for desktop gaming Bmax still has a bright future I think. And for mobile gaming monkey is on the right track.

Last edited 2011

Last edited 2011


AdamRedwoods(Posted 2011) [#13]
Also, I don't think we can do native GUI in monkey yet.


CyBeRGoth(Posted 2011) [#14]
Good to know skidracer, I may have to look into XNA again, it seems to have matured in the few years since I last checked on it.

As to the original question I do think that monkey can replace BlitzMax, maybe not at the moment but in a few months when more modules are created and a few niggles are ironed out, the language itself is in many aspects better than BlitzMax but it still feels very bare without all the modules we have come to rely on over the years.

Last edited 2011


ziggy(Posted 2011) [#15]
Can Monkey create native, stand-alone applications for Windows and Macinosh, just like BlitzMax does?
Yes, and the language itself is superior in several areas. There are lots of native specific things that work out of the box on BlitzMax but do not have a counterpath in Monkey, such as Streams, reflection or function pointers. But monkey itself is built on a highly expandable basis and it is very very open and easy to addapt to your own needs. So, taking into account how young it is, I supose it could technically replace BlitzMax, but it's a long way to do it.


slenkar(Posted 2011) [#16]
yesh reflection would be nice


taumel(Posted 2011) [#17]
Right now BlitzMax is more complete and mature and it will stay this way for the near future. In the long run i expect BlitzMax to share the same destiny like Blitz3D whilst monkey will be BRL's future for the next couple of years.

Regarding gaming, i don't see a reason why you shouldn't be able making a innovatie game on HTML-5 as well. It just needs the proper game concept matching with the platform's restrictions. There are a number of innovative games on iOS which wouldn't be better on a console.

Personally i expect myself playing more games in the future on my MacBook Pro and on the iPad2 (once i get one). I don't wanna go back to playing games on my windows desktop (I'll make an exception for Rage) nor do i want to buy a console or one of the restriced handhelds. Those two devices offer enough room for great games for the next couple of years.

Last edited 2011


ShadowTurtle(Posted 2011) [#18]
I wish blitzmax does support 64bit _WITHOUT_ GCC hacks etc.

GCC 64bit is not good supported. A new compiler-set (see the growing dev. speed) named "Compiler-rt" and "Libc++" will replace the complete GCC pipeline.

~3 years and BMax is death because lack of 64bit support (next-next-windows-generation is not supported).

Taumel: you do not play'ing starcraft2!?


taumel(Posted 2011) [#19]
No, but i am still playing Tetris from time to time.


Hotcakes(Posted 2011) [#20]
Lol if a version of Windows dropped WOW64 it'd bomb worse than Vista.


Winni(Posted 2011) [#21]
Lol if a version of Windows dropped WOW64 it'd bomb worse than Vista.


It will come, it's only a question of time. Microsoft already went 64-Bit-only for their server products since Windows Server 2008 R2 and Exchange 2010, so Windows 9 could be a realistic target for that move on the client. If you still want to run old legacy 32-Bit apps, you might have to launch a virtual machine for that, similar to the "XP Mode" for Win 7. That move would even make sense from a security and stability perspective.

But Apple will get there faster than Microsoft. With OS X Lion, Apple will drop the support for 32-Bit processors (Lion requires at least a Core 2 Duo CPU) and they will also drop the support for their PowerPC emulator Rosetta. Lion will still run 32-Bit apps, of course, but Apple generally is more radical with dropping legacy support than Microsoft ever could be. Should there be another incarnation of OS X after Lion (which I somehow doubt, I think it's more likely that iOS and OS X will merge into a "new" OS after that), it will probably drop 32-Bit support entirely, forcing everybody to upgrade to 64-Bit applications.

I don't think that 32-Bit software for desktop computers has much of a future left.


Yasha(Posted 2011) [#22]
Microsoft don't like dropping support for anything if they can avoid it.

Anyway, with the increasing importance of VMs and managed code, by the time this sort of concern becomes a reality, it may well also simply not be a problem. We're getting close to the point where you can run pretty much whatever you want in a VM now. If the cards are played right we might actually be lucky enough to see a future where there are no platform limitations at all.

In fact, will there even be a Windows 9? I had the idea floating around in the back of my mind that Microsoft were going to drop Windows soon and start pushing an OS derived from Singularity. Don't know if that's realistic (or where I saw the citation, probably Wikipedia).

Last edited 2011


Kryzon(Posted 2011) [#23]
@Yasha: what do you mean a 'singularity based OS'?


MCP(Posted 2011) [#24]
@Kryzon: He's probably referring to this...

http://en.wikipedia.org/wiki/Singularity_(operating_system)


Yasha(Posted 2011) [#25]
Yeah, which links in to this: http://en.wikipedia.org/wiki/Midori_%28operating_system%29

...which is the one I meant. Everything on that page looks like rumours though (there's a BBC News article, but that hardly counts for much).


ShadowTurtle(Posted 2011) [#26]
Has anyone already see the windows 3.11 gui remade in singularity? It is ultra fast Oo