Grey Alien BlitzMax Game Framework V1.0 (HOT!)

Community Forums/Showcase/Grey Alien BlitzMax Game Framework V1.0 (HOT!)

Grey Alien(Posted 2006) [#1]
*****
THIS THREAD IS OLD, THE LATEST THREAD CAN BE FOUND HERE:

http://www.blitzbasic.com/Community/posts.php?topic=62953

Please post there instead, thanks.
*****

Hi, I'm proud to release V1.00 of the Grey Alien BlitzMax Game Framework that is already in use by many hobbyists and professionals. I have had nothing but positive feedback about the product and the quality of my customer service. Give the mini-game demo a whirl today and find out what all the fuss is about:

http://www.greyaliengames.com/aotmg/aotmg040.zip (5.72Mb)

Find out more about the framework here: http://www.greyaliengames.com/framework/faq.html

Why do you need it? Well do you...

- want the fun of making games without boring research, technical problems and tons of interface code?
- want your game to run on a wide range of PCs using an ultra smooth timing routine?
- want your game to have the same functionality as professional commercial games?
- want to plug your code straight into an OOP environment with tons of ready-made Types?

Then get the Grey Alien BlizMax Game Framework!



How To Play
-----------

Just move left and right and shoot the UFOs with Z, that's it for now...

Keys
----

Press <Esc> to exit the game.
Press <F> to toggle full screen/windowed mode.
Press <V> to toggle VSync on/off.
Press <G> to toggle DirectX/OpenGL.
Press <D> to bring up the debug display
Whilst in debug mode, press <J> to jump level.
Whilst in debug mode, press <R> to restart level.
Whilst in debug mode, press <T> to toggle fast (full speed).
Whilst in debug mode, press <L> to toggle slow motion.
Whilst in debug mode, press <I> to toggle Flip modes.
Whilst in debug mode, press <A> to toggle anti-lag fix.
Whilst in debug mode, press <N> to toggle No Timing.
Press <P> to pause the game.
Press <Q> to quit the game.
Press <S> to toggle sound on/off.
Press <M> to toggle music on/off.
Press <-> and <=> to adjust sound volume.
Press <F12> to take a screenshot.
Press <Ctrl+X> to exit the game instantly.


Summary of features (in no particular order):
Smooth Fixed Rate Logic timing. 
Dynamically change between Full-Screen and Windowed Mode. 
Dynamically change between DirectX and OpenGL. 
Windowed mode has working minimise and close buttons. 
Game and music pauses whenever focus is lost. 
Full icon support. 
Ini file to save user settings. 
Extensive debug suite. 
Take screenshots with F12. 
Integrated mouse pointer. 
Sound and music functions. 
Sprite type. 
Button type. 
Menu type. 
Font and Label types. 
Animation type for handling multi-phase animations. 
Splash screen. 
Loading screen. 
Title screen. 
Fully working options screen. 
Fully working Player Profile Manager dialog. 
Dialog type extended to DialogOK, DialogYesNo and DialogTextInput. 
Load, save and enter High Scores. 
Other example screens such as Level Complete, Game Complete, Game Over, and Credits. 
Select Level Map which zooms and scrolls. 
Example types such as Player (with shield, lives, target, and level), Bullet, Alien etc. 
Fast fade. 
Manage multiple game screens easily. 
Event-based input instead of PolledInput. 
BlitzMax fixes and workarounds. 
And more!
(For a full list of features, please see the FAQ.)


*********************************************************
The Game Framework (Windows only) is a collection of files that you can use to make a professional quality game. It also comes with an example mini-game called Attack of the Mutant Greys.

You can buy it for £29.95, €43.50 or $54.95 (please ask for prices in other currencies). This gives you a royalty free licence to use the code for freeware and commercial projects. You will receive updates as and when they become available. I may start charging a higher amount soon for commercial use so grab it while you can at this bargain price!

To buy it, please go here: http://www.greyaliengames.com/contact.php and use the Paypal donate button (this is my preferred method).
Or use Share-it! https://secure.shareit.com/shareit/checkout.html?PRODUCT[300072102]=1
If you are based in the U.K. and want to pay by cheque or postal order, please email me (my email address is in my blitz profile and on my website). If enough people want to pay via a different method, I'll look into it.
*********************************************************

Thanks to everyone on the forums who has offered advice and helped with testing. Also HUGE thanks to all my loyal customers for your continued support :-)


