August 20, 2019, 12:46:19 AM

Author Topic: What do you like about BlitzMax  (Read 4169 times)

Offline Xaron

  • Sr. Member
  • ****
  • Posts: 252
What do you like about BlitzMax
« on: September 14, 2017, 08:11:23 PM »
Hey there,

out of curiosity, what do you like about BlitzMax most? What do you "hate"?
What makes it superior over BB3D for instance (let the outdated DX7 stuff aside for now).

So, is it that cross platform feature? Or are there any language features you like? Do you need OOP or not?

Thanks!

Online Steve Elliott

  • Hero Member
  • *****
  • Posts: 1916
Re: What do you like about BlitzMax
« Reply #1 on: September 14, 2017, 08:29:16 PM »
Cross platform on Windows, mac and Linux were great positives...Until Linux support fell away.

The downside for me was it seemed more biased towards BASIC, than C++.  So it was neither a BASIC or a modern OOP Language (so fell between two stools) and lost sight of the goal - an easy to use (modern) game language.

OOP, but not every single feature - because that over-complicates design choices.
Windows 10, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
MacOS Mojave, 64-bit, 8Gb RAM, CPU Intel i5, 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB.
Linux Mint 19.1, 64-bit, 16Gb RAM, CPU Intel i5, 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb).
Raspbian Buster, pi4 4Gb RAM,1.5Ghz

Offline Henri

  • Full Member
  • ***
  • Posts: 207
Re: What do you like about BlitzMax
« Reply #2 on: September 14, 2017, 08:46:17 PM »
Why, it's like the old Chinese saying;

* It don't mean jax, if it ain't got the max  :D

-Henri
- Got 01100011 problems, but the bit ain't 00000001

Offline sphinx

  • Full Member
  • ***
  • Posts: 207
    • Ancientsoft
Re: What do you like about BlitzMax
« Reply #3 on: September 14, 2017, 09:56:49 PM »
Cross platform
Extensible 
Kind regards,
Maher F. Farag
www.ancientsoft.com
www.osakit.com

Offline IanMartin

  • Full Member
  • ***
  • Posts: 122
    • Retrolutionary.com
Re: What do you like about BlitzMax
« Reply #4 on: September 14, 2017, 11:43:22 PM »
"what do you like about BlitzMax most?"
It's super fast.  I think it was the best solution for 2D Windows desktop games.
IncBin.  Almost anyone who you can buy assets from, like art or sound, wants them included in the binary, not loaded at runtime and exposed in your folders for anyone to access.
You can add things like mods, call C code, use Windows system functions.

What do you "hate"?
Some bugs were never fixed, some features never added.
'Real world features': Features that are necessary for shipping a game in Current Year.  I.E.: Steam integration which had to be shoehorned in.  Steam features were never added to the language's built-in Functions.  Built-in controller support does not work correctly with the PC standard Xbox 360 controller, etc. 
Does not export to web out of the box.
Does not export to Android out of the box.
The developer has made it pretty clear he wants to work on what he wants to work on, not necessarily what people shipping games with the product want or need.
The website was taken down without so much as an email to let me know it was being taken down.  I can no longer download all of my files (BlitzPlus, Blitz3D, BlitzMax, Monkey-X) that I previously bought from any computer in the world through the website.  Yes, I bought them all. 
BlitzMax was given away free.
No interest has been shown in added BlitzMax to Steam, despite it being Greenlit.
Little to no interest shown in marketing Blitz languages.  Despite how good BlitzMax was, almost no other devs even know it exists (Source: I started and ran a PC Game Developers group on Facebook).
You can't export to Mac from the Windows compiler.  I think you need Linux to export Linux too?

