Porting to other languages

BlitzMax Forums/BlitzMax Programming/Porting to other languages

SystemError51(Posted 2012) [#1]
I'm interested if any of you have taken a BlitzMax project (could be anything), and ported it to another language? For example C++ or Objective-C.

The reason I'm asking is because I am contemplating the idea of porting my engine.

Any thoughts or ideas?


Armitage 1982(Posted 2012) [#2]
I was interested lately to port mine to ClanLib a very nice C++ Toolkit. But unfortunately the Mac Os platform isn't supported. Cocos2D/Cocos2D-X, SunBurn, EdgeLib, Unity3D & HGE was also considered but then I dropped the idea thanks to Microsoft Surface.

I'm nearly sure that true OS will be featured in next generation of devices and since I'm not fan of the touch based experience :) It depend of the game in fact...


Dabhand(Posted 2012) [#3]
Ported three:-

A Columns clone - Ported it from BlitzPlus to my own Directx9 engine using C++
Darts game - Blitzmax to GLBasic
Match 3 game - Blitzmax to monkey
Croco Magneto - Generally, one of the first games I make when I try a new language, with the latest one being monkey:-

http://monkeycoder.co.nz/Community/topics.php?forum=1051&app_id=51

Dabz


ima747(Posted 2012) [#4]
MiniB3D is pretty easy to port to iMiniB3D if you write it object style. Porting concepts is usually pretty easy, but if your structure isn't conducive to the language you're targeting it can get frustrating. Objective C is a bit more cumbersome to port to/from since it uses a syntax (smalltalk) that's very different from traditional pascal/c syntax that most things are based on so you have to re-phrase your methods which isn't hard but takes time.

Generally I find that more often than not porting is mostly busy work assuming your ducks are in a row. However if you're trying to port something that's got deep ties to things you don't have on the target platform (such as the graphics methods in bmax) then bridging that gap can be a ton of work. If you're going from bmax to say iOS, what are you using for graphics on iOS? cocos 2d, your own hand rolled drawing tools (under openGL, or core graphics?), that's the sticky bit.


*(Posted 2012) [#5]
Yup ported loads, latest one is Death, ported from Max to Monkey (when that didnt work out) I ported it again to Unity3d where it currently resides.


SystemError51(Posted 2012) [#6]
Thanks for your insights people :) I am looking at some options right now, because it might be good to have the engine in more than one language.