Welcome, Guest. Please login or register.

Author Topic: BlitzMax -> Blitz Basic?  (Read 5053 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
BlitzMax -> Blitz Basic?
« 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
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline uncleted

  • Full Member
  • ***
  • Join Date: Aug 2006
  • Posts: 107
    • Show only replies by uncleted
Re: BlitzMax -> Blitz Basic?
« Reply #1 on: November 11, 2006, 01:43:00 PM »
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.
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: BlitzMax -> Blitz Basic?
« Reply #2 on: November 11, 2006, 03:44:23 PM »
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
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline uncleted

  • Full Member
  • ***
  • Join Date: Aug 2006
  • Posts: 107
    • Show only replies by uncleted
Re: BlitzMax -> Blitz Basic?
« Reply #3 on: November 12, 2006, 01:01:36 AM »
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.
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: BlitzMax -> Blitz Basic?
« Reply #4 on: November 12, 2006, 10:45:49 AM »
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
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: BlitzMax -> Blitz Basic?
« Reply #5 on: November 12, 2006, 11:22:15 AM »
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)
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: BlitzMax -> Blitz Basic?
« Reply #6 on: November 12, 2006, 11:32:25 AM »
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.

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: BlitzMax -> Blitz Basic?
« Reply #7 on: November 12, 2006, 08:15:03 PM »
Thanks for the info guys. Bloodline, since you have used both languages why don't you port it for us?  :-P

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: BlitzMax -> Blitz Basic?
« Reply #8 on: November 14, 2006, 11:29:16 AM »
Quote

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... :-(

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: BlitzMax -> Blitz Basic?
« Reply #9 on: November 19, 2006, 05:55:36 PM »
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
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline uncleted

  • Full Member
  • ***
  • Join Date: Aug 2006
  • Posts: 107
    • Show only replies by uncleted
Re: BlitzMax -> Blitz Basic?
« Reply #10 on: November 19, 2006, 06:45:38 PM »
It includes the source for just about everything except BCC, which is the actual compiler.
 

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: BlitzMax -> Blitz Basic?
« Reply #11 on: November 19, 2006, 06:46:15 PM »
Damn :-( Thanks for the info though.

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline DavidF215

  • Full Member
  • ***
  • Join Date: Aug 2002
  • Posts: 182
  • Country: us
  • Gender: Male
    • Show only replies by DavidF215
    • Cross Timbers Haven
Re: BlitzMax -> Blitz Basic?
« Reply #12 on: December 29, 2006, 03:17:32 PM »
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.
AmigaOS enthusiast since 1993.
 

Offline SamuraiCrow

  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 2281
  • Country: us
  • Gender: Male
    • Show only replies by SamuraiCrow
Re: BlitzMax -> Blitz Basic?
« Reply #13 on: December 29, 2006, 06:18:08 PM »
Quote
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.
 

Offline DavidF215

  • Full Member
  • ***
  • Join Date: Aug 2002
  • Posts: 182
  • Country: us
  • Gender: Male
    • Show only replies by DavidF215
    • Cross Timbers Haven
Re: BlitzMax -> Blitz Basic?
« Reply #14 on: December 29, 2006, 11:49:13 PM »
Quote

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.
AmigaOS enthusiast since 1993.