Damien Sturdy(Posted 2006) [#2]
There's no avoiding the framework... ;)


Grey Alien(Posted 2006) [#3]
You'll be getting it after I've eaten lunch. Shame you're at work ;-) This one's got loads of cool game-based GUI stuff in it like dialogs, labels, listboxes etc.


taumel(Posted 2006) [#4]
I'm counting the days till it will cost more than blitzmax itself... :O)


Grey Alien(Posted 2006) [#5]
That won't happen due to perceived value - although there may be add on packs such as a platform game engine. However, this is pretty much the last major release as it really does have everything in it needed to make a professional game (which I'll be proving with the release of my next game soon...). Minor releases will occur when enough tweaks and customer suggestions have been included.


Damien Sturdy(Posted 2006) [#6]
Sweet! now get on with your work ;)


Grey Alien(Posted 2006) [#7]
I'm just taking a well earned rest for few minutes then it's time to make a TGem :-)


TartanTangerine (was Indiepath)(Posted 2006) [#8]
Lol, I'm waiting for TMatch3Game :)
myGame:TMatch3Game = TMatch3Game.Create()
Repeat
   myGame.Update()
Until myGame.End()



Grey Alien(Posted 2006) [#9]
no joke ... watch this space... :-D


Damien Sturdy(Posted 2006) [#10]
Grey- you mean a TCupOf?


Grey Alien(Posted 2006) [#11]
yeah with an optional param that takes constants like BISCUIT and SPONGE PUDDING, or like I just had FRUIT_AND_NUT_CHOC. In fact make that a bitmask, no point them being mutally exclusive :-p

In fact V1.1 will include a TKitchenSink.


wedoe(Posted 2006) [#12]
Hmmm, empty inbox...


slenkar(Posted 2006) [#13]
"want your game to have the same add-ons as professional commercial games?"

what does that mean?


Grey Alien(Posted 2006) [#14]
Wedoe: I sent it. I'll try again.

Slunkar: well stuff like fully working options page, full-screen/windowed mode, player profile manager, high scores, ini file, in-game menu, dialog boxes, shadows, proper icons, pause mode, minimise, just loads of stuff really, some big and some minor but they all add together to make a professional game. I've edited that line to say "functionality" now :-)


Matty(Posted 2006) [#15]
Hey Grey - do you have anything like that for blitzplus, I'm after something to make the bits and pieces like interfaces/gui/menu/options a bit less of a chore for me to do for the game I want to work on at the moment (the actual gameplay code is fine).


Grey Alien(Posted 2006) [#16]
Matty: Nothing as comprehensive but I did give away all my blitz plus libraries for free when I moved onto Bmax. It dues have some GUI-type stuff:

http://www.blitzbasic.com/Community/posts.php?topic=58413#649712

Just have a browse and see if you can find anything useful...


Matty(Posted 2006) [#17]
Thanks, I'll have a look.


Blitzplotter(Posted 2006) [#18]
Your Framework is fantastic value, especially commendable is the level of support you provide for your product. {:~>)


Chroma(Posted 2006) [#19]
$55 bucks for a framework...wow.


Grey Alien(Posted 2006) [#20]
Blitzplotter: thanks dude, your continued support is great.

Chroma: yep good value isn't it. That's around 20cents per hour of my time by the way. For a business it's a no brainer. For a home user it depends on if you want to go through the same pain I did or spend the money. Have you tried the demo? You get all the source code and media to make that demo. Just made another sale this morning.


Grisu(Posted 2006) [#21]
If I remember some of my economy lessons back at university right: it's all a question of "supply and demand". :o)


Chroma(Posted 2006) [#22]
Well not for me personally but to each his own. That's almost as much as BlitzMax cost itself. Not knocking it mind you and good luck.


Grey Alien(Posted 2006) [#23]
Grisu: yeah and demand is good :-)

Thanks Chroma. Yeah some people prefer to code this stuff themselves for the challenge and others just don't want to spend the money - fair enough. However, if a framework like this existed 3 months ago, I'd have paid a lot more than $55 for it so that I could write my next game more quickly. For anyone that's serious, it's a good investment. For the home user, it means you can have more fun making the actual game part plus you are bound to learn something from looking at my code unless you are already an expert.


Diablo(Posted 2006) [#24]
...Yeah some people prefer to code this stuff themselves for the challenge...

Like me!

I have to say tho, Very good work on this framework - Keep it up!


JoeRetro(Posted 2006) [#25]
A little expensive if you ask me, but you didn't :)

It's a shame it doesn't run (or you do not support it) on MAC nor Linux.


Grey Alien(Posted 2006) [#26]
JoeRetro: It should work on Mac and Linux without some of the extra tweaks (only about <0.5% of the code though!). I may be sorting out a Mac version in August... Do you have Windows, or are you mainly Mac/Linux? Was the old price of £25.90 still too much for you?


JoeRetro(Posted 2006) [#27]
I primarily use Windows and Linux, but over all I just want a cross platform solution. This is the main reason why I even purchased BlitzMax.

I think you have a solid solution for Windows, but if you could offer the same solution for all platforms (and support) then I believe you will have more customers :)


Grey Alien(Posted 2006) [#28]
OK thanks Joe. Mac is prety much on the cards, but for Linux I'd have to dual boot and all that stuff. I might wait for a petition from potential customers first ;-)


Grisu(Posted 2006) [#29]
Grey, you could sell the framework for each OS separately => MAXED CASH! ;)


Grey Alien(Posted 2006) [#30]
lol. Yeah I could do, maybe I'll do that for commercial use as let's face it, if people want to use the cross platform capabilities of BMax it must be for commercial use (probably).


Doiron(Posted 2006) [#31]
lol. Yeah I could do, maybe I'll do that for commercial use as let's face it, if people want to use the cross platform capabilities of BMax it must be for commercial use (probably).

Could you specify what do you mean by commercial? which is sold as a retail game, or just as shareware as a digital product? If you mean the latter as well, having the user to pay a price which is even higher than the current one could put off many potential buyers which aren't professional game developers.

A great aspect of multiplatform languages is the ability to compile the game/utility on whatever platform you like to in a matter of a few hours, so that even individuals can manage to have conversion of their products for other platforms, while in the past it was possible only with large-scale projects. In that respect open source products are nearly always free and usually offer a compiled version for a great deal of platforms, so that it clearly demonstrate how 'non-commercial' users are interested in this aspect as well. After all, if you're looking for glory rather than money you want to make your game available for as many users as possible. :)

Right now, the only thing which is holding me from buying the library is the windows-only compatibility issue (and the lack of bitmap fonts support)... considered that BlitzMax supports MacOs and Linux, the lack of platform support should be considered a minus, since by default BlitzMax should be a multiplatform solution. So, in my humble opinion the ability to compile both on windows, mac and linux shouldn't be an extra, but a future issue to cover. Please consider that is not so easy to tweak a complex library which you didn't write by hand in order to implement MacOs and Linux compatibility, so that by choosing your framework the user becomes tied to your decisions in that respect (i.e. if you decide to keep windows only compatibility, the user will need either to rewrite the incompatible components from scratch or choose another system altogheter).

To sum it up, I considered £25.90 enough, though I'm still interested in it (it surely saves hours of work, if you have just jumped from other Blitz products to BlitzMax).... However don't get too greedy, or you could lose customers! :)


Grey Alien(Posted 2006) [#32]
Doiron: Thanks for your feedback. If you make a game and sell it as shareware (via the Internet) or retail (in shops), that is basically commercial use. Shareware games can make big bucks don't forget. I appreciate that some people make games as a hobby and then release them as shareware but many people are running a business and buy in lots of different tools and the framework should just be viewed as another tool to save time and money.

As I've said before I'll add full Mac support in the future. I simply don't have a Mac so it's impossible for me to add Mac support right now. Also, it should compile on a Mac as I've used the ?Win32 compiler directives where needed, it's just that a few features (not many) won't be present, but everything else, all the types, the game structure, screens etc. will be there.

I'll probably add bitmap fonts at some point in the future, it's on my to do list, I just don't need them right now. Remember my main aim with the framework was to make something I could use for my games and a positive side-effect is that it's comprehensive enough to sell and people seem to really like it.

Yes I'm aware that getting too "greedy" will loose customers, and I don't plan to put the price up any more now. However, there is a business strategy where the price is high so you sell less and don't have to give as much support, but you get more money per sale. Finding the balance is important and difficult. The thing is that everyone that's used it says it's really good value for what you get. I boosted the price a tiny bit recently because I added a whole load of game-based GUI Types and a Player Manager which are very useful components and it's still selling because people see that it's worth it too them :-)

Anyway thanks for your interest. Hopefully when you see some of the games that will be coming out soon that are made with the framework they'll sway you towards it some more ;-)


Barnabius(Posted 2006) [#33]
I agree that $55 is a bit more than Grey Alien used to charge for the framework but it is still excellent value for money and I'd buy it without hesitation. I purchased it late May and I am already finishing an educational app for the local school. Thinking of how much more time I would spend if not for the framework, I would probably spend far more than $55. Also... I had a dinner last night on which I spent $35. So, you get the framework for less than two or three dinners. Cheap if you ask me...

Barney


Blitzplotter(Posted 2006) [#34]
I agree with Barnabius, I haven't had time to examine the Player Manager functionality yet, but for the project I am developing this will be a useful facility. I have just incorporated my own 'portal logo', If you are considering leaping into BMax, I can say that Grey's Framework offers more than a 'stepping stone' forwards in the BMax environment


Grey Alien(Posted 2006) [#35]
Thanks for your kind words guys. Really appreciate it and glad you are getting lots out of it.


Leo Santos(Posted 2006) [#36]
Hey, Grey!

I'm interested in the Framework, so here are some questions:

- It has event based input, does it mean it needs Max GUI?

- Does using your framework prevent me from controlling manually which modules Blitzmax is importing when the program is compiled? (in other words: does it load tons of other modules, even if I don't want them?If yes, do I have control over that without changing your source code?)

- Can I still specify a "target" frame rate? (I'm an animator, so frame rate control is precious to me - higher is not always better! :-)

- Can you post code examples that use your framework, just so we can have a better idea of how it's designed? (i know the examples will not compile unless I actually have the framework!)

Thanks! Hope everything is going well.
Leo.


Grey Alien(Posted 2006) [#37]
Hi Leo, to answer your questions:

- No it doesn't need Max GUI. Event-based input is standard in BMax, it doesn't need Max GUI :-)
- As for modules. I haven't told it which ones to load or not load, it simply uses whatever BMax chucks in as default (not very efficient I know) but you should be able to slim this down using the Framework keyword as long as you don't remove modules that my code uses...
- OK, there are 3 "framerates" to consider: 1) The screen refresh rate. In windowed mode this is the desktop Hz, and in full-screen it's 60 unless you change it. The refresh rate of the screen will not affect the game speed in any way. 2) The logic framerate, set to 200FPS for very smooth logic and mechanics etc. 3) the framerate you choose for your animations is independant of the other two. In fact there is even a TAnimation Type. Basically you setup a counter and a target in milliseconds that you adjust each logic frame by a delta amount, and when you draw your animated sprite you simply choose the appropriate frame depending on how far along the counter has got from 0 to the target millisecs. There are functions to do this for you and also examples. For example, when the counter is at 0, frame 0 is display, when the counter is halfway to the target, the middle frame is played etc. It's all specially worked out so that each frame displays for the correct amount of time. If you wanted to display some frames for longer, there are various techniques for doing this, the simplist being to build a list of frames to show from a possible list, and showing the same frame twice etc.

- Here's how easy it is to make a new screen:
Type TCreditsScreen Extends TScreen
	Method Load()
		name = "credits"
		'no loading text as it will be quick
		'leave title screen music playing
		Menu = TMenu.Create("buttonMO", "buttonclick",0,0,0)
		OKButtonCreate(Menu)
		Game.FadeMusic = 0 'prevent music fading when escape pressed
	End Method 

	Method Logic()
		Super.Logic()

		If Menu.Clicked("ok") Then
			Game.GameFade.Init(FADE_SPEED,1,Null, True)
			Game.DestinationTScreen = OptionsScreen
		EndIf
	EndMethod

	Method Draw()
		Cls
		SetImageFont(MainFont)
		ccDrawTextCentre("Credits", 10)
		ccDrawTextCentre("AOTMG", 240)
		ccDrawTextCentre("by Jake Birkett", 270)
		ccDrawTextCentre("(this will scroll soon)", 300)
		Menu.Draw()
	End Method

	Method SetEscDestination() 'overridden
		Game.DestinationTScreen = OptionsScreen
	End Method	
End Type


Here's how to make an error dialog in your prefered style:
Function ErrorDialog:TDialogOK(text$)
	'Show an error dialog in my preferred style
	Local d:TDialogOK = TDialogOK.Create(text)
	d.Shadow = TShadow.Create(3,3,0.4)
	d.SetupCaption(MainFontSmall, TColor.Create(255,0,0), TShadow.Create(1,1,0.6))
	d.Start()
	Game.FixedRateLogic.Init() 'call now in case of delay due to setup
	Return d
End Function


Here's a simple type to look at:
Type TGameImage
	Field name$ 'for easy identification when stored in lists
	Field image:TImage
	Field w% 'width
	Field h% 'height
	Field w2# 'width/2 for use with MidHandle
	Field h2# 'height/2 for use with MidHandle

	Function Create:TGameImage(file$)
		'file is full path
		Local gi:TGameImage = New TGameImage
		gi.Load(file)
		gi.MidHandle(True)
		Return gi
	End Function
		
	Method GetSize()
		'sets w and h based on the current image
		If image <> Null Then
			w = ImageWidth(image)
			h = ImageHeight(image)
			w2 = w/2
			h2 = h/2
		EndIf	
	End Method
	
	Method Load(file$, flags=-1)
		'file should should be full path inc. extension
		name$ = Upper(StripAll(file)) 'store uppercase for ease of searching
		Image = ccLoadBitmap(file, flags)
		'set the width and height
		GetSize()
	End Method
	
	Method LoadAnim(file$,w,h,start,total,flags=-1)
		'file should should be full path inc. extension
		name$ = Upper(StripAll(file)) 'store uppercase for ease of searching
		Image = ccLoadAnimBitmap(file,w,h,start,total,flags)	
		'set the width and height
		GetSize()
	End Method
	
	Method MidHandle(On%)
		If On Then
			MidHandleImage(Image)
		Else
			SetImageHandle(Image,0,0)
		EndIf 
	End Method
End Type


I hope this information helps. Have you tried the demo yet?


IPete2(Posted 2006) [#38]
Just a note about the price again, if you took a family of four to the cinema, it would cost more than this (with a drink each and some popcorn of course).

Think of ALL the work it saves as well as the boost to the development cycle. The framework itself is like a huge foundation to build your game on, sturdy, solid, reliable, flexible.

IPete2.


Blitzplotter(Posted 2006) [#39]
Grey, have just managed to implement a results.exe with the same/more reliable functionality as my B3D.exe in just over an hour by modding your THighScores. Need sleep now though....


Grey Alien(Posted 2006) [#40]
@Blitzplotter: that's great! I've been adding particle effects to the framework recently.


(tu) ENAY(Posted 2006) [#41]
Is there a (WARM!) edition?
I don't like hot things.


Grey Alien(Posted 2006) [#42]
sure, it comes in whatever temperature you like even Ice Cool.


Sean Doherty(Posted 2006) [#43]
Grey,

From looking at your framework, you a different screen for each state.

1) Do you pre load all of the graphics for the screens when the game starts; or load and destroy them dynamically during the game?

2) Also, I didn't notice a screen for the actual game play? How is it implemented; where is the player and all those lists stored (in game)?

3) Do you have collision detection built into the framework?

Thanks


WarpZone(Posted 2006) [#44]
Hey, Grey. :)

I'm thinking about getting it, but I'm still kinda undecided. It's just that Attack of the Alien Greys was a bit of a let-down, compared to other games you've released, such as Absolute Blue.

Would it be possible to create a game like Absolute Blue using the Framework? Or, I guess a better question might be, which features would one need to add to the framework (Other than obvious things like gameplay scripting and art assets) in order to make a game like AB?

Also, how much of a hassle would it be to integrate something like Simple Ogre Wrapper or another Max-3D solution, into the Grey Alien BMX Game Framework? Could we just call the start, update and render commands at the right times, or are there other considerations?

I suspect that your framework will undoubtedly be a step up from my current framework of "Start with Digesteroids, replace all the art assets, and then start rewriting all the update() and start() methods." But without seeing a really *nice* example game made using the Framework, it's kind of hard for me to judge whether it's a $50 step.

In particular, I'd like to see some of those "multi-phase animations" in action. Your animation looked great in Absolute Blue, but in AOTMG, it's just these static images floating against the background and changing colour. We have no way to tell how it copes with different frame rates, etc.

Thanks for your time, and sorry for being such a picky customer. :)


Yan(Posted 2006) [#45]
/Me flicks a stale Cream Cracker at WarZone's left knee!


WarpZone(Posted 2006) [#46]
Eeek! My sensitive and vulnerable left knee! XD

Did I mention that Absolute Blue is a KICKASS AWESOME oldschool 2D game and totally worth the $19.95 he's asking for it? :D That's why I want to know if its quality is attainable or not using the GA-BMX-GF. It is the DEFINITION of a professional-quality game!

Everyone go buy Absolute Blue! :) And stop throwing foods I never heard of at me...

I'll probabaly grab GA-BMX-GF anyway, I just wish I knew more ABOUT it right now. :) If it's capable of an elaborate animated side-scroller, then AOTMGs doesn't show off its true power. If it's not quite THAT advanced, then AB showcases EXACTLY the kinds of features that should be added in the next version. ;)

(I mean, I don't want to make more work for you if you can't increase the price proportionately, but is it really very much work to copy and paste code from a previously published game?)


Murilo(Posted 2006) [#47]
I've never heard of "Absolute Blue". Where can I find it?

I purchased Grey's framework though, and I'm really impressed with it.


Murilo(Posted 2006) [#48]
Found it. I didn't think to check on Grey's site!

I didn't see Grey's name in the game's credits though....


IPete2(Posted 2006) [#49]
WarpZone,

Perhaps you didn't really understand what Grey is offering here.

Forget the demo game, that is NOT A REAL GAME it is simply a demo of features found and useable by purchasing the framework.

What it does show is how and when to use the tons and tons of features Grey has built into his framework.

IPete2.


Yan(Posted 2006) [#50]
I didn't see Grey's name in the game's credits though....
That's because GA didn't have anything to do with it's production, he's an affiliate seller. Hence the Cream Cracker attack... ;o)


big10p(Posted 2006) [#51]
I don't think Grey wrote Absolute Blue - think it's on his site as an affiliate kind of deal. I could be wrong, though.


WarpZone(Posted 2006) [#52]
Oh. I see. Well, darn. :(

I don't *think* I saw anything in Absolute Blue that *can't* be done in Blitz...

Aww, c'mon! :) Show us some animated friggin' spaceships! :)

Seriously, though, the title screen, buttons, and scrolling and so on were VERY nice. :) I'll probabaly be getting it soon. When I do, maybe I'll kick out a demo of my own, if there's features present not currently used in AOTMGs.


QuickSilva(Posted 2006) [#53]
Although Absoulte Blue was not written by Grey it is still a Blitz game as far as I recall, 2D in 3D if I remember correctly written using Blitz 3D.

Jason.


Sean Doherty(Posted 2006) [#54]
Absolute Blue was written by:

http://www.intermediaware.de/


WarpZone(Posted 2006) [#55]
Oh, cool. That means it would be even faster using BMX's bytecoded 2D in 3D methods.

I was just playing AOTMGs again, and I noticed that the explosions ARE in fact animated. I just didn't notice this at first because they also rotate and fade. My bad. :D

Framework = tEh win!!!!!!11!!


AJirenius(Posted 2006) [#56]
@ Bobby Ball (Leigh)

Can you please contact me? Still havent heard from you and I wanted to talk about Archon.
This threadjacking seems to be the only way for me to get in touch with you.

ajirenius@...


Grey Alien(Posted 2006) [#57]
Sorry I didn't reply sooner, I've been away all weekend doing Aikido.

@Sean Doherty:

Yes generally there is a different screen for each state, but that's just how I've decided to make the AOTMG demo, you could use the same Types and do it differentlly. For example, the in-game menu is a TScreen that is shown on top of the TGameScreen.

1) Good question. The answer is both. Lots of graphics are loading on the loading screen when the loading bar moves across. However, they are kept in global lists and when the game screen and other screens need them, they are assigned to the objects. When the screens are destroyed, the links are killed but the graphics are still in the global store. However, other things are loaded dynamically and destroyed dyanmically like the menus and screen backgrounds for example. You can actually choose to do fully loaded or dynamic, or a mixture like I have. This will depend on the size of your graphics data, and if you want to interrupt the user with loading screens or not of course.
2) Remember it's up to you how much of the AOTMG code you want to use in your game, or if you just want to use the framework components. There is a TGameScreen Type in the AOTMG demo code, plus there is a TPlayer, TAlien, TBullet etc and lists to contain stuff. These are all fields of TGameScreen however, there is nothing to stop you making them global if you prefer.
3) I have examples of collision detection built into the framework (in the AOTMG demo) (e.g. lists of sprites placed on a layer and objects tested against the layer) and some useful collision functions in my commoncode.bmx file. However, the code framework doesn't have any collision code built in as the BMax collision code works well and people will want to use it in different ways. Do you think I should add some specific functions?

Thanks for your interest. Any more questions? Just ask.

WarpZone: oops sorry for the misunderstanding. I am just an affiliate for selling Absolute Blue, I liked it and so it's on my site but I didn't make it. Sorry :-( And yes, there is nothing in that game you couldn't do with my framework. All the other stuff on the site is by me, BUT it's in Blitz Plus not BMax so it's not a decent measure of what the framework can do. I moved to BMax as it's much more powerful and will help me achieve my game developement goals. Watch out for a game called Sudoku Maya Gold coming out soon (it'll be on the forums), this was totally rewritten in my framework by Gellyware in order to get on some big portals and it is looking sweet! Also, as you've identified, sprites can be animated at any framerate and the whole system is geared so it doesn't matter what Hz the screen is using, the anim will be the same. As for the multi-part anims, this is actually in evidence by simple things like the high scores screen. The scores that slide on the screen use 3 parts: 1 a delay in order to stagger the lines, 2 the slide itself, 3 a flash of colour when in the final position. This same thing can be applied to sprites of course. Finally, my new match-3 game will have plenty of animations in it and I've added a basic particle engine to the framework too (not released yet) and it's due out in August sometime... Anyway thanks for your interest, I hope you buy it :-)


WarpZone(Posted 2006) [#58]
Sent you a check. :P

(Paypal and I have... issues with each other.)

So 7 to 10 days from now, I'll be sitting pretty. :D

Until then, guess I'll just throw something together with a fixed frame rate and plug it into the framework when it arrives. :)


Grey Alien(Posted 2006) [#59]
woo thanks WarpZone. You could have used Share-It but a cheque is dine, thanks very much. Good luck plugging your code into the framework, it should be a breeze + you can contact me for support of course :-)


Blitzplotter(Posted 2006) [#60]
@Warpzone... congrats on purchasing Grey's framework, I've found it immensely beneficial for rapid development.

@ Grey: Is this lovely weekend weather helping with your particle effects development... I haven't had time to merge my initial development blah with your latest release yet - I should try and make that a priority - it's just that creeping my app forwards seems more fun than merge blah...


Grey Alien(Posted 2006) [#61]
I'll release 1.01 soonish, maybe in the next week or so...but the particles are in my new game not the AOTMG, although I'll see if I can get the mouse cursor to "twinkle" in that demo.


Murilo(Posted 2006) [#62]
Superb! I was hoping that a basic particle engine would make it in sooner or later. Looking forward to the next release...


Steve Elliott(Posted 2006) [#63]
Has the create extremely lucrative game function been implemented yet?


Grey Alien(Posted 2006) [#64]
Bobby Ball: Actually I might bling up the AOTMG demo a tiny bit to impress potential buyers.

Has the create extremely lucrative game function been implemented yet?
You bet, I'm making one now ... Actually in all seriousness, my framework can't do that but it makes it a whole lot more likely as people can get straight on with making the game, or if money isn't their bag, they can just have fun.


Doiron(Posted 2006) [#65]
Absoulte Blue was not written by Grey it is still a Blitz game as far as I recall, 2D in 3D if I remember correctly written using Blitz 3D.

The particles are clearly made with Particle Candy (it uses its standard explosions), while the rest looks like pure 2D (or it seems so, since the sprites are pixel perfect and without alpha).


Grey Alien(Posted 2006) [#66]
It's probably done in C++


Doiron(Posted 2006) [#67]
it's probably done in C++

Do you mean absolute blue? since the particles are made with particle candy - a single surface particle library coded in Blitz3D - the game was surely coded with the same language.

[edit] I searched for <"absolute blue" blitz3d> on google, and yep, it's a Blitz3D game:
http://www.intermediaware.de/forum/viewtopic.php?p=47&sid=65df4670ce548ea5648d342de6656d7c


Grey Alien(Posted 2006) [#68]
oh ok, good detective work :-)


gellyware(Posted 2006) [#69]
I've found Grey's framework very useful for making my first game (Sudoku Maya Gold) more professional. I converted the previous version I had to the framework in less than one week and after about a month you couldn't recognize the first version when compared to the new version.

The most important part of the framework for me was the ability to have multiple screens with ease and also a very organized way to manage your code. I could easily not comment a single line of code for Sudoku Maya Gold and come back in a few months and quickly find what I needed to alter/change due to the structure of this framework.

Admittedly, there were some 'quirks' at first with it... but Grey has done a wonderful job of making the code more and more flexible with each version as well as adding feature requests to make it suit a wide variety of casual games. As long as I'm using blitzmax for game development, I'll be using this framework as a base for all projects.

If you'd like to see the 'newer' version of Sudoku Maya Gold in action (utilizing Grey Aliens framework), you can download it here (15 mb) http://www.gellyware.com/files/06001-SudokuMaya/setup.exe

This version will go through one more set of revisions before being considered 'final' for release on Real Arcade.

Sudoku Maya Gold is run with BlitzMax, Swifts Sprite System, and Grey Alien's framework (wonderful combination to quickly put your ideas into play)


WarpZone(Posted 2006) [#70]
It's probabaly just my personal programming style getting in the way, but I'm having trouble with the framework so far. I think I'm going to scrap AOTMG and just start writing my own screens from scratch.

The AlienGrey Framework includes some great core features that no game should be without. But the example game seems much more complicated than it needs to be.

Making a simple change to AOTMG can be a big headache. Example:


Want to move the logo down a few pixels on the title screen? Okay, go into ScreenTypes and look for the main title screen. The copyright image is drawn roughly the way one would expect, using a custom draw function, so that one's easy to change. You might expect the title of the game to be as easily tweaked...

But wait, the name of the logo graphic is not mentioned, for some reason. For some reason, he's just calling DrawImage(image,screenwidth/2+x,screenheight/2+y), and values for x and y are nowhere in sight. The title graphic is an intrinsic property of the TTitleScreen type? He's calling it to make the title screen "draw itself," as if it were a sprite. Huh?

So then you've got to go into the TScreen Type TTitleScreen inherits from and look at its structure in order to understand what's going on with the logo graphic. Okay, looks like each screen has an image field, but there's no other clues as to where the logo's x and y coordinates come from.

Eventually, I found it. TTitleScreen not only ignores the default draw behavior, it also overrides the default loading behavior, with a method called SpecialLoad. I eventually found the function call I was looking for, and I was able to deduce that within the line

HeaderLoad("logolarge",screenwidth/2,50) 'this gets midhandled automatically

"50" was obviously the number I wanted to change. I tweaked it to 75, and now my slightly-larger title looks great... except the menu is too high. Another 45 minutes of hide-and-seek. Oh, there we go, I just change this number and it'll move the menu down. But now the text "welcome (playername)" is still overlapping the title... apparently that string isn't part of the menu... Maybe it's in the TTitleScreen draw function? DrawWelcome()!? Where the heck is DrawWelcome() declared!?



And so on. I could have made my changes to the look and feel of the title screen in a couple of minutes if all the drawing had just been done in the in the Draw() method!

It's the same way with changing anything. Graphics, input, gameplay... Almost every feature or object, no matter how simple, is spread over three or more bmx's that are all integrated with each other. Renaming a graphic can take 20 minutes because you have to hunt down all the references to it and change them, and said references are sprinkled liberally throughout the Framework's much-flaunted 10,000 lines of code. Even with BLide's Find feature, I still have to scour 6 bmx's, to make sure I don't miss anything.

Bottom line: I don't know what the heck I'm doing. Everyone else is singing the praises of this Framework, so I guess I'm the only one having trouble.

Hmmm. Maybe that's my problem. I'm trying to rebuild AOTMG into a game I'd already started using Digesteroids as my base... maybe I should be building my own main BMX from scratch instead?

I certianly wouldn't add 20 methods with unique names to every screen. All you really need is a Start(), End(), Update(), and Draw(). Anything more complicated than that and the overall program flow gets lost to anyone not already intimately familiar with AOTMG.

Black boxes are great if you've got a team of programmers and you don't plan on changing any functionality after an object is tested and working. But if I'm one single Blitz user, and I pick up your project cold, I'm going to have to edit dozens of black boxes just to make one minor change to the fundamental game. I think the framework would be a lot more approachable if the demo application were simpler. More linear. At least in places.

I'm not saying the framework is more trouble than it's worth. Cuz event-based input is worth a heck of a lot of trouble! I'm just saying the example game that ships with the framework is a LOT more trouble than it needs to be, in order to perform a simple task like making a spaceship slide back and forth on the screen at a fixed speed.

If I can come up with a simpler, more intuitive, more approachable demo game, I will certianly send it to Grey Alien, so he can show off the framework in a manner that's a bit easier for beginners to read and understand. That way, we could have a simple example and an OOP example.

Unless of course I'm the only one who wasn't able to "dive right in and start making my game!" using AOTMG as a starting point. What do you think, guys? Am I crazy? Or am I just using the framework wrongly?


Damien Sturdy(Posted 2006) [#71]
Hmm, fair points. I like the framework myself, and found the AOTMG demo although not the easiest, quite easy to go through and find stuff.

Perhaps another simple demo is required that is more linear to use, whereby everything to do with the game itself is set up in the game's main source code rather than it having several BMX includes as AOTMG does.


I'd have a speak with Grey. he likes to look after his customers. :D


WarpZone(Posted 2006) [#72]
Yeah, I've e-mailed grey a few times with specific questions. He does provide great customer service. :) But after so many noobish questions I don't want to use up all of my goodwill.

Besides, he's probabaly too busy adding and testing new features to go re-coding his example game from scratch. :P

The other thing is, from what I can tell, a reworked AOTMGs would only help me, one customer. Everybody else around here seems to know what they're doing. :P


gellyware(Posted 2006) [#73]
I had issues at first as well as it took a lot longer than it should have to figure out the head from the tail. That's what I meant by "Admittedly, there were some 'quirks' at first with it... "

However, once you understand how the framework works... it does get easier. I found myself using a combination of the framework menu system and my own for menu input. As you mentioned, everyone has their own style of coding so what makes sense to Grey doesn't neccessarily make sense to others as far as organization or execution.

I personally would prefer a stripped down framework with just the basic event handling and TScreens. Of course you can simply do this by not implementing the other functionality.

I'm considering writing an 'engine' that combines the framework with swifts system to make a drag and drop type app to quickly put together the screens like you can do with Torque Game Builder (which I'm considering converting to mainly because of the visual feedback). It would be great if some blitzers could combine forces and make something similar to that. Coding GUI's/menu locations/tile locations/events/animation, you name it is a pain in the arse sometimes that doesn't neccessarily have to be the grunt work that it already is.

Imagine an all in one package that is visually orientated with this framework + iglass + swifts sprite system + fishEd. Wouldn't that be sweet.


Cruis.In(Posted 2006) [#74]
I like your idea, but do you have more documentation as to what you can do with it and how?


Grey Alien(Posted 2006) [#75]
WarpZone: Sorry you've had difficulties. Of course when you know what to modify things are simple and just a number or one line will make a big difference.

The other important thing to remember is due to inheritance, if you see a variable (or method call) in and extended type, like Header, and you can't see it declared as a field/method, this means that it is a field/method in the base-type.

So for TTitlescreen, you can't see what Header is, so you go straight to TScreen (the base-type) in the main CommonTypes file and can see Header declared and how it's loaded and drawn. You can also see that Header is a TSprite and so if you look up TSprite you can see it has X and Y coords etc. Obviously you can set these to position the header, or in fact move it around and because it's a TSprite you can scale and rotate it too! Header is part of TScreen because it's usefull to nearly all screens - most screens need a header. And if you had to load and draw it manually each time it would be a pain. Furthermore if you wanted to move it round and started adding HeaderX and HeaderY fields to your screen this would be redundant when you could add this sort of functionality to the base-type for code reuse (which I did).

As for DrawWelcome(), I made it a method because I wasn't sure how large it was going to be. It's useful not to have a Draw() or Logic() function that is cluttered with tons of lines of code, better to have several one-line method calls, and each method call contains several lines. Then you can see at a glance what the draw method does (in overview) and you only have to look at the detailed code in the methods if you need to. Believe me, after years of coding, having concise methods that call other methods like this is much more preferable (I don't always do it though, slap my wrists).

Also, with DrawWelcome(), a quick search using the IDE search facility would have found where it was declared. But logic dictates that it's either a) a method of the Title Screen, b) a method of the base type or c) a function stored elsewhere. Now, I try to avoid c) where possible (as this is the hardest to find) so it's either a) or b) and it's easy enough to search for the method in the current type first In fact DrawWelcome() declared was ONLY 5 LINES BELOW where it was called, so it was totally obvious imho. I try to bunch the draw methods together in types, and logic methods together.

I appreciate you would like to see all the drawing in one place with no calls to base-class methods/fields or to methods in the same type, and I used to program like this too, but as your projects get larger, this approach becomes unmanageable. The BMax IDE is good as it shows all the methods in the pane on the right so if you are looking at TTitleScreen you can see it has a DrawWelcome method. Using the IDE and find tools well really helps with big projects. For 10 years I worked on a >300,000 line piece of Client/Server SQL powered Delphi software and the early bits of it were not well structured but overtime it got much better and using the IDEs tools to find stuff was pretty important. Of course I don't know your skill level and experience so please forgive me if I have said stuff you already know :-)

Anyway, I agree that a simpler demo is now required (and that stuff like SpecialLoad() are confusing (this was added so the title screen data can be loaded by the LoadingScreen)) and I'll try to make one soon (maybe when I finish my current game). Also if you make a small demo you are willing to contribute as you said, then that would be really great. Thanks for your support and kind words, I'm sure that over time you'll see why I did it in the way I did - although everyone programs in different ways of course...however, I'd like to think that lots of people can learn something from my code as I am reasonably experienced ;-)

*****
Hi Cruis.In, thanks for your interest. I only have this www.greyaliengames.com/framework/faq.html which describes all the features in detail and my AOTMG demo to show what can be done with it. Also you can now download Gellyware's Suduko Maya Gold which uses the framework from here:

www.gellyware.com/files/06001-SudokuMayaGold/setup.exe


Alienforce(Posted 2006) [#76]
Link to "www.gellyware.com/files/06001-SudokuMaya/setup.exe" dont work.


Murilo(Posted 2006) [#77]
Grey just missed off the "gold" portion of the URL:

http://www.gellyware.com/files/06001-SudokuMayaGold/setup.exe


gellyware(Posted 2006) [#78]
Had to change the link. Bobb Ball has the right one.


gellyware(Posted 2006) [#79]
Had to change the link. Bobb Ball has the right one.


gellyware(Posted 2006) [#80]
Hm. Didn't mean to post this three times!

Anyway, in regards to the specialLoad, I took it out of Sudoku Maya Gold altogether. I didn't use the welcome or the copyright part or the header functionality. These are the types of things that you don't have to include and I guess the reason that the framework is confusing at first is because the demo includes this to show you what you can do.... but you don't have to do it!

A watered down, barebones example would definately help the beginner.


Grey Alien(Posted 2006) [#81]
oops, sorry about the link. Fixed it.

and yeah, you don't have to use stuff but I did in the demo to show how it works of course. I'll see about a barebones demo for V1.01 (to be released soon...) and an upgrade to the getting started guide.


Blitzplotter(Posted 2006) [#82]
I'm still making progress thanks to your framework grey, summer hols somewhat slowing progress, but it's still a damn sight faster than it would have been without your framework (i.e. potentially consigned to the 'too much effort' bin).

Regards,


Grey Alien(Posted 2006) [#83]
yeah this frameowrk was nearly consigned to the too much effort bin, lol!


Blitzplotter(Posted 2006) [#84]
My BMax app has now surpassed the previous version (developed in Blitz3D) by a giant step, and a damn sight mor stable to boot.

The only problem I now have is limiting the amount of 'new' functionality I want to shoe horn in. Beats the hell out of trying to fathom how to go about a certain Goal.

I do agree with Gellyware on his point about 'ignoring the other functionality' when first trying to absorb how to use the framework. But, if you want to learn something you have to do it piecemeal - it is impossible to absorb such a powerful Game framework (which inevitably leads to a small degree of complexity) in one sitting.

Due respect to BMax and your framework.


Grey Alien(Posted 2006) [#85]
Thanks BP, really glad it's working out for you. Sales keep coming in and I keep on getting positive feedback which is great. Soon I'll be releasing V1.01 with a basic particle effects engine and some other stuff including more basic examples.


Grey Alien(Posted 2006) [#86]
***No Support for one week***

I just thought I'd better let you know that I am going away for a week on Holiday from Saturday 20th August to the following Saturday, and thus I won't be able to answer any support queries during this period. Thanks for you patience - service will return to normal upon my return. Wish me good weather in Cornwall! ;-)

Also if you want to buy the framework, please go ahead, but I won't be able to deliver it until Sat 27th of August. Thanks.


Grey Alien(Posted 2006) [#87]
OK I'm back now. Holiday was nice and relaxing, weather was variable, kids were nuts, beach and rockpools were cool.


QuickSilva(Posted 2006) [#88]
Hey, welcome back. Glad you had a good time! It`s been a little quiet around these parts without you.

Jason.


Grey Alien(Posted 2006) [#89]
haha, yeah you all missed my zillion posts per day I'll bet. Anyway I need to post less and do more work from now on ... ;-)


Steve Elliott(Posted 2006) [#90]
Oh you went on holiday? I thought my Grey Alien Ad Blocker was working. ;-)


Grey Alien(Posted 2006) [#91]
pah! Well you've got to give me credit for trying ;-)


Steve Elliott(Posted 2006) [#92]
:-D


Barnabius(Posted 2006) [#93]
Stop that useless chatter. You promised us the new fabulous MakeMyGame() function after holidays! So, get back to work!

Welcome back. Good to know you had good time. :)

Barney


Grey Alien(Posted 2006) [#94]
thanks, yeah about that function...
anyway, I DO plan to release V1.01 soon with a basic particle engine and some other cool stuff too.


RetroRusty(Posted 2006) [#95]
@Grey:

Is there any chance you could reply to my email? I would really like to buy your framework but would like you to answer my questions.

Thanks


Russ.


Grey Alien(Posted 2006) [#96]
@Enigma. Hi, I haven't got your email. Can you send it again to the email address in my profile please. I always reply so yours must have gone missing. Thanks :-) Failing that, post in this thread.


RetroRusty(Posted 2006) [#97]
@Grey:

I just sent it again.

Thanks


Grey Alien(Posted 2006) [#98]
Enigma: still haven't got it. I've emailed you to the address in your profile so you can send me a reply on that address, OK? Sorry for the problems.


RetroRusty(Posted 2006) [#99]
@Grey:

I have replied to your email, did you get it?

Thanks


Grey Alien(Posted 2006) [#100]
yep I got it, thanks very much. I'll have to reply tomorrow now as it's late on Sunday night.


Grey Alien(Posted 2006) [#101]
I don't wanna steal Gellyware's thunder but he has released his Suduku Maya game today exclusively on Real Arcade! woo :-D It was made with the grey alien framework (+lots of skill and hard work from him of course). Hopefully we'll see many more pro games made with the framework released soon. Mine will be out in a couple of weeks too...


Smurftra(Posted 2006) [#102]
and mine should enter private beta testing within weeks


Grey Alien(Posted 2006) [#103]
wooo, nice one, look forward to seeing it! (need a beta tester?)


Kanati(Posted 2006) [#104]
this framework... I've seen similar before that are better suited for different types of games/apps... Is this one more suited to puzzlers, shoot-em-ups, etc or is it pretty much universal?


Grey Alien(Posted 2006) [#105]
Kanati: The idea is that it's universal. It is designed to wrap whatever game you decide to make in a professional package. Having said that, puzzlers would be easy to make without any additions, apps may not be suited as it's not a Max-GUI app, although you can use my game-based GUI stuff. Shoot-em ups could be made easily enough with the sprites etc and with the addition of Splines. Scrolling games and platform games would need an appropriate engine coding. 3D games would need the 3D code plugged into it etc. Hope this clarifies a little bit. I really need more examples than AOTMG (a space invaders stype shooter) to show it off. Well there is Gellyware's Sudoku Maya Gold game (on Real Arcade) and my forthcoming match-3 game. I also plan to make a platformer in it soonish and perhaps even turn AOTMG into a proper game (as in more game variety and purpose).


SillyPutty(Posted 2006) [#106]
ok, I placed and order :)

is it possible to send it now ? I am itching :)


SpaceAce(Posted 2006) [#107]
Since I saw a lot of review(ish) posts in here, I decided to add my thoughts as a user of Grey Alien's framework.

The good
First of all, I think by far the best thing about the framework is the way it wraps some of the annoying minutiae inherent in game development. Specifically, it makes adding and properly applying music a breeze. Also, the built-in menu functions take a real load off when building an interface. It's nice to be able to just Super.Logic() away things like mouseover effects and button click sounds.

The organization of the framework was very hard for me to get used to. Pretty much everything about the structure used by Grey Alien's framework is different from my own style of organization. However, once I figured it out, I found that I liked it. The framework structure makes it easy to keep your logic and drawing seperate without much effort. One step back from that, the framework makes it easy to organize your program by treating each piece as a "Screen", which was a bit foreign to my experience but which, in the end, I think is a great way to approach game development.

I also like the built-in sprite functions. It's a snap to make things spin and zoom around.

The less good
I don't find the code to be nearly as "heavily commented" as claimed. 90% of the commenting seems to be version updates: "v 0.8.1 - Added BlahWhatever() function". I think the documentation in general is very lacking. The sample program is nice but it seems to assume you already understand the organizational structure used by the framework. Personally, I did not understand it at all when I first started to use Grey Alien's framework and it was a big hurdle to overcome; I found myself following the tedious process of deleting lines one at a time to figure out what the hell they did.

I really don't like how a lot of the functions make assumptions about what I want. When you add a menu item, it is centered whether you like it or not (as far as I can tell). Yes, you can change that later, but why should you have to? it is not hard to add an option to the function parameters or add a Game.MenuOrientation flag that can be set by the user. Instead, I have to execute a findbutton and then set the the new values. I bump into that sort of thing a lot in the framework. Another example is the hardcoded "MO" for mouseover states. It's not a big deal, but why hardcode any string into the functions? Again, prefix and suffix function parameters or TMenu fields that could be set would do the trick.

Another small issue is that some functions I would expect to find just don't exist. Grey Alien included a nice "AddPair()" method for menu building and has a "SetPairX()" function, but no "SetPairY()". Yes, the AddXXX() functions automatically y-position buttons relative to each other, but that's no reason not to have a function that lets me override the y axis just like I can do for x.

Conclusion
I found a lot of small annoyances when experimenting with the framework, but they are only small annoyances. It is also possible that some of the annoyances stem from my lack of experience with the framework, but I am sure that is not the case for all of them. The framework's functionality seems to be everything that it is claimed to be. I think Grey Alien's game framework is definitely suitable for commercial games as well as hobby projects but I think it could use some internal reworking to make it more comfortable and flexible from a development standpoint.

SpaceAce


Blitzplotter(Posted 2006) [#108]
This morning after an initial head scratch as to how far my app had progressed, managed to get my four separate apps all communicating, passing vars and running sweetly together.

In the main, I have used Grey's framework to provide a stable, professional looking menu driven product. The majority of my app is somewhat 'menu/gooey' driven - and due to this I have benefited immensely form the framework.

Yes, it does take a little time to get your head around some things, but in the main I've found the framework a fantastic jumping off point. I'm not even sure I would have purchased BMax had it not been for Grey's framework.

I fear that without Grey's framework my project may have stagnated (I gave up developing it in B3D - I couldn't optimise it as much as I would have liked. Probably due to my inexperience - but time is money ...)

Do you think you'll ever release a B3D framework Grey ?


Regards,


Grey Alien(Posted 2006) [#109]
Deux: Sorry, I was away for 3 days. It's been sent now.

SpaceAce: Many thanks for your feedback. I'm glad that you have found it good and useful and I accept what you have said about the minor niggles. Initially this framework was just for me, so I wrote the functionality that I needed instead of making everything (like the menu stuff) ultra-flexible (although there is always a way to get it how you want of course). Then eventually I realised that other people would also find it useful as a good starting point in BMax and thus started selling it - and it has proved very popular. As a result of the way I developed it (cramming in the stuff that I need as I go along) there may be minor things that people would like to see that seem obvious, but they are not there as I haven't sat down and exhaustively analysed and planned each type - and I'm sorry about that. Anyway, I hope you've found that the positives far outweigh the niggles. I aim to improve the getting started document (and make simpler examples) soon as well, which will help new users. Once again thanks for your feedback.

Blitzplotter: Really glad it's proving such a boon for you. Sorry but I'm not doing a B3d version as I don't own it :-(


SillyPutty(Posted 2006) [#110]
Hopefully I can get this today.


Grey Alien(Posted 2006) [#111]
like they say at Burger King: "You got it!"


SillyPutty(Posted 2006) [#112]
Thanks a lot, I am really impressed by the work you put into it, well done :)

You going to be adding more to it ?


Grey Alien(Posted 2006) [#113]
(tu) Deux: You are welcome, glad you got it in the end. Yeah I plan to add several things as I continue using it. Lots of minor improvements + bitmap font support, a platform game engine, Mac support etc. No promises, but watch this space...


SillyPutty(Posted 2006) [#114]
sounds good :) At the moment it has everything I could want.


Grey Alien(Posted 2006) [#115]
At the moment it has everything I could want.
goovy :-) Now you have no excuse not to make a game, I look forward to seeing it soon.


SillyPutty(Posted 2006) [#116]
Well, I abandoned a game recently which was actually shaping up to be something pretty decent. So now I can give it a bash again within your framework.

Will definately let you know how it goes.


Cruis.In(Posted 2006) [#117]
grey alien I am interested in your framework, however some questions,

do you have a working zoom in/out function to zoom a 2d top down view like in a space game?

also ive written about 2500 lines of code so far, and have all my types, drawing and other stuff in my own framework already, timing, etc etc, its missing certain things i see in your feature list, but im not really that sure what im getting and how easy it is to use...

like ive tried converting and plug in code before, some were better than others and were easy there fore to place in my code with little effort, others were a mess...

sell me.


Blitzplotter(Posted 2006) [#118]
Just about to go down the path of TGameScreen conversion/development of a Breakout clone.... Will let you know how I fair.

Regards,


Grey Alien(Posted 2006) [#119]
Deux & Blitzplotter: cool, stick at it guys - it would be nice to see how you get on.

Cruis.In: btw, this thread is old and so is the demo (no particle effects), the latest thread/demo is here:

http://www.blitzbasic.com/Community/posts.php?topic=62953

Anyway, as for the 2D zoom in function, I don't have a specific bit of code that does it to the whole screen (which you would't want anyway as the HUD should not change size for example). But all the sprites have a scale parameter so it would be easy enough to set that accordingly before drawing and then when they are drawn it will be applied automatically. In my AOTMG demo you can see I zoomed in and out on the map screen for a neat effect.

As for plugging your code into mine, this should be OK because you can paste your logic code into my wrapper function and the drawing code into my drawing wrapper functions. As for timing, well I already have a certain method that depends on a global variable called Delta, so whenever you move something or alter a timer it must be multiplied by Delta - you should be able to convert you code easily enough. You can still use you existing types, but you may find it easier to convert over to some of mine.

My framework can either be used as a whole thing that you plug into or you can just rip the bits out of it that you want and use those. You're bound to find some useful stuff in there and maybe learn some new techniques too.

I'm also in the process of making some *simpler* examples because the AOTMG source code is quite big now and some people have asked for a simpler example to help the understand the structure more. There is also a getting started doc that discusses my TScreen Type and how the game is structured. I can help debug/write your game but if you need help to understand how the framework is structured/works then you can email me for support. My customers seem to rate my support highly so I'm sure you'll get on fine.

Any more questions please ask. Perhaps use the other thread if possible? Thanks.