"What makes it superior over BB3D for instance (let the outdated DX7 stuff aside for now)."
Easy scaling and rotation with pixel perfect collision detection. 
IncBin (I think, I'm not sure it was in B3D?)

"So, is it that cross platform feature?"
By cross platform do you mean Win/Mac/Linux?  I usually think of cross platform as being web and mobile too.

"Or are there any language features you like?"
Scaling, rotation, incbin, collision detection.  These are some of the things that are/were missing in Monkey.

"Do you need OOP or not?"
No.  And I very much do not like the OOP direction taken by Monkey and now Monkey2.  I like BASIC's procedural approach.  You can all get pitchforks and torches now if you like.  If I wanted OOP, I would have stuck with C++ (what I made my first PC game with).  If Atari BASIC would compile to IBM compatible machine language, I'd use that ;)
Platfinity (made with BlitzMax) on Steam:
http://store.steampowered.com/app/365440/Platfinity/

Offline Xaron

  • Sr. Member
  • ****
  • Posts: 252
Re: What do you like about BlitzMax
« Reply #5 on: September 15, 2017, 08:18:05 AM »
Thanks guys for your input! :)


Offline degac

  • Full Member
  • ***
  • Posts: 120
    • graphio.net
Re: What do you like about BlitzMax
« Reply #6 on: September 15, 2017, 08:34:19 AM »
Rapid Development

Download and install it, just open IDE, write code, press F5 and you have the results. In few seconds.
You don't need (unless you want to change the source code and compile new modules) to install anything else.
Again, Linux (a wild beast) has more problem (64bit support, many distro etc) - but nothing impossible to resolve.
You can choose what modules Import to get a small final .exe (maybe not so important today, but I'm still thinking that we need some 'ecologic' use of the web - so don't waste band or HD space :D)
You can write 'console' application - just a flag.

Modular design

try to make an application that reads thounsand of .txt file and transform them in PDF (cairo), then upload the results to a website (libcurl), update the database and then send an advice via email (some of work in PHP).
I still haven't found another 'modern' language (from Mark/BRL or doesn't require to rewrite everything!) that allow to make this. And I need for work...

Multitarget

At the time (10 and more years ago) supporting 3 different OS (Windows, Apple and Linux) was the top. Mobile support was very at early stage, with too many strange OS (Symbian, Blackberry ecc). So I don't think that it was (or is) a limit!
Honestly there are better and more designed solution just ONLY for mobile. And Monkey-X shown the limit of the approach of a too wide multi target support (headache to make thing working on everything, low spec feature to be fully complaint with every target and so on)

OS integrated

