mbmframework released!

Community Forums/Showcase/mbmframework released!

matibee(Posted 2010) [#1]
I finally did it, but I don't expect it to be a smooth process, first time around...



A new blitzmax framework with too much functionality to list here, so please see the link in my sig below.

You'll find the framework module for Win and (Intel) Mac, samples, documentation and a complete (although in beta) game project made using it.

It's free for non-commercial use!

Have fun :)


therevills(Posted 2010) [#2]
Looks good :)

I tried the Gem smasher demo and the game is cool.

There does seem to be an issue with your GUI buttons though, sometimes you can click them and when you mouse over them their dont turn yellow... I had this when creating a new profile, when it returned to the title screen I could not use any of the buttons so I forced quit the game and tried again. It also messed up when I completed a level, I couldnt click the OK button...


Boiled Sweets(Posted 2010) [#3]
I had same problem with GUI buttons!


matibee(Posted 2010) [#4]
Thanks for your feedback chaps! I've not seen the GUI issue on the machines I've tested on, but I'm pretty sure I know what it is.

While the GUI forms are animating their controls don't react to mouse events (otherwise you'd get mouse over sounds and highlights when a form moves under the mouse). Those forms use a bounce animation script which I've just erm, "tweaked" and now in some cases, never stops (even tho it's changing so small it has no effect on a pixel position!)


