Amiga.org
Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: motorollin on November 11, 2006, 12:46:46 PM
-
I recently downloaded a Mac game which was written in BlitzMax. It was a PPC app, so I downloaded the trial version of BlitzMax and recompiled it as an Intel binary to run on my MacBook. I also made some modifications to the source so the game's data files could be moved within the app instead of sitting inside a directory.
It was so easy that I started wondering about the possibility of porting the game to the Amiga in Blitz Basic. I'm a total noob to both languages, so I have no idea how compatible the Blitz Basic compiler is with BlitzMax code. Does anyone who has experience of both know how hard it would be to modfy BlitzMax code so it will compile in Blitz Basic and run on an Amiga?
--
moto
-
BlitzMax is quite a bit different to Blitz II. If the game has used some of the object-oriented features of Max, you'd have a harder time porting it, otherwise though it should be doable as both languages are Basic at the core.
-
I don't know whether it uses and OO features or not. What type of syntax should I look for to determine whether anything is OO in the BlitzMax code?
--
moto
-
Type, Field, Method, Extends, etc.
Under Blitz II you have Arrays, Lists and NewTypes (can't remember anything else), you could probably convert most stuff from BlitzMax to Blitz II, but it's more complicated if the BlitzMax code includes stuff like inheritance and methods.
If the code you have works in Blitz3D or Blitz2D (also known as Blitz Basic PC) then it should be far easier to convert.
-
Well the main part of the code contains Type, Field and Method in several places, so I suppose it's going to take more than just changing some syntax to get it working. If anyone is interested in taking this on, it's GridWars (an implementation of Geometry Wars on the X-Box). I think it would be a great game on the Amiga. You can't download it any more but I've got the MacOS binary and the BlitzMax source (which is cross platform).
--
moto
-
By the sounds of it, it would be akin to porting C++ to C. Doable*, but not exactly straightforward.
(* you might end up with something that functions the same way overall but you may have had to rewrite entire swathes of it to get there)
-
Having used both languages, I can confirm that they are very different. None of the functions are the same (and the command syntax differers in many places), variables/datatypes are handled differenly... and Blitz Basic lacks any OO... you'd find it easier to port from BlitzMax to C++ with SDL than to Blitz Basic 2.1.
-
Thanks for the info guys. Bloodline, since you have used both languages why don't you port it for us? :-P
--
moto
-
motorollin wrote:
Thanks for the info guys. Bloodline, since you have used both languages why don't you port it for us? :-P
--
moto
If only I had the time... It's the least I can do to steal a few minutes here and there to check my personal Emails... :-(
-
Ok here's another thought. I believe the source code for the BlitzMax compiler is included if you buy it. I say that because I have read some things online about re-compiling BlitzMax. How much work would be to port BlitzMax itself to AmigaOS/MorphOS? Then BlitzMax apps could just be compiled on the Amiga/MorphOS version. I'm way out of my depth here so please forgive me if this is a stupid idea :lol:
--
moto
-
It includes the source for just about everything except BCC, which is the actual compiler.
-
Damn :-( Thanks for the info though.
--
moto
-
See if someone at Blitz Research could help. BlitzMax is awesome. OO at its best. It would be a good dev tool to add to the Amiga toolbox. Blitz is still a great development environment. BlitzMax made BlitzBasic true OO. I had stop using Blitz3d as it wasn't object oriented. OpenGL works with BlitzMax, but code modifications might be needed to work with Mesa.
Edit Add: Amiga needs a good gamemaker as there isn't one anymore. Programming can be a pain, and C++ can be too picky and time consuming.
-
Amiga needs a good gamemaker as there isn't one anymore. Programming can be a pain, and C++ can be too picky and time consuming.
We're working on an object-oriented Amos spin-off tentatively called Mattathias (named after the son of the prophet Amos) that will work on many platforms and likely will support the SDL programming interfaces on the high-end systems. AmigaOS 3.x will probably be native-coded, however, since SDL crawls on a 680x0.
-
SamuraiCrow wrote:
We're working on an object-oriented Amos spin-off tentatively called Mattathias (named after the son of the prophet Amos) that will work on many platforms and likely will support the SDL programming interfaces on the high-end systems. AmigaOS 3.x will probably be native-coded, however, since SDL crawls on a 680x0.
I remember Amos. I chose Blitz instead, but Amos was good, too. Another Click and Create or other gamemaker tool would be good. I've created small games with www.gamemaker.nl's tool, and it's easy. IMHO the computer industry should have more advanced (or basic depending on viewpoint) tools for creating applications that need less programming, but that's another post topic.
-
I remember Amos. I chose Blitz instead, but Amos was good, too. Another Click and Create or other gamemaker tool would be good. I've created small games with www.gamemaker.nl's (http://www.gamemaker.nl) tool, and it's easy. IMHO the computer industry should have more advanced (or basic depending on viewpoint) tools for creating applications that need less programming, but that's another post topic.
Blitz was better at the time because its functions were thinly transparent abstractions of the Amiga libraries or custom chip functions. Amos will be a better target for future programs, however, since it's high-level functionality is more abstract than Blitz's.
I looked into a game maker for Amiga called Backbone that was written in Amos but their Yahoo group's been taken over by hackers and the moderator's email is bouncing. I'm hoping that the new object-oriented plug-in feature will make the programming a lot easier.
Likewise the syntax tree may be made flexible enough that other front-ends can be written for Mattathias including icon-based syntax if you like. But first things first, we need to get the plug-in system working first, then the Amos compatibility extension(s).