you can write application that integrates with the OS. MaxGUI sure is not the best solution (it stills have many limits and no grid support for example!) but again, you can improve (via proxygadgets) and write very small application with standard gadgets (compared di WX application the resulting .exe is very very compact!). Again on Linux FLTK support is out-of-time, but there are also alternatives. And HTMLgadget is very limited (for example not all the platforms supports JavaScript, and things - on that side - are gonna ahead! HTML5/CSS/DOM etc

OS support

I'm using it since Windows98 and it still works without problems. The only problems I know is accessing to some 'public/user' folder and permission-rights, but again this is due to changes in the OS (mainly Windows).
At the moment I'm using Windows 10 (64 bit) and I can compile and run everything.

Language

it is NOT keysensitive (believe me, it's important when you need to type faster and make prototype!)
It has reflection!
it has OOP support, not full but the 'useful' things are in.
Someone could critics that lacks of GENERICS (not really, you could use Object keyword with attention and fill your code of IF..THEN :D), and - of course - overloading: personally this kind of feature complicates reading a code, but this is something subjective.

--

I still think BlitzMax is the best product of BRL/Mark: very 'generic' (not targeted on games as Blitz3d for example) and without limit (just look at the modules available...)

And if someone would consider to port to mobile target (or web) should consider BMX-NG.
Or just move to MonkeyX (CerberusX) or Monkey2

We could speak for years about the marketing skills of Mark and his strategic decision, but the things don't change at all.
If there's a problem, there's at least one solution.
www.blitzmax.net

Offline col

  • Sr. Member
  • ****
  • Posts: 429
Re: What do you like about BlitzMax
« Reply #7 on: September 15, 2017, 01:49:33 PM »
I like the 'limited' OOP, the module system, the 'easy' interop between 'Max and C, and that you can open the editor type and compile. No need to set up project folders and build systems ( aside from installing gcc ).

Missing features for me are 64bit, stack variables for all types, private and public accessible type members. Better optimisation and assembly output - all fulfilled by Bruceys NG version of BlitzMax.

All that other stuff... overloading, generics et al are syntactic candy that expands to what you would have typed anyway so I'm not so bothered for them - although they are nice  ;)
Writing for mobile hasn't interested me just yet.
To be is to be perceived.

https://github.com/davecamp

Offline MikeHart

  • Hero Member
  • *****
  • Posts: 593
  • Cerberus-X Dev Team
    • Cerberus X
Re: What do you like about BlitzMax
« Reply #8 on: September 15, 2017, 01:59:00 PM »
... and assembly output - all fulfilled by Bruceys NG version of BlitzMax.
And here I sit and thought that BMAX NG was translating to C++.

Offline col

  • Sr. Member
  • ****
  • Posts: 429
Re: What do you like about BlitzMax
« Reply #9 on: September 15, 2017, 02:20:21 PM »
.
To be is to be perceived.

https://github.com/davecamp

Offline Xaron

  • Sr. Member
  • ****
  • Posts: 252
Re: What do you like about BlitzMax
« Reply #10 on: September 15, 2017, 02:29:14 PM »
I think translating to assembler would be an overwhelming task. Every C compiler nowadays produces better optimized output than pure assembler coders usually do. Plus you have so many different processor types (beside the Intel ones there is additionally ARM as well) that this would be a lifetime job alone.

So actually translating to C/C++ and building that using a compiler like gcc is the way to go even though it means compile times go up a bit.

Alternatively you could create an interpreter for quick prototyping and almost no compile times and compile the results for release builds. ;)

Offline col

  • Sr. Member
  • ****
  • Posts: 429
Re: What do you like about BlitzMax
« Reply #11 on: September 15, 2017, 03:10:00 PM »
I agree that the latest compilers do an absolute sterling job in generating optimised assembly, but you can't beat hand written assembler if it's written by an expert. Saying that... because modern compilers do such an excellent job ( regardless or being able to write better assembly ) then there's no real need to write assembly for desktop apps, except maybe for some edge cases where a language don't support a feature, but even then each compiler has its own specific keywords and flags to take care of the majority of those edge cases.

Quote
Alternatively you could create an interpreter for quick prototyping and almost no compile times and compile the results for release builds. ;)
Are you in progress of doing that?  :)

EDIT:
I just saw your other post, and the answer I would guess is 'Yes'  :P
To be is to be perceived.

https://github.com/davecamp

Offline MikeHart

  • Hero Member
  • *****
  • Posts: 593
  • Cerberus-X Dev Team
    • Cerberus X
Re: What do you like about BlitzMax
« Reply #12 on: September 15, 2017, 03:27:19 PM »
Yes. He/we are in progress of creating something.

Offline col

  • Sr. Member
  • ****
  • Posts: 429
Re: What do you like about BlitzMax
« Reply #13 on: September 15, 2017, 03:42:20 PM »
Ok, it's a secret or care to share? or too early and shouldn't have said anything just yet?  :P
I know for sure there are some folk here that still haven't managed to settle comfortably on a language/package just yet.
To be is to be perceived.

https://github.com/davecamp

Offline Xaron

  • Sr. Member
  • ****
  • Posts: 252
Re: What do you like about BlitzMax
« Reply #14 on: September 15, 2017, 03:49:27 PM »
It's too early to show something but we work on something like BB3D (syntax like) plus cross platform (Windows/Mac, HTML5 via Emscripten, Android, iOS).