Difference(Posted 2010) [#5]
Seems interesting, but Gem Smasher just starts and quits right away on my Mac Mini, NVidia 9400M, Snow Leopard


matibee(Posted 2010) [#6]
Thanks Peter. I think I somehow broke the archive putting the Win and Mac executables together. I've just uploaded another version if you want to give it another try.


matibee(Posted 2010) [#7]
I've now uploaded a new version of the game that should have the bouncing GUI issue fixed. I'd be grateful if you'd all try it again as I didn't see the original problem here.

Cheers!


CGV(Posted 2010) [#8]
Nice improvements to the game since you last posted it.

The button problem appears to be fixed but I noticed that the game keeps running when the app loses focus.


therevills(Posted 2010) [#9]
Yep the GUI buttons looks to be fixed.

I agree with CGV that the game should be paused when the app loses focus, also in window mode the window's close (red cross) should kill the app.


matibee(Posted 2010) [#10]
Thanks again chaps.

I guess I should add auto-pause on lost focus. I'll look into it.

The reason it doesn't quit on AppTerminate() isn't really down to the framework. If for example, it's a locked demo of a shareware game, there will be an exit nag screen that you don't really want the user skipping so the app should detect appterminate and take whatever action it sees fit.

Obviously it doesn't do anything yet in Gem Smasher but it will eventually go to the nag screen if it's unregistered, or exit immediately if it is.


Boiled Sweets(Posted 2010) [#11]
fixed


therevills(Posted 2010) [#12]
I don't know if you've seen Grey Alien's Framework, but in that frame work when the exit game is executed (either by the game menu or via the windows cross) you can do a user-defined function which a nag screen can be displayed or something else...

Its all depend on how much you want your framework to do for the user I guess... just something to think about.


matibee(Posted 2010) [#13]
Ah, ok. I've seen Greys list of features but I've never actually used his framework. I've said before, this only came about because I missed the boat on his.

Edit...

I notice the docs are getting a lot of hits and I've just uploaded the latest version which may be significantly more upto date than those accompanying the framework download..
http://www.matibee.co.uk/temp/commands.html

Especially the base AppModule type..
http://www.matibee.co.uk/temp/commands.html#AppModule

Cheers!


Grey Alien(Posted 2010) [#14]
Good luck with this. It's good to see another framework out there.


matibee(Posted 2010) [#15]
Cheers Grey :) More than the sale price it was borne out of necessity to do my own games and as a freelance coder I reckon the exposure can't hurt either.


matibee(Posted 2010) [#16]
Hi all,

I've just been made aware the framework samples were mostly broke. I said this wouldn't be a trouble free process first time around! There's a new download available:

http://www.matibee.co.uk/wpsite/downloads/mbmFrameworkSamplesV1.1.zip

There's still an issue with sample 5 and the latest BMax which I'm looking into now.


GaryV(Posted 2010) [#17]
Looks nice, but the lack of Linux support makes it useless to me. If we shell out the $70.00 (USD) for the commercial version, do we get the source so we can compile a version for Linux?


matibee(Posted 2010) [#18]
Yes GaryV. Purchasing comes with full source code to the framework and even the GemSmasher game, much of which is potentially reusable (Mainmenu, PauseMenu & LoadingScreen AppModule derived types).

Tucked away right at the end of the features page..
All source code provided to paying users

Upon purchasing you’ll be granted access to a private download area where all the source code can be found.




matibee(Posted 2010) [#19]
New modules and samples uploaded. Built and tested to work with BMax1.37 and the DX9 graphics driver. The GUI Sample (sample 5) can switch between graphics drivers freely on Windows by pressing the 1, 2 or 3 key.

There was a major issue with Mike Wierings legacy BMFont module so this time I've fixed it and incorporated it straight into the framework. If you use that mod and want the fixed version, you can find it here... http://www.matibee.co.uk/wpsite/?page_id=6/general-2/bitmap-font-mod-revisited/

Cheers!


matibee(Posted 2010) [#20]
Profiler added..

http://www.matibee.co.uk/temp/commands.html#PROFILING

:)


GaryV(Posted 2010) [#21]
The profiler is very, very nice.

$69 is out of my range right now for freeware use, but this is bookmarked and on my "to get" list.


_Skully(Posted 2010) [#22]
While I can see a use for the profiler I would put those behind ?debug to ensure your not compiling extra clock cycles into your production code... a profiler in the wrong place could be very expensive!


matibee(Posted 2010) [#23]
GaryV - Do you need source or a linux version for freeware use? Email me.

_Skully; Profiling is sometimes needed in release builds so hiding it behind debug tags isn't the answer. In C/C++ we'd use conditional compilation to build with or without it but here I purposely do a very early-out if profiling isn't enabled.


_Skully(Posted 2010) [#24]
Honestly it shouldn't be needed in release builds... thats the point of release is that its debugged! lol

I suppose it doesn't really matter... someone using it can make that determination on their own.


_Skully(Posted 2010) [#25]
That Gem Smasher is really cool... even my 4 year old daughter kicked me off to play it.

Nice work and interesting twist on the match games


matibee(Posted 2010) [#26]
Cheers Skully :) It needs some work on the level design but it's almost there.


Grey Alien(Posted 2010) [#27]
lol at your new sig, it's cool. However effort should be a Bool, or the value should be 0 or a const like MIN.


matibee(Posted 2010) [#28]
Haha, cheers Grey. Should I include a disclaimer explaining that's not really a framework function too? :)


_Skully(Posted 2010) [#29]
make that an automatic load of gem smasher LOL


Grey Alien(Posted 2010) [#30]
Haha, cheers Grey. Should I include a disclaimer explaining that's not really a framework function too? :)
probably ;-p


matibee(Posted 2010) [#31]
I've just updated to V1.3. The particle system needed a bit of a tweak in order to support emitter escape cones and angular directions for rocket trails etc..


And there's also a min / max distance range for controlling where the particles spawn in relation to the emitter. That's good for things like this..


[edit!] And a random scale range for the particle scale when spawned..


I'm not going to town on this particle system while such a great alternative exists in the form of TimelineFX (Pete Rigz has even coded a TimelineFX demo into one of the framework demos to prove they live happily side by side) but it's important to at least cover the basics.

The particle editor and particle system come with full source and you're free to use it without the framework. The download comes with pre-compiled Win and Mac executables and sample emitters.


Hotshot2005(Posted 2010) [#32]
I have play Gem Smasher and I have say that I pick up very quickly when playing the game and it is ace!


matibee(Posted 2010) [#33]
Cheers HotShot :)

On another note, the first part of the first tutorial is up...

http://www.matibee.co.uk/wpsite/?page_id=26

It will eventually become a full game but right now it's just a basic demo with lots of animated sprite instances, static sprites, basic resource control and AppModule derived stuff.

Cheers
:)


matibee(Posted 2010) [#34]
V1.4 released with a new SpriteList Type added for handling lots of instanced sprites. I've also added Get/Set_X and Get/Set_Y for accessing sprite positions to compliment the exisiting Get/Set_Position() methods. This has tidied up the tutorial quite a bit.

:)


Dabhand(Posted 2010) [#35]
Just played GemSmasher on Wine, runs a charm, cute little game too! :D

Dabz


matibee(Posted 2010) [#36]
I guess you mean Wine on a linux distro and not MacOS - there's a native mac version :)

cute little game too! :D


Thanks :)


matibee(Posted 2010) [#37]
Update time!

I've just completed the first tutorial on how to use the framework. It takes a lightweight look at building a first game from scratch whilst utilising the resource management and application flow. Along the way it looks at working with the GUI, handling sprites, particles, sounds, high scores, system options and INI files. And possibly more.

Still so much more to cover :D

Cheers!
Matt


matibee(Posted 2010) [#38]
Yet another update...

For those of you who don't know what this framework is about, here's a little introduction (it explains the reason for the update);

It's an OOP, data driven, game framework where you code your game logic and resource handling into specific types derived from the framework AppModule. These types can have a resource script that defines all the sprites, sounds, GUI windows, particle emitters and variables that your type uses. Loading and unloading is handled for you and you just access your resources really simply by just using the name you gave them in the resource script. There's samples and tutorials on how all this fits together.

(There's tons of other functionality too, but that's the heart of it).

Recently a framework user asked about procedurally generating content. Rather than load a sprite from a resource script he wants to generate animated sprites in code. Nothing major or new about that, except I figured that this sort of content should be managed by the system and promptly added support for it. There's even a new sample showing how it's done. I don't add code without due consideration but this was a case worth covering.

I mention this as an indication as to how much support the framework users can expect. There's several games in development right now, and as a full-time work-from-home freelancer, I'm here all times of the day and night to provide prompt assistance. You're not just licensing the code -- you're licensing me too :D

And remember it's free for non-commercial use!

Main site and support forums, Online docs.

Cheers!
Matt


Jason W.(Posted 2010) [#39]
Your Main site and support forums link is displaying a 404, it appears that the F should be lowercased. Change http://www.matibee.co.uk/mbmFramework to http://www.matibee.co.uk/mbmframework

Interesting framework...I need to look into it some more. Thank you for doing documentation.

Jason


Hotshot2005(Posted 2010) [#40]
the documentation need add more code tutorials when person click on say functions of whatever is...blitz 3D had brilliant documentation because when person click on commands then it show the code tutorials and that why it was great!


matibee(Posted 2010) [#41]
Cheers Jason! Links fixed.

Hi HotShot. Simply rebuild the documentation after installing. The vast majority of the mod is already documented (see here) and all of the important types and functions will become highlighted in the IDE and work with the F1 key. Unfortunately most of the functions you'll use are member functions of a type and Blitzmax doesn't highlight these. I guess something like Dabz's MaxSense or Ziggy's BLide with intellisense would help.


Dabhand(Posted 2010) [#42]
Ziggy's Blide (http://www.blide.org/) is highly recommended, but, if your just after basic code completion stuff in MaxIDE, then look at my sig hotshot!

Dabz


matibee(Posted 2010) [#43]
Another update today: License changes.

In order to encourage free use, I've added a much cheaper, closed source license. See here.

Now if you develop a game with the free license with the potential aim of selling it, you're not faced with such a big license fee if and when the time comes to go commercial.

Upgrading from closed source to full source is available but I've not put it on the site because it over complicates the issue.

Cheers!
Matt


qim(Posted 2010) [#44]
Hi Matt,

it would also be nice to have an upgrade option, if someone would like to purchase the source code later. ;-)

Bye,
Oliver


matibee(Posted 2010) [#45]
it would also be nice to have an upgrade option, if someone would like to purchase the source code later. ;-)


To quote myself:
Upgrading from closed source to full source is available but I've not put it on the site because it over complicates the issue.


:)


qim(Posted 2010) [#46]
Ah, sorry, my fault. :-(