BlitzMax Rant

BlitzMax Forums/BlitzMax Programming/BlitzMax Rant

AdamStrange(Posted 2015) [#1]
I'm in rant mode now...
So, I decided I needed to investigate bitmap fonts
Virtually nothing in the index or help - no surprise there
I'm on OS X, so anything windows is out.

So I (eventually) find a nice bitmap font editor that exports to loads of formats. Picking Unity at random I check the resulting files
- yep, I can write a parser to eat this
- yep, I can write the support code and openGL code to output it
- yep, I can write the shader code for the openGL...

<RANT = TRUE>
Why the hell should I have to. There should have been a nice simple way to do it...
The BMAX help file should say what a bitmap font is, what is it's format, what do I need to create it and how?
There should have been nice simple examples...
There should have been valid ways to get font samples on different systems...
There should have been something to stop me banging my head - ouch!
</RANT>

It's the old story. what should have been simple is not. And people wonder why Unity (et al) are so popular. I'm not leaving Monkey out here as it has just the same problems...


Matty(Posted 2015) [#2]
Documentation was great in b3d and bplus. This was one of the problems with bmax that kept me away from it.

Funny thing though is that some of the coders at work pay no attention to the documentation in source. ....they often ask questions that are addressed directly in the comments of the code they are working on.


*(Posted 2015) [#3]
By bitmap fonts do you mean a image with all the letters on it? If so surely LoadAnimImage would do it and then have a string with all the characters in order then do a instr to locate the character to draw at a particular position?


Wiebo(Posted 2015) [#4]
You're like my trying to use Monkey. Too much fuss.


Brucey(Posted 2015) [#5]
FreeTypeGL works rather well for me.


AdamStrange(Posted 2015) [#6]
FreeTypeGL works rather well for me.

Thanks Brucey, thought you might have something lurking around :)

I'm just finishing up writing the .fnt parser and then the GL side of things - should be finished later :) and at least generally compatible with Unity


AdamStrange(Posted 2015) [#7]
Basic 2d version now finished and operational :)

I'm using bmGlyph to create a bitmap font (from the mac App store)

1. Reads in a .fnt or .txt (they're the same format just text)
2. Parses the contents and creates a char data map
3. loads in the associated .png flie

Then simple draw command to deal with the drawing using the char data (it contains all the offsets, widths, etc)
I don't dal with kerning, but it is still very fast and looks great :)

Nice thing about bmGlyph is that is exports unity - so no upgrade issues. and I can load the resulting png file into photoshop for even more typeface mucking about if needed...


Hardcoal(Posted 2015) [#8]
Documenting blitzmax is way harder than Documenting blitz3D,
Since blitzmax is 10 times more complex.


Yasha(Posted 2015) [#9]
Documenting blitzmax is way harder than Documenting blitz3D,
Since blitzmax is 10 times more complex.


True, but not by itself an excuse. Features are only helpful if the user knows they exist; complexity is only justified if it results in more or better features.


*(Posted 2015) [#10]
Yasha: +1, max docs were always the bugbear of the community


Hotcakes(Posted 2015) [#11]
Reverse engineering the modules were the order of the day much of the time :)


skidracer(Posted 2015) [#12]
I wrote my own.

BlitzMax does not include required logic which is why there are MANY community solutions.

Ranting about how vanilla BlitzMax doesn't do something it never did seems like you may have overdone the banging of head phase.


H&K(Posted 2015) [#13]
The core bit of Bmax, the bit that all the rest is written in, thats the bit that needs good documentation. And to be honest its not that bad.
Mostly the rest is commented code, as said above.


AdamStrange(Posted 2015) [#14]
After more head bashing I decided to make a 3d font and use that instead:


It now fits better with the saturated blocky look too


Jason W.(Posted 2015) [#15]
Looks great!

Jason


AdamStrange(Posted 2015) [#16]
Thanks Jason. I'm just implementing some smooth frame based animation (for tentacles!)



*(Posted 2015) [#17]
Looking good, is this minib3d or ya own engine?


Who was John Galt?(Posted 2015) [#18]
Looks brilliant. To make one negative comment Adam (the only one I can see from the screenshots), the clouds you had in the other thread looked somehow out of place with the rest of the gfx and drew too much attention. Maybe remove the outlines and make them 'squarey' rather than 'triangley'


AdamStrange(Posted 2015) [#19]
currently they are removed - but I'll have a look and see what can